GoConqr has a new look! Let us know what you think.

Mind map

OS - software that manages the computer's resources

Adriana Ixba English

Map content

OS - software that manages the computer's resources

  1. Concurrency & synchronization

    • Concurrency/multiprogramming - having a process run on the CPU while one or more are doing I/O
  2. 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
    • 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
      • 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
        • 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
      • 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
  3. Memory management

  4. File Systems: use and implementation

  5. Networked systems

  6. Parallel and distributed computing

  7. 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

Feedback

What is it about?

What do you think of the new look?

How do you like it?