Mind map
OS - software that manages the computer's resources
Map content
OS - software that manages the computer's resources
Concurrency & synchronization
- Concurrency/multiprogramming - having a process run on the CPU while one or more are doing I/O
Intro
- Referee (manages shared resources, protects processes from one another, allows processes to work together), illusionist (illusion of resources), glue (interface w hw - fs, vm, networks)
- Evaluations of OS
- Reliability - do what its supposed to
- Security - only permitted actions allowed
- Portability - OS can live forever, doesn't change when hw changes
- AMI - API + mem access model + executable instructions
- API - function calls to APPS
- HAL - Abstraction of hw
- Performance
- Efficiency/overhead, Fairness, response time, throughput, predictability
- History of OS
- phases
- 1) one user, one process at a time - low utilization of expensive components
- 2) batch processing, load program, run output to tape, print, repeat - no protections, computer idle during i/o, better use of hw, debugging is hard
- 3) overlap of i/o and computations, interrupts - concurrency within process
- 4) Multiprogramming - one job runs until i/o then another runs, requires mem protection and program mngmt
- 5) interactive timesharing - lets multiple users interact w the system, req: more sharing, protection, concurrency, probs: response time, thrashing
- 6) personal computing - computers are cheap now
- 7) parallel/distributed computing - increased performance and reliability, sharing of resources
- phases
- Dual mode exec - support by hw
- Why?
- to enforce restricted rights - malicious apps could: crash apps, violate privacy of other apps, hog all resources, change OS, crash OS
- hw should support:
- privileged instructions, timer interrupts, mem protection
- hw should support:
- to enforce restricted rights - malicious apps could: crash apps, violate privacy of other apps, hog all resources, change OS, crash OS
- Processes - executing program = program + execution state
- Needs: memory and CPU registers
- Process sstate - state: at least the code, PC, SP, static data, heap, HP, values of CPU reg, PID, execution state
- PCB (how OS keeps track of a processes data, PCB pointer in ready queue - dynamic kernel data structure): PC, SP, contents of gen purpose registers, mem mgmnt info (HP), usrname of owner, list of open files, PID, parent/child relationships
- Creating a process: the loader reads and interprets the executable file, sets up the processes' memory (process' data), pushes argc & argv to the stack, sets cpu registers properlly, program starts running
- process can create another process
- fork () - parents and child are exact copies
- parent - it is child process id
- child (0)
- same PC, same variables (not shared), have their own memory
- exec () - overwrtites the program (PID doesnt change)
- wait () - parent waits for child to terminate, able to get child's return value, parent is asleep, exit() returns child's return, can deallocate the zombie
- exit () - deallocates and closes files, if parent is alive, it becomes a zombie, else it gets completely deallocated
- fork () - parents and child are exact copies
- process can create another process
- zombies: process terminated but parent not collected status
- kill () - sends a signal to a specified process
- signals: user level interrupts
- Orphaned processes - parent terminates before child, sometimes children are killed
- User mode: access is restricted
- may not: address I/O directly , use instructions that manipulate OS memory (e.g., page tables) , set the mode bits that determine user or kernel mode , disable and enable interrupts, halt the machine
- causes a processor exception
- may not: address I/O directly , use instructions that manipulate OS memory (e.g., page tables) , set the mode bits that determine user or kernel mode , disable and enable interrupts, halt the machine
- Kernel: access is unrestricted
- Entering the kernel
- 1) exceptions -(synchronous) doing something silly (divisiion by 0), trying to do kernel stuff
- 2) interrupts - (asynchronous) timer, i/o
- 3) system calls/taps - (synchronous) user program needs OS things
- interface bts the application and the oS API, hw calls the OS at the sys call handler
- Deets::
- 1) Save state of user program
- hw register points to exception stack,
- 2) hw identifies why its going to kernel
- 3) hw selects entry from interrupt vector
- 4) handler is invoked
- 1) Save state of user program
- Entering the kernel
- Why?
Memory management
File Systems: use and implementation
Networked systems
Parallel and distributed computing
security
Information
- Description
- Mind Map on OS - software that manages the computer's resources, created by Adriana Ixba on 05/05/2018.
- Created by
- Adriana Ixba
- Views
- 0
- Rating