Introduction To OS

Introduction To OS

OS - Ch 1,2

Reference : Operating Systems: Three Easy Pieces, Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau

Introduction To OS

  • OS provides system calls that allow application programs request to use.
    • OS privdes the calss for program execution, memory access, etc
    • Hence also be referred as providing a “standard library”
  • Virtualization allows many programs to share a CPU, and to be executed concurrently.
    • Each program can access to its resourse and instructions.
    • Hence called as a “resource manager”

Virtualization

CPU

  • Logical transformation of a/few CPU/s into a number of it to run many programs concurrently.

Memory

  • Physical memory is an array of byte which has address.
  • Do not forget the insturctions are stored within its memory.
  • Run the same program concurrently
    • It will have the same memory allocation (002000000 in the given example)[^1]
      • Each process has its own virtual address space
      • The actual memory address (physical) is different.

[^1]: Make sure address-space randomization is diabled -> enabled for security reason regarding stack-smashing attacks.

Concurrency

  • It becomes an issue because
    • CPU executes one insturction at a time. Hence, insturctions are not atomic.

Persistence

  • Device like DRAM saves data in volatile^2
    • Disconnection or crash result with data loss.
  • OS software manages disk : file system.
    • Unlike CPU or memory, OS does not do virtualization on disk, but rather assume users may want to share file info.
    • For performance, most File System delays writes, and batch them (try) into larger groups.
    • For persistence, most file system incorporate intricate write protocol such as journaling, or copy-on-write.

Design Goals

  1. Define Abstractaions to ease the usage of computer system
    • Abstraction allows:
      • Able to write codes in C (higher lang) even if you do not know Assembly.
      • Able to write assembly without considering logic gates.
      • Able to write processes without having knowledge in transisters.
  2. Minimize the overhead (performance)
    • Having virtualization and easy-to-use system is meaningful but not necessary.
  3. Safety between OS and Application programs.
    • OS needs to ensure the execution of a program does not negatively influence the others
    • Safety is a key concept of Isolation principle.
  4. Provides high level reliability
    • OS fails, all the applications bulit on fail.
  5. Energy-efficiency, security, mobility and so on…
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×