Operating System | CS | Course

Brief Information



  • Structure
  • Implementing the file system
  • Secondary storage
  • Process concept
  • Process scheduling
  • Clone system call for the thread creation in Linux
  • Synchronization
  • Memory management
  • Virtual memory management
  • I/O systems

1. Introduction | 2016-03-03 Thu.

  • Introduction
  • Lecture note #1: Introduction. p.1~12
  • Only 4 things will be covered in this course: process management, memory management, file management, and disk.
  • File management will not be in the exams in this course.
Lecture note #1: Introduction
  • Operating system goals
  • Operating system definition
  • What is the kernel?

2. 2016-03-08 Tue.

  • Lecture note #1: Introduction. p.12~21
  • Lecture note #2: Structure. p.1~7
Lecture note #1: Introduction

Operating system roles: user view

  • For ease of use
  • Operating system roles: system view
    • A resource allocator
    • A control program
  • Dual mode operation
    • Dual mode: User mode, kernel mode
    • Mode-bit: an indicator of the dual mode
  • Event
    • Exception: internal events generated by the execution of processor.
    • Interrupt: external events generated by external hardware devices.
Lecture note #2: Operating System Structures (~p.7)
  • CLI vs GUI
    • CLI: Command Line Interface
    • GUI: Graphical User Interface
  • It is convenient to maintain programs that are made up by system programs.
  • System call: Programming interface to the services that OSes provide
  • API(Application Programming Interface): A set of functions that are available to application programmers
  • Why use APIs rather than system calls?
    • Compatibility: If an API is provided in different OSs, you don’t need to change source codes to use in the OSs.
    • Information hiding: No need to know the system level knowledge.

3. 2016-03-10 Thu.

Lecture note #2: Operating System Structures (p.8~26)
  • System call implementation
    • ENTRY
    • sys_call_table
    • system call numbers
  • System call parameter passing
    • Method 1: pass the parameters into registers
    • Method 2: pass the parameters into a block. Use the parameters by the memory address. (Not exact.)
    • Method 3: pass the parameters into the stack. Popping off the parameters as they are needed. (Not exact.)
  • Monolithic structure
  • Layered structure
  • Microkernel: a kernel that has only essential components.
    • (+) Easier to extend a microkernel.
    • (-) Performance overhead of user space to kernel space communication.
  • Microkernel architecture

3. 2016-03-15 Tue.

Lecture note #2: Operating System Structures (p.25~)
  • Microkernel architecture
    • Benefits (+)
    • Detriments (-)
  • Module
    • Kernel modules
    • Object-oriented approach
  • Virtual machine
    • VMware Virtual Machine
    • The Java Virtual Machine
  • System boot
    • Bootstrap program: a boot loader. BIOS.
    • Two-step booting process
      1. The bootstrap program runs diagnostics to determine the state of a machine.
      2. The bootstrap program loads boot block at fixed boot block at fixed location (block no. 0)
      3. The bootstrap program executes code of the boot block.
      4. The boot block loads the entire operating system into memory and execute it.
    • LILO(LInux LOader): a generic boot loader for Linux.
Lecture note #3: Implementing File Systems(~p.3)
  • Disk: a physical device that stores files.
  • Block: the unit of a bulk of bytes transferred between disk and memory.
  • Sector: the physical unit of a disk.
  • File-System Structure

Leave a Reply

Your email address will not be published. Required fields are marked *