Synchronization Memory Management Operating Systems Synchronization Memory Management 1) These notes are © Aiman Hanna. All copyrights reserved. For more information please e-mail to: Contact@AimanHanna.com. 2) These notes are also based on: Operating Systems, 3rd edition by Garry Nutts, published by Addison Wesley, ISBN-10: 0201773449 | ISBN-13: 9780201773446 . These notes still totally enforce all copyrights for Nutts/ Addison Wesley. For more information on these rights, please refer to the original publication of the book. 3) VERY IMPORTANT: These notes are neither complete nor sufficient to study for the course. They are merely given so that you can follow the covered subjects. You should NEVER depend solely on these notes for your study. Any use of these notes that results in violation of any of the copyrights indicated above is strictly prohibited. © Dr. Aiman Hanna Department of Computer Science Concordia University Montreal, Canada Data Communications & Computer Networking, by: Aiman Hanna
Synchronization Issues Solutions of synchronization problems should consider: Mutual Exclusion Good progress/no starvation Deadlock-free
The Two-task Solution Solutions to synchronization problems between two, and only two, processes Different solutions were discusses, which illustrated how solutions may, or may not achieve: Mutual Exclusion Good Progress/no starvation Deadlock-free
Memory Management Different kinds of memory have different speed, capacity and price Executables must be loaded in main for CPU to process them Hence, limitation of main memory represent a great concern
Address Binding Static address binding Utilize loader to bind addresses Serious problems with this approach
Address Space What is it? Relation between address space and main memory
Structure of Memory layout of Processes Different segments of a process What happens when the process require dynamic allocation of extra memory
Memory Allocation Fixed-partition memory allocation Internal fragmentation problem Variable-partition memory allocation External fragmentation problems
Compaction Compaction can be used to reduce external fragmentation, however What about address binding when compaction occurs The need of a better way to bind addresses
Dynamic Address Binding Dynamic address relocation through the use of the virtual addresses idea
Large Processes How large-size processes can run on small main memories Possible breakage of process into segments and the use of swapping
Where is this week coverage in the textbook? The two task solution is to be retrieved from the website Chapter 11: Section 11.1 to 11.4, with the following exceptions: Skip: Figures 11.7, 11.8, 11.9 & 11.10 (page 423 to 426) Note: Figure 11.16 (page 435) and its discussion will be covered in week 8