lecture2_os_structures
lecture2_os_structures
Lecture 2
Operating System Structures
(chapter 2)
Dr. İbrahim Körpeoğlu
http://www.cs.bilkent.edu.tr/~korpe
• The slides here are adapted/modified from the textbook and its slides:
Operating System Concepts, Silberschatz et al., 7th & 8th editions,
Wiley.
REFERENCES
• Operating System Concepts, 7th and 8th editions, Silberschatz et al.
Wiley.
• Modern Operating Systems, Andrew S. Tanenbaum, 3rd edition, 2009.
• Many operating systems now include both CLI and GUI interfaces
– Linux: command shells available (CLI); KDE as GUI
Application
(a process, a Application
running program)
…
user level code
• System call sequence to copy the contents of one file to another file
• C program invoking printf() library call, which calls write() system call
• Process control
• File management
• Device management
• Information maintenance
• Communications
• Protection
• create file: simple system program that can just call “create”
system call or something similar
• compiler: complex system program
Users
System Programs Other User Applications
System Calls
Kernel
System Calls
Rest of Kernel
• Layered Approach
• Microkernel Approach
• Modules Approach
Guest Guest
Guest OS
OS OS
VM1 VM2 VM3
Hardware
• VMware
– Abstracts Intel X86 hardware
• .NET Framework
• Failure analysis
– Log files
– Core dump
– Crash dump
• Performance tuning
– Monitor system performance
• Add code to kernel
• Use system tools like “top”
• DTrace
– Facility to dynamically adding probes to a running system (both to
processes and to the kernel)
– Probes can be queries using D programming language to obtain info
• Bootstrap program (loader) locates the kernel, loads it and starts the
kernel.
– This can be a two-step procedure.
– Bootstrap program loads another more complex boot program
– That boot program loads the kernel