Advertisement
Guest User

Xinu Ch1-5 Notes

a guest
Feb 19th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. Ch1
  2. the term kernel
  3. to refer to the code that remains resident in memory and provides key services such as
  4. support for concurrent processes.
  5. Throughout the text, we will assume the term operating system refers to the kernel, and does not include all additional facilities. (loaders, linkers ...)
  6.  
  7. Ch2
  8. process creation functions: create , resume return to the caller immediately
  9. after starting a new process
  10. #include <kernel.h> should be the first include
  11. used polled I/O (kprintf) in debugging
  12.  
  13. Ch3
  14. referencing and unassigned address causes the hardware to raise an exception
  15. (bus exception)
  16. #3.9 is important
  17. #top of stack is higher address
  18. #exception == Trap , related to the instruction ( instruction can be restarted)
  19. # interrupted has nothing to do with the current instruction
  20.  
  21. Ch4
  22. initialization of the data structure is final step in design
  23. ( since initialization is the transient state)
  24. so first desin the data structures when the system is runnign,
  25. and then figure out how to initialize the data structures, so as
  26. not to sacrifice good design for easy initialization
  27.  
  28. key for head node is MAXKEY, and key for tail is MINKEY
  29. (3ashan priority el head tb2a akbar 7aga momkena,
  30. we priority el tail tb2a el minimum) ( if the list is used a
  31. priority queue)
  32.  
  33. Ch5
  34. proctab implementation : when a process terminates, its process id will be reused
  35. however the implementation tries to maximize the time between the reuse of an ID.
  36.  
  37. # mostly, process priorities remain static
  38.  
  39. # in xinu, the current process is not in the ready list,
  40. to provide fast access its ID is present in currpid
  41.  
  42. #before calling resched, the current process's state must be changed to
  43. the desired next state
  44.  
  45. ctxsw : context switch
  46.  
  47. #(5.12) at least one process must be ready at all times or else resched function will fail
  48. becuz code is designed to assume at least one process will be eligible to execute
  49. at any time. ( that's why there is a NULL PROCESS, will be switched to when
  50. all other processes are blocked or waiting for IO)
  51.  
  52.  
  53. Ch6 :
  54. lessa ma2aretsh
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement