OS Structure

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 20

Introduction

Operating System Structure


Review
• OS
– Is a system software
– Locates in kernel mode
– Manage and make the efficiently and convenient to user about
hardware and resource
• Terminology
– Kernel mode, User mode
– Latency time
• Switch user mode  kernel mode
• Switch CPU a process to other process together
– Address space
• File Management
– File, Directory, Special file (block vs. character)
– Pipe
• I/O management
– Share vs. Dedicated device, I/O software layer (device independent)
• System Calls
Review…
• Process:
– A program in execution
– A program loaded into memory and executing
– Associated with each process is set of resources such as
executable code, data, stack, CPU registers value, PC, and
other information needing to run a program
– Associated with each process is its address space (i.e., all
memory locations that the process can read and write)
• Process table (array or linked list) stores all the
information of processes
• A process hierarchy (tree)

Tanenbaum, Fig. 1-13.


Objectives

• OS Structures
– Monolithic Systems
– Layered Systems
– Micro kernels
– Client – Server Models
– Virtual Machines
OS Structure
Monolithic Systems
• The entire OS runs as a single program in kernel mode
• The OS is written as a collection of procedures, linked together
into a single large executable binary program
• A basic structure
– A main program that invokes the requested service procedure.
– A set of service procedures that carry out the system calls.
• For each system call there is one service procedure that takes care of it and executes
it
– A set of utility procedures that
• Help the service procedures.
• Do things that are needed by several service procedures (e.g fetch data)

Tanenbaum, Fig. 1-24.


OS Structure
• Disadvantages
Monolithic Systems
– Running a single program
– Run only one single large executable binary program (not
flexibility)
– Do not protection, but hide information
• The system is free to call any other ones
• Can uses low level language (assembly)
• Having thousands of procedure can call each other
• Using procedure (static) → cannot manage user environments
• Advantages
– Simple (fast)
• Ex: MS-DOS
OS Structure
Layered Systems
• The OS is broken up into a number of layer, each built on top of lower
• Assuming that the bottom layer is the hardware, and the highest layer
is the user interface, layers are selected so that each one uses functions,
operations and services of only lower-level layers.
• Lower layers (usually called the kernel) contains the most
fundamental functions to manage system resources.
• There are 6 layers
• Disadvantages
– How many layers?
– What’re functions?
– Slow
• Advantages
– Easy to maintain, support, manage errors
– Modularity, encapsulation Tanenbaum, Fig. 1-25.

• Ex: OS/2, Windows NT, Vista and Unix (describe the system, do not
build the system)
09/28/2023 Module A - Introduction 8/40
OS Structure
Microkernels
• OS Kernels have problems
– 10bugs/ 1000 lines code (buggy, bring down the system)
– All the layers went in the kernel (complexity, large, and
difficult to manage)
OS Structure
Microkernels
• Microkernels
– Remove all nonessential components from the kernel, and implement
them on user mode (splitting the OS into small, well-defined modules)
– Running each task as an independent (separate) process → resist crashing
the entire system
– The modules run user mode → protection against bugs
– Making a minimal kernel by put the mechanism for doing something in the
kernel but not the policy (scheduling with highest priority process)
– Provide a communication facility using message passing between the client
program and the various series in user mode
• Disadvantages
– How to define the components are nonessential or essential? (depending on
the design ideas or requirements)
– Performance overhead of user space to kernel space communication
• Advantages
– Easy of extending and port the operating system to new architectures
– Advance security and reliability (less code is running in kernel mode)
• Ex: Symbian, Apple MacOS X Server
OS Structure

Client – Server Model
Server provides some service that satisfy the client’s request
• Client uses the server’s services
• Message passing is used to communication
• Can run on different or same computers

Tanenbaum, Fig. 1-27.


OS Structure
Virtual Machines (VM)
• Each virtual machine
– Are not extended machine
– Is identical to the true hardware (provide an exact duplicate of the underlying
real machine)
– Can run any OS that will run directly on the bare hardware at the same time
• Software:
– VMware Workstation, MS Virtual PC, Virtual Box, …
– OS running on CD (Linux, Ubuntu …)
– JVM (Java Virtual Machine):
• Java compiler produces code through Java interpreter.
• Can be shipped on Internet and run on the computer that has a JVM
• Advantages
– Completely protecting system resources, solving system compatibility system
and do not disrupt the normal system operation
• Disadvantages
– Can not allocate all disks to VM
OS Structure
Virtual Machines (VM)

(a) Nonvirtual machine (b) virtual machine

Virtual-machine implementation is called virtual machine monitor,


or virtualization layer, or hypervisor
OS Structure
Virtual Machines (VM)

VMWare Architecture
OS Structure
Virtual Machines (VM)

JVM
OS Structure
Exokernels
• Is a program running in kernel mode
• Giving each user a subset of the resource (instead of exact
copying entire of underlying real machine)
• Allocate resources to virtual machines and ensure the
protection of them.
• Moreover, exokernels make the VM thinking that it has its
own disk (0 to maximum size of partition area)
• Advantages
– The exokernel scheme is saved a layer mapping
– Need keep track of which virtual machine has been assigned
which resource
– Separate the multiprogramming in user mode (protection from
real machine)
– Less overhead because they keep the VM out of each other’s hair
OS Structure
Exokernels – Example
Summary
• Operating System Concepts
• System Calls
• OS Structures

Q&A
Operating system design
Principles:
 - Easy to write, easy to debug, easy to
upgrade.- Easy to install, easy to maintain,
efficient, (no bugs)
 - Easy to use, easy to learn, safe, highly
reliable and fast to implement
 - A SYSGEN (System Generation) program is
required to collect hardware-related information
to configure the operating system to suit each
computer.
09/28/2023 Module A - Introduction 19/40
Next Lecture
• Processes
• structure, mechanism, implementation, …
• Threads
• structure, mechanism, implementation, vs. Processes
• IPC
• How, comparatives, protection of processes/ threads

You might also like