Lecture 5:OS Structures: Operating Systems
Lecture 5:OS Structures: Operating Systems
• Simple
• Only one or two levels of code
• Layered
• Lower levels independent of upper levels
• Modular
• Core kernel with Dynamically loadable modules
• Microkernel
• OS built from many user-level processes
1
18-01-2025
• MS-DOS - provides a
lot of functionality in
little space.
• Not divided into modules,
Interfaces and levels of
functionality are not well
separated
2
18-01-2025
Monolithic
Pros
• All kernel routines are together,
• l Shared kernel space
linked in single large executable
• l Good performance
• Each can call any other
Cons
• Services and utilities • l Instability: crash in any
• A system call interface procedure
• Examples: • brings system down
• Linux, BSD Unix, Windows, … • l Inflexible / hard to maintain,
extend
Layered OS Structure
3
18-01-2025
messages messages
microkernel
hardware
4
18-01-2025
A microkernel OS
Modules
10
5
18-01-2025
11
Hybrid Systems
12
6
18-01-2025
Mac OS X Structure
kernel environment
BSD
Mach
13
iOS
14
7
18-01-2025
Android
• Developed by Open Handset Alliance (mostly Google)
• Open Source
• Similar stack to IOS
• Based on Linux kernel but modified
• Provides process, memory, device-driver management
• Adds power management
• Runtime environment includes core set of libraries and Dalvik
virtual machine
• Apps developed in Java plus Android API
• Java class files compiled to Java bytecode then translated to executable
than runs in Dalvik VM
• Libraries include frameworks for web browser (webkit),
database (SQLite), multimedia, smaller libc
15
Android Architecture
Application Framework
surface media
Dalvik
manager framework
virtual machine
webkit libc
16
8
18-01-2025
Virtual Machines
Physical Machine
Application
OS
Hardware
17
17
Virtual Machines
OS OS OS
Hardware
18
9
18-01-2025
Virtual Machines
• Use cases
●Resource configuration
●Running multiple OSes, either the same or different
OSes
●Run existing OS binaries on different architecture
19
20
10