CS F372: Operating
Systems
BITS Pilani Dr.Debasis Das
Department of Computer Science and Information Systems
K K Birla Goa Campus
Lecture Session – 2
8 - 8 - 2017
Operating-System
Structures
BITS Pilani
K K Birla Goa Campus
Outline
Operating System Services
User Operating System Interface
System Calls
Types of System Calls
System Programs
Operating System Design and Implementation
Operating System Structure
Virtual Machines
Operating System Debugging
Operating System Generation System Boot
BITS Pilani, K K Birla Goa Campus
Objectives
To describe the services an operating system provides to users,
processes, and other systems
To discuss the various ways of structuring an operating system
To explain how operating systems are installed and customized
and how they boot
BITS Pilani, K K Birla Goa Campus
Operating System Services
BITS Pilani, K K Birla Goa Campus
View of Operating System Services
BITS Pilani, K K Birla Goa Campus
Operating System Services (Cont)
BITS Pilani, K K Birla Goa Campus
Operating System Services (Cont)
BITS Pilani, K K Birla Goa Campus
User Operating System Interface - CLI
BITS Pilani, K K Birla Goa Campus
User Operating System Interface - GUI
BITS Pilani, K K Birla Goa Campus
The Mac OS X GUI
BITS Pilani, K K Birla Goa Campus
System Calls
BITS Pilani, K K Birla Goa Campus
Example of System Calls
BITS Pilani, K K Birla Goa Campus
Example of Standard API
BITS Pilani, K K Birla Goa Campus
System Call Implementation
BITS Pilani, K K Birla Goa Campus
API – System Call – OS Relationship
BITS Pilani, K K Birla Goa Campus
User mode and kernel mode
• A processor in a computer running Windows has two
different modes: user mode and kernel mode.
• The processor switches between the two modes
depending on what type of code is running on the
processor.
• Applications run in user mode, and core operating
system components run in kernel mode. While many
drivers run in kernel mode, some drivers may run in
user mode.
BITS Pilani, K K Birla Goa Campus
Standard C Library Example
BITS Pilani, K K Birla Goa Campus
System Call Parameter Passing
BITS Pilani, K K Birla Goa Campus
Parameter Passing via Table
BITS Pilani, K K Birla Goa Campus
Types of System Calls
• Process control
• File management
• Device management
• Information maintenance
• Communications
• Protection
BITS Pilani, K K Birla Goa Campus
MS-DOS execution
BITS Pilani, K K Birla Goa Campus
FreeBSD Running Multiple Programs
• FreeBSD (derived from Berkeley UNIX) is an example of a
multitasking system
BITS Pilani, K K Birla Goa Campus
System Programs
BITS Pilani, K K Birla Goa Campus
System Programs
BITS Pilani, K K Birla Goa Campus
System Programs (cont’d)
BITS Pilani, K K Birla Goa Campus
Operating System Design and
Implementation
BITS Pilani, K K Birla Goa Campus
Operating System Design and Implementation
(Cont)
BITS Pilani, K K Birla Goa Campus
Simple Structure
BITS Pilani, K K Birla Goa Campus
MS-DOS Layer Structure
BITS Pilani, K K Birla Goa Campus
Layered Approach
BITS Pilani, K K Birla Goa Campus
Traditional UNIX System Structure
BITS Pilani, K K Birla Goa Campus
UNIX
BITS Pilani, K K Birla Goa Campus
Layered Operating System
BITS Pilani, K K Birla Goa Campus
Microkernel System Structure
BITS Pilani, K K Birla Goa Campus
Mac OS X Structure
BITS Pilani, K K Birla Goa Campus
Modules
Most modern operating systems implement kernel
modules
• Uses object-oriented approach
• Each core component is separate
• Each talks to the others over known interfaces
• Each is loadable as needed within the kernel
Overall, similar to layers but with more flexible
BITS Pilani, K K Birla Goa Campus
Solaris Modular Approach
BITS Pilani, K K Birla Goa Campus
Virtual Machines
• In computing, a virtual machine (VM) is an emulation of a
computer system. Virtual machines are based on computer
architectures and provide functionality of a physical
computer. Their implementations may involve specialized
hardware, software, or a combination.
BITS Pilani, K K Birla Goa Campus
Virtual Machines
• A virtual machine takes the layered approach to its logical
conclusion. It treats hardware and the operating system kernel as
though they were all hardware
• A virtual machine provides an interface identical to the
underlying bare hardware
• The operating system host creates the illusion that a process has
its own processor and (virtual memory)
• Each guest provided with a (virtual) copy of underlying computer
BITS Pilani, K K Birla Goa Campus
Virtual Machines History and Benefits
BITS Pilani, K K Birla Goa Campus
Virtual Machines (Cont)
BITS Pilani, K K Birla Goa Campus
Para-virtualization
BITS Pilani, K K Birla Goa Campus
Solaris 10 with Two Containers
BITS Pilani, K K Birla Goa Campus
VMware Architecture
BITS Pilani, K K Birla Goa Campus
The Java Virtual Machine
BITS Pilani, K K Birla Goa Campus
Operating-System Debugging
BITS Pilani, K K Birla Goa Campus
Solaris 10 dtrace Following System Call
BITS Pilani, K K Birla Goa Campus
Operating System Generation
• Operating systems are designed to run on any of a class of
machines; the system must be configured for each specific
computer site
• SYSGEN program obtains information concerning the
specific configuration of the hardware system
• Booting – starting a computer by loading the kernel
• Bootstrap program – code stored in ROM that is able to
locate the kernel, load it into memory, and start its execution
BITS Pilani, K K Birla Goa Campus
System Boot
BITS Pilani, K K Birla Goa Campus
Thanks!!!
Queries?
BITS Pilani, K K Birla Goa Campus