0% found this document useful (0 votes)
59 views26 pages

02 OS Structures

This document discusses operating system structures. It covers topics such as operating system services, the user and operating system interface including command interpreters and graphical user interfaces, system calls, and system services. It also describes different types of operating system structures such as simple structures, layered approaches, microkernels, and hybrid systems. Finally, it discusses virtual machines and provides examples of virtualization architectures like VMware and the Java Virtual Machine.

Uploaded by

Tung Vũ Duy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views26 pages

02 OS Structures

This document discusses operating system structures. It covers topics such as operating system services, the user and operating system interface including command interpreters and graphical user interfaces, system calls, and system services. It also describes different types of operating system structures such as simple structures, layered approaches, microkernels, and hybrid systems. Finally, it discusses virtual machines and provides examples of virtualization architectures like VMware and the Java Virtual Machine.

Uploaded by

Tung Vũ Duy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

OPERATING

SYSTEMS

OS
Lesson 2: OS STRUCTURES
Nguyễn Thị Hậu (UET-VNU)
[email protected]

1
CONTENTS
•  Operating System Services
•  User and Operating System-Interface
•  System Calls
•  System Services

OS
•  Operating System Structure

2
Operating System Services

OS
3
User Operating System Interface
•  Command Interpreter - CI

•  Graphical User Interface - GUI

OS
•  Aero : Window Vista/Window
7/8/10
•  Aqua: MacOS X
•  Common desktop environment
(CDE): Unix, Linux OpenVMS
•  K desktop environment (KDE):
Unix
•  GNOME desktop (GNOME) :
Ubuntu
4
Touchscreen Interfaces

•  Touchscreen devices require


new interfaces
•  Mouse not possible or not desired
•  Actions and selection based on gestures
•  Virtual keyboard for text entry
●  Voice commands

OS

5
System Calls
•  Programming interface to the services
provided by the OS
•  Typically written in a high-level
language (C or C++)
•  Mostly accessed by programs via a high-

OS
l e v e l A p p l i c a t i o n P r o g r a m m i n g
Interface (API) rather than direct
system call use
•  Three most common APIs are Win32
API for Windows, POSIX API for POSIX-
based systems (including virtually all
versions of UNIX, Linux, and Mac OS X),
and Java API for the Java virtual
machine (JVM)
6
Examples of Windows, Unix System Calls

OS
7
An example of standard API

OS
8
System Services
•  System programs provide a convenient environment for
program development and execution. They can be divided
into:
•  File manipulation
•  Status information sometimes stored in a file
•  Programming language support

OS
•  Program loading and execution
•  Communications
•  Background services
•  Application programs
•  Most users’ view of the operation system is defined by
system programs, not the actual system calls
9
The Role of the Linker and Loader

OS
10
OPERATING SYSTEM STRUCTURE

OS
Simple structure – MS-DOS
More complex -- UNIX
Layered – an abstraction
Microkernel -Mach

11
Simple Structure – MS-DOS

OS
12
Traditional UNIX System Structure
Beyond simple but not fully layered

OS
13
Layered Approach
•  The operating system is
divided into a number of
layers (levels), each built
on top of lower layers.
The bottom layer (layer

OS
0), is the hardware; the
highest (layer N) is the
user interface.
•  With modularity, layers
are selected such that
each uses functions
(operations) and services
of only lower-level layers 14
Microkernels
•  Moves as much from the kernel into user space
•  Mach example of microkernel
•  Mac OS X kernel (Darwin) partly based on Mach
•  Communication takes place between user modules
using message passing
•  Benefits:

OS
•  Easier to extend a microkernel
•  Easier to port the operating system to new
architectures
•  More reliable (less code is running in kernel mode)
•  More secure
•  Detriments:
•  Performance overhead of user space to kernel space 15
communication
Microkernel System Structure

OS
16
Linux System Structure
Monolithic plus modular design

OS
17
Hybrid Systems
•  Most modern operating systems are actually not one pure
model
•  Hybrid combines multiple approaches to address
performance, security, usability needs
•  Linux and Solaris kernels in kernel address space, so
monolithic, plus modular for dynamic loading of functionality

OS
•  Windows mostly monolithic, plus microkernel for different
subsystem personalities
•  Apple Mac OS X hybrid, layered, Aqua UI plus Cocoa
programming environment
•  Below is kernel consisting of Mach microkernel and BSD
Unix parts, plus I/O kit and dynamically loadable modules
(called kernel extensions)
18
macOS and iOS Structure

OS
19
Darwin

OS
20
Android Architecture

OS
21
VIRTUAL MACHINE

OS
22
Vmware architecture

OS
23
Java Virtual Machine

OS
24
Homework
•  Programming:
•  Creating Kernel Modules, Loading and Removing Kernel Modules,
(Chapter 2, Operating System Concept, Silberschatz et al., 9th
edition, 2013 page 96-99)

OS
•  Revising:
•  Binary, octal, decimal, hex numbers
•  bit, byte, KB, MB, GB, TB, PB, EB, YB, ZB
•  Mbps, Gbps, …

25
Thank you!

OS
Q&A

26

You might also like