Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ch1
- the term kernel
- to refer to the code that remains resident in memory and provides key services such as
- support for concurrent processes.
- Throughout the text, we will assume the term operating system refers to the kernel, and does not include all additional facilities. (loaders, linkers ...)
- Ch2
- process creation functions: create , resume return to the caller immediately
- after starting a new process
- #include <kernel.h> should be the first include
- used polled I/O (kprintf) in debugging
- Ch3
- referencing and unassigned address causes the hardware to raise an exception
- (bus exception)
- #3.9 is important
- #top of stack is higher address
- #exception == Trap , related to the instruction ( instruction can be restarted)
- # interrupted has nothing to do with the current instruction
- Ch4
- initialization of the data structure is final step in design
- ( since initialization is the transient state)
- so first desin the data structures when the system is runnign,
- and then figure out how to initialize the data structures, so as
- not to sacrifice good design for easy initialization
- key for head node is MAXKEY, and key for tail is MINKEY
- (3ashan priority el head tb2a akbar 7aga momkena,
- we priority el tail tb2a el minimum) ( if the list is used a
- priority queue)
- Ch5
- proctab implementation : when a process terminates, its process id will be reused
- however the implementation tries to maximize the time between the reuse of an ID.
- # mostly, process priorities remain static
- # in xinu, the current process is not in the ready list,
- to provide fast access its ID is present in currpid
- #before calling resched, the current process's state must be changed to
- the desired next state
- ctxsw : context switch
- #(5.12) at least one process must be ready at all times or else resched function will fail
- becuz code is designed to assume at least one process will be eligible to execute
- at any time. ( that's why there is a NULL PROCESS, will be switched to when
- all other processes are blocked or waiting for IO)
- Ch6 :
- lessa ma2aretsh
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement