Operatng Systems Homework-1

B10515020
四資工三
葉敏宣

part 1

part 2

Chapter 0: Operating system interfaces

作業系統的工作有下列 4 項:提供比單獨由硬體所提供更有用的服務、管理底層的硬體、使多個程式在電腦上同時運行、共享資源、共同工作。
作業系統透過 interface,讓程式可以使用這些服務,而所謂的 interface 就是作業系統提供的一系列 system call。


Figure 0-1. A kernel and two user processes.

在xv6中,kernel 是一個負責提供上述服務的程式。process 需要透過 system call 來使用這些 kernel 中的服務。這樣的機制讓每一個 process 只能存取自己 memory、data。

Chapter 1: Operating system organization

一個作業系統必須要達到下列的需求:多工、隔離、互動。
在這一章中,透過 xv6 中第一個運行的 process 來說明 xv6 是如何運行、如何達到上述所說的需求。

process 讓程式可以假設自己獨佔一台電腦,擁有自己的 memory、CPU,藉此達成前段所說"隔離"的需求。
xv6 使用 page tables 讓每個 process 擁有自己的 address space,透過每個 process 的 page table 將 virtual address mapping 到 physical address。

part 3

Chapter 2: Page tables

page table 的功用:

Paging hardware

Process address space

Code: creating an address space

Physical memory allocation

Code: Physical memory allocator

User part of an address space

Code: sbrk

Code: exec