The document discusses the structure of operating systems, emphasizing a layered approach where each layer is built on lower layers, facilitating debugging but adding overhead. It contrasts different OS structures, including UNIX, microkernel, and modular designs, highlighting their benefits and drawbacks. Additionally, it explains why applications are OS-specific due to unique system calls and the role of the Application Binary Interface (ABI).
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 ratings0% found this document useful (0 votes)
13 views14 pages
Lect 05 OS Basics
The document discusses the structure of operating systems, emphasizing a layered approach where each layer is built on lower layers, facilitating debugging but adding overhead. It contrasts different OS structures, including UNIX, microkernel, and modular designs, highlighting their benefits and drawbacks. Additionally, it explains why applications are OS-specific due to unique system calls and the role of the Application Binary Interface (ABI).
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/ 14
OPERATING SYSTEMS CS F372
BIJU K RAVEENDRAN & TEAM
LECT #05: OS BASICS
OS Structure - Layered Approach • The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 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 – This approach simplifies debugging and system verifications. • Difficulty of Layered approach – Careful definition of the layer is needed. – Less efficient than other types(Each layer adds overhead)
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 2
Layered OS
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 3
UNIX • UNIX – limited by hardware functionality, the original UNIX operating system had limited structuring. The UNIX OS consists of two separable parts – Systems programs – The kernel • Consists of everything below the system-call interface and above the physical hardware • Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 4 UNIX System Structure
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 5
UNIX Kernel Space
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 6
Linux System Structure
Monolithic with Modular Design
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 7
Microkernel System Structure • Moves as much from the kernel into “user” space • Communication takes place between user modules using message passing • Kernel consist of only essential components • The kernel will be very small • Main function of the Micro kernel is to provide communication facility (using Message passing) • Benefits: – 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 communication January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 8 Microkernel System Structure
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 9
Monolithic Vs Micro Kernel
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 10
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 – Linux, Solaris January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 11 Solaris Modular Approach
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 12
Hybrid Systems • Most modern OSs are actually not one pure model – Hybrid combines multiple approaches to address performance, security, usability needs – Linux and Solaris kernels in kernel address space are monolithic and are modular for dynamic loading of functionality – Windows mostly monolithic, plus microkernel for different subsystem personalities
January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 13
Why Applications are OS Specific? • Apps compiled on one system usually not executable on other OS • Each OS provides its own unique system calls, file formats etc.. • Apps can be multi-operating system – Written in interpreted language like Python, Ruby, and interpreter available on multiple OSs – App written in language that includes a VM containing the running app (like Java) – Use standard language (like C), compile separately on each OS to run on each • Application Binary Interface (ABI) is architecture equivalent of API, defines how different components of binary code can interface for a given operating system on a given architecture, CPU, etc . January 16, 2025 Biju K Raveendran @ BITS Pilani Goa 14