[OS] courses on operating system (c)

  • tool
    • Source Reading: understand
    • Automatically generates source code documentation tools: Doxygen
    • Compiler environment: gcc
    • Operating environment: x86 machine or QEMU
    • Debugging tools: QEMU + (GDB or IDE)
    • IDE: Eclipse CDT
  • Design ideas
    • Peripherals: IO Management / interrupt management
    • Memory: virtual memory management / page table / page fault processing / page replacement algorithm
    • CPU: Process management / scheduling algorithms
    • Concurrency: mutual exclusion semaphores to synchronize applications
    • Storage: file system based on the list / FAT's
  • Experimental content (corresponding to the number of lines of source)
    • 1 OS start, interrupt and device management: 0200 to 1800
    • 2 physical memory manager: 1800 to 2500
    • 3 Virtual Memory Management: 2500 to 3200
    • 4 kernel thread management: 3200 to 3600
    • 5 user process management: 3600 - 4300
    • Processor Scheduling 6: 4300 - 5100
    • 7 synchronous mutex: 5100 ~ 6400
    • 8 file system: 6400 to 9999

 

  •  Content Experiments
    • Lab1:Bootloader/Interrupt/Device Driver
      • Bootloader starts the operating system
      • The state before the operating system starts and do the preparatory work
      • Running the operating system hardware support
      • How the operating system is loaded into memory
      • Two types of interrupts: peripheral interrupt, the interrupt trap

    • Lab2: Physical Memory Management
      • Understanding x86 segmentation / paging mode, to understand how the operating system manages the physical memory space of continuous

 

    • Lab3: Virtual Memory Management
      • Understand the mechanisms and swapped out page table (swap) mechanism
      • Outages, a page fault processing, memory page replacement algorithm based

 

    •  Lab4: kernel thread management
      • How to use the CPU efficiently complete the work
      • Creating relatively user process simpler kernel mode thread
      • Dynamic management of kernel threads

 

    •  Lab5: User Process Management
      • User mode process to create, execute, switching and dynamic management process end
      • User mode kernel service calls to get through the system kernel-mode process

 

    •  Lab6: the process of scheduling
      • Understand the operating system and scheduling process scheduling algorithm

 

    • Lab7: synchronization mutex
      • How interprocess exchange and sharing of information
      • Specific synchronization and mutual exclusion of the impact on system performance
      • The reason Deadlock, how to avoid
      • Philosopher food problem

  

  •  Lab8: File System
    • The specific implementation of the file system, the relationship between process management
    • Cache performance of the operating system IO access improvements
    • Virtual File System (VFS)
    • The relationship between the buffer cache and disk driver

  

reference

Laboratory building

https://www.shiyanlou.com/courses/221/learning/?id=709

Guess you like

Origin www.cnblogs.com/cxc1357/p/12347709.html