Classification, Architecture, and Layering
2024-10-24
What do you already know? Let’s go to the survey again:
https://fra-uas.particifyapp.net/p/66824346
How many tasks can a modern OS execute with a single CPU core?
Which concept is used to let a multitasking OS execute multiple tasks in parallel on a single CPU core?
What are the limiting factors when executing multiple tasks in parallel?
Singletasking
At any given moment, only a single process is executed
Multiple started programs are executed one after the other
Multitasking
Task, process, job,… In this context the terms task, process, or job are equivalent.
What are the advantages of multitasking?
What are the downsides?
Multitasking avoids blocking
With multitasking processes, waiting for, e.g., incoming E-mails, successful database operations, or data written into memory can yield the processor
Costs of Multitasking
Switching from one process to another one causes overhead.
\(\rightarrow\) Dependent on the use case and the type of system this overhead may be negligible or significant
Single-User | Multi-User | |
---|---|---|
Singletasking | MS-DOS, Palm OS | — |
Multitasking | OS/2, Windows 3x/95/98, BeOS, | Linux/UNIX, MacOS X, Server |
MacOS 8x/9x, AmigaOS, Risc OS | editions of the Windows NT family |
What about modern MS Windows?
Many versions MS Windows (NT, XP, Vista, 7, 8, 10, 11) for desktop/workstation allow for separation of data and process, but not for concurrent use of the system between multiple users.
Different Architectures - 8 bit operating systems \(\equiv\) 256 memory units - e.g., GEOS, Atari DOS, Contiki
How big is an Operating System?
Which software does the OS comprise?
Source: BMW Werk Leipzig (CC-BY-SA 2.0)
Why does a cell phone (or a smartphone) require an RTOS?
An embedded system is a computer system with a dedicated function embedded in a larger system
It typically runs without a (direct) human user and therefore often does not offer a user interface (UI)
It offers typically less hardware resources than traditional desktop or server systems
Subcategories
IoT OS
WSN OS
Router OS
Do not confuse RTOS are often embedded OS, but not every embedded OS is an RTOS!
Mobile Health
Building & Home Automation
Examples
The Amoeba Distributed Operating System. A. S. Tanenbaum, G. J. Sharp. http://www.cs.vu.nl/pub/amoeba/Intro.pdf
Rainbow OS: A distributed STM for in-memory data clusters. Thilo Schmitt, Nico Kämmer, Patrick Schmidt, Alexander Weggerle, Steffen Gerhold, Peter Schulthess. MIPRO 2011
Do not confuse a modular kernel design with a microkernel
Examples of operating systems with monolithic kernels Linux, BSD, MS-DOS, FreeDOS, Windows 95/98/ME, MacOS (until 8.6), OS/2
Examples of operating systems with microkernels
AmigaOS, MorphOS, Tru64, QNX Neutrino, Symbian OS, GNU HURD (see slide [FolieHURD]), RIOT(?)
The success of the micro-kernel systems, which was forecasted in the early 1990s, did not happen
\(\Longrightarrow\) Discussion of Linus Torvalds vs. Andrew S. Tanenbaum (1992) \(\Longrightarrow\) see slide [FolieTanenbaumTorwalds]
Which hardware feature is required for a (reasonable) implementation of a Microkernel?
comp.os.minix
comp.os.minix
: LINUX is obsolete
Image Source: unknown
This was followed by an intense and emotional several-day discussion about the advantages and drawbacks of monolithic kernel, microkernels, software portability and free software
A. Tanenbaum (30. January 1992): I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-). Source: http://www.oreilly.com/openbook/opensources/book/appa.html
The success of an operating system does not only depend on its architectural design!
Image source: stallman.org
Wikipedia (CC-BY-SA-2.0)
Wikipedia (CC-BY-SA-3.0)
Tradeoff between monolithic kernels and microkernels
It is not specified which additional components are located inside hybrid kernels
Windows NT 4 indicates advantages and drawbacks of hybrid kernels
Advantage:
Examples of operating systems with hybrid kernels
Windows NT family since NT 3.1, ReactOS, MacOS X, BeOS, ZETA, Haiku, Plan 9, DragonFly BSD
Source: Wikipedia, public domain
In practice, the concept is not strictly followed all the time. User applications, can e.g., call wrapper function of the standard library glibc or directly call the system calls)
You should now be able to answer the following questions:
Operating Systems - Classification, Architecture, and Layering - WS 24/25