xv6 Overview
CS 450 : Operating Systems Michael Saelee <lee@iit.edu>
xv6 Overview CS 450 : Operating Systems Michael Saelee - - PowerPoint PPT Presentation
xv6 Overview CS 450 : Operating Systems Michael Saelee <lee@iit.edu> Computer Science Science Agenda - Architectural overview - Features & limitations - Hardware dependencies/features Computer Science Science Agenda - Code
CS 450 : Operating Systems Michael Saelee <lee@iit.edu>
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
System call Description fork() Create process exit() Terminate current process wait() Wait for a child process to exit kill(pid) Terminate process pid getpid() Return current process’s id sleep(n) Sleep for n seconds exec(filename, *argv) Load a file and execute it sbrk(n) Grow process’s memory by n bytes
Open a file; flags indicate read/write read(fd, buf, n) Read n byes from an open file into buf write(fd, buf, n) Write n bytes to an open file close(fd) Release open file fd dup(fd) Duplicate fd pipe(p) Create a pipe and return fd’s in p chdir(dirname) Change the current directory mkdir(dirname) Create a new directory mknod(name, major, minor) Create a device file fstat(fd) Return info about an open file link(f1, f2) Create another name (f2) for the file f1 unlink(filename) Remove a file
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Computer Science Science
Global Descriptor Table (GDT) Linear Address Space Segment Segment Descriptor Offset Logical Address Segment Base Address Page
Segment Selector Dir Table Offset Linear Address Page Table Page Directory Entry Physical Space Entry (or Far Pointer) Paging Segmentation Address Page
Computer Science Science
Linear Address Space (or Physical Memory) Segment Registers CS Segment Descriptors Limit Access Base Address SS Limit Access Base Address DS Limit Access Base Address ES Limit Access Base Address FS Limit Access Base Address GS Limit Access Base Address Limit Access Base Address Limit Access Base Address Limit Access Base Address Limit Access Base Address Stack Code Data Data Data Data
Computer Science Science
Linear Address Space (or Physical Memory) Data and FFFFFFFFH Segment Limit Access Base Address Registers CS SS DS ES FS GS Code Code- and Data-Segment Descriptors Stack Not Present
Computer Science Science
Directory Table Offset Page Directory PDE with PS=0 CR3 Page Table PTE 4-KByte Page Physical Address 31 21 11 12 22 Linear Address 32 10 12 10 20 20
Computer Science Science
Physical Page Number A V L D
6
A
5
C D
4
W T
3
U
2
W
1
P
7 8 9 10 11 12 31
P W U WT CD A D AVL
20
VIrtual address Physical Address
12 10
Dir T able Offset
10
1 1023 PPN Flags
20 12 12
PPN Offset PPN Flags 1 1023
20 12
Page T able CR3 Page table and page directory entries are identical except for the D bit.
Computer Science Science