1. Definition:

  • Software that manages the computer hardware, as well as providing an environment for application programs to run
    • resource allocator of CPU time, memory,…
    • Control program for I/O devices
  • Includes Kernel and system programs
  • Interuption
  • To prevent user programs from interfering with the proper operation of the system, the system hardware has two modes: user mode and kernel mode.
  • Various instructions are privileged and can be executed only in kernel mode
    • Examples include the instruction to switch to kernel mode, I/O control, timer management,and interrupt management.
  • Storage space is managed by the operating system; this includes providing file systems for representing files and directories and managing space on mass-storage devices.
  • Operating systems provide mechanisms for protecting and securing the operating system and users. Protection measures control the access of processes or users to the resources made available by the computer system.
  • Data structures that are used in an operating system include lists, stacks, queues, trees, and maps.

2. Operating System structures:

  • Operating-System Services:
  • User Interface: GUI, CLI, Touch-screen interface
  • System calls: API for programs (win32 API, POSIX API, Java API)
  • System services
  • Linker and Loader
  • Operating-System design and implementation:
    • User goal vs system goal
    • Policy from mechanism
    • Implementation

3. OS Process and Thread

Deadlock

Memory and Memory-management Unit