Rev 98 | Rev 105 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 98 | Rev 101 | ||
|---|---|---|---|
| Line 34... | Line 34... | ||
| 34 | scheduler run queues or synchronization wait queues). Contrary to the FIFO |
34 | scheduler run queues or synchronization wait queues). Contrary to the FIFO |
| 35 | type, which is also supported by HelenOS, they don't take up any unused |
35 | type, which is also supported by HelenOS, they don't take up any unused |
| 36 | space and are more general. On the other hand, they are slower than |
36 | space and are more general. On the other hand, they are slower than |
| 37 | in-array FIFOs and can be hardly used to implement buffers.</para> |
37 | in-array FIFOs and can be hardly used to implement buffers.</para> |
| 38 | 38 | ||
| 39 | <figure> |
39 | <figure float="1"> |
| 40 | <mediaobject id="list" xreflabel=""> |
40 | <mediaobject id="list" xreflabel=""> |
| 41 | <imageobject role="pdf"> |
41 | <imageobject role="pdf"> |
| 42 | <imagedata fileref="images.vector/list.pdf" format="PDF" /> |
42 | <imagedata fileref="images.vector/list.pdf" format="PDF" /> |
| 43 | </imageobject> |
43 | </imageobject> |
| 44 | 44 | ||
| Line 74... | Line 74... | ||
| 74 | 74 | ||
| 75 | <para>FIFO queues are used, for example, in ASID management code to store |
75 | <para>FIFO queues are used, for example, in ASID management code to store |
| 76 | inactive ASIDs or in userspace keyboard driver to buffer read |
76 | inactive ASIDs or in userspace keyboard driver to buffer read |
| 77 | characters.</para> |
77 | characters.</para> |
| 78 | 78 | ||
| 79 | <figure> |
79 | <figure float="1"> |
| 80 | <mediaobject id="fifo" xreflabel=""> |
80 | <mediaobject id="fifo" xreflabel=""> |
| 81 | <imageobject role="pdf"> |
81 | <imageobject role="pdf"> |
| 82 | <imagedata fileref="images.vector/fifo.pdf" format="PDF" /> |
82 | <imagedata fileref="images.vector/fifo.pdf" format="PDF" /> |
| 83 | </imageobject> |
83 | </imageobject> |
| 84 | 84 | ||
| Line 108... | Line 108... | ||
| 108 | comparing items against a set of keys and the item removal callback |
108 | comparing items against a set of keys and the item removal callback |
| 109 | function. Besides these virtual operations, the hash table is composed of |
109 | function. Besides these virtual operations, the hash table is composed of |
| 110 | a dynamically allocated array of list heads that represent each chain, |
110 | a dynamically allocated array of list heads that represent each chain, |
| 111 | number of chains and the maximal number of keys.</para> |
111 | number of chains and the maximal number of keys.</para> |
| 112 | 112 | ||
| 113 | <figure> |
113 | <figure float="1"> |
| 114 | <mediaobject id="hash" xreflabel=""> |
114 | <mediaobject id="hash" xreflabel=""> |
| 115 | <imageobject role="pdf"> |
115 | <imageobject role="pdf"> |
| 116 | <imagedata fileref="images.vector/hash.pdf" format="PDF" /> |
116 | <imagedata fileref="images.vector/hash.pdf" format="PDF" /> |
| 117 | </imageobject> |
117 | </imageobject> |
| 118 | 118 | ||
| Line 157... | Line 157... | ||
| 157 | logaritmic search, insertion and deletion times and, thanks to the |
157 | logaritmic search, insertion and deletion times and, thanks to the |
| 158 | leaf-level list, provides fantastic means of walking the nodes containing |
158 | leaf-level list, provides fantastic means of walking the nodes containing |
| 159 | data. Moreover, B+trees can be used for easy storing, resizing and merging |
159 | data. Moreover, B+trees can be used for easy storing, resizing and merging |
| 160 | of disjunctive intervals.</para> |
160 | of disjunctive intervals.</para> |
| 161 | 161 | ||
| 162 | <figure> |
162 | <figure float="1"> |
| 163 | <mediaobject id="btree" xreflabel=""> |
163 | <mediaobject id="btree" xreflabel=""> |
| 164 | <imageobject role="pdf"> |
164 | <imageobject role="pdf"> |
| 165 | <imagedata fileref="images.vector/btree.pdf" format="PDF" /> |
165 | <imagedata fileref="images.vector/btree.pdf" format="PDF" /> |
| 166 | </imageobject> |
166 | </imageobject> |
| 167 | 167 | ||