Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
20 Cards in this Set
- Front
- Back
5 major activities of an operating system regards to process management are: |
1. the creation and deletion of both user and system processes 2. the suspension and resumption of processes 3. provision of mechanisms for process synchronization 4. provision of mechanisms for process communication 5. provision of mechanisms for deadlock handling |
|
3 major activities of an operating system in regards to memory management |
1. keep track which part of memory is currently being used by whom 2. decide which processes are to be loaded into memory when space becomes available 3. allocate and deallocate memory space as needed |
|
what is memory management |
1. the functionality of an operating system which handles or manages primary memory and moved processes back and forth between main memory and disk during execution 2. keeps track of every memory location regardless of whether is occupied or free 3. checks how much memory to allocate to a process 4. decides which process will get memory at what time 5. tracks whenever some memory becomes free and updates the status |
|
what is DRAM? |
dynamic random access memory. stores each bit of data in a separate capacitor within an integrated circuit. capacitor either charged or discharged. 0 or 1. but the charge will slowly leak so it has to be recharged. because of this recharge requirement it is DRAM as opposed to SRAM |
|
what is the primary goal of memory management? |
to provide efficient methods of allocating memory to programs and deallocating it for reuse when no longer needed |
|
how do we accomplish memory management? |
1. utilize memory hierarchy - small amounts of fast, expensive memory - Some medium speed MED price - lots of slow cheap non volatile disk storage 2. memory manager handles memory hierarchy - allocated scarce resource amount competing requests to maximize utilization and system throughput - offers conveiniet abstraction for programming -provides isolation between processes |
|
what is memory abstraction |
HW and OS memory manager give the user the illusion that memory is a single contiguous entity |
|
to allow several programs to co-exist in memory we need |
1. protection 2. relocation 3. sharing 4. logical organization 5. physical organization |
|
Define address space |
set of address that a process can use to address memory |
|
what is protection ? |
1. processes need to aquire permission to reference memory locations for reading or writing purposes 2. memory references generated by a process must be checked at run time |
|
Define relocation |
1. active processes need to be able to be swapped in and out of main memory in order to maximize processor utilization 2. if it needs to be swapped to the same place it would be limiting that's why we need to have relocation |
|
Sharing |
advantageous to allow each process to the same copy of the program rather than have their own separate copies - memory management must allow controlled access to share areas of memory withoutbcompromising protection |
|
Logical Organization |
program = code +data =modules The modules must be organized in that logical address space |
|
Physical Organization |
manage the different modules to give illusion of the logical organization |
|
Define address space |
the amount of memory allocated for all possible available for a process or physical computational entity |
|
Operating system takes care of mapping the logical addresses to physical addresses |
at the time of memory allocation to the program. there are 3 types of addresses used in a program before and after memory is allocated |
|
the 3 types of addresses before logical address is mapped to physical address |
1. Symbolic address - used in a source code. variable names, constants, and instruction labels are the basic elements of the symbolic address space 2. relative address- at the time of compilation, a compiler converts symbolic addresses to relative addresses 3. physical address - the loader generates these addresses at the time when a program is loaded into main memory |
|
main memory has 2 partitions |
1. low memory - OS is here 2. high memory - user process is here |
|
Define external fragmentation |
the type where memory is fragmented |
|
Define internal fragmentation |
the type where the memory is bigger than process so some is left unused which can't be used by other processes |