You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the Big Question that we talked about a lot in class; I just want a centralized place for this discussion. Some initial thoughts:
We probably want our own linked list, if we're using linked lists. Probably regardless we need our own implementation, both for no_std purposes and to allow the hack of writing pointers into unallocated pages.
If we want to avoid dynamic dispatch, we need to avoid having a big collection of different kinds of DataSources. I'm not sure that's possible in a monolithic kernel, unless we want applications to deal with multiple AddressSpaces, one for each DataSource they rely on. That seems painful.
VecDeque (which is a circular buffer, i.e. the kind of datastructure used in log-structured file systems) might be better than LinkedList. Certainly it's a more rust-y data structure, and I think the standard library's implementation is generally considered to be much more efficient. There are possibly other data structures we could find in the ecosystem or roll ourselves that would be even more suited to the task.
The text was updated successfully, but these errors were encountered:
This is the Big Question that we talked about a lot in class; I just want a centralized place for this discussion. Some initial thoughts:
no_std
purposes and to allow the hack of writing pointers into unallocated pages.DataSource
s. I'm not sure that's possible in a monolithic kernel, unless we want applications to deal with multipleAddressSpace
s, one for eachDataSource
they rely on. That seems painful.VecDeque
(which is a circular buffer, i.e. the kind of datastructure used in log-structured file systems) might be better thanLinkedList
. Certainly it's a more rust-y data structure, and I think the standard library's implementation is generally considered to be much more efficient. There are possibly other data structures we could find in the ecosystem or roll ourselves that would be even more suited to the task.The text was updated successfully, but these errors were encountered: