- 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
- Lab1:Bootloader/Interrupt/Device Driver
-
- Lab2: Physical Memory Management
- Understanding x86 segmentation / paging mode, to understand how the operating system manages the physical memory space of continuous
- Lab2: Physical Memory Management
-
- Lab3: Virtual Memory Management
- Understand the mechanisms and swapped out page table (swap) mechanism
- Outages, a page fault processing, memory page replacement algorithm based
- Lab3: Virtual Memory Management
-
- 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
- Lab4: kernel thread management
-
- 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
- Lab5: User Process Management
-
- Lab6: the process of scheduling
- Understand the operating system and scheduling process scheduling algorithm
- Lab6: the process of scheduling
-
- 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
- Lab7: synchronization mutex
- 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