Sistemet Operative Operating System Structures: Lënda
Sistemet Operative Operating System Structures: Lënda
Prishtinë, 2023
1
Operating System Design and Implementation
2
Operating System Design and Implementation (cont.)
3
Operating System Structure
❑ Monolithic Structure
❑ Layered approach
❑ Microkernel
❑ Modules
4
Simple Structure
▪ It is the simplest OS Structure and is not well defined; It can only be used for
small and limited systems.
▪ In this structure, the interfaces and levels of functionality are well
separated;
▪ Has no distinction between user and kernel modes, allowing all programs
direct access to the underlying hardware
→ MS-DOS is an example of such OS.
5
Monolithic Structure
6
Monolithic Structure (cont.)
8
Microkernels
Advantages:
Easier to extend a microkernel.
More secure.
Disadvantages:
Performance overhead of user space to kernel space communication.
10
Modules
▪ Modules are similar to layers in that each subsystem has clearly defined
tasks and interfaces.
▪ This type of design is common in modern implementations of UNIX, such
as Linux, macOS, and Solaris, as well as Windows.
▪ Linux uses LKMs, primarily for supporting device drivers and file systems.
▪ LKMs can be “inserted” into the kernel as the system is started (or
booted) or during run time, such as when a USB device is plugged into a
running machine.
11
Modules (cont.)
12
Hybrid Systems
13
Hybrid Systems -> macOS and iOS
▪ The Android OS was designed by the Open Handset Alliance (led primarily
by Google) and was developed for Android smartphones and tablet
computers.
▪ Android runs on a variety of mobile platforms and is open sourced.
▪ Android is similar to iOS in that it is a layered stack of software that
provides a rich set of frameworks supporting graphics, audio, and
hardware features.
▪ Software designers for Android devices, develop applications in the Java
language, but they do not generally use the standard Java API.
→ Google has designed a separate Android API for Java development.
15
Android Architecture
If you are generating (or building) an OS from scratch, you must follow
these steps:
✓ Write the OS source code,
18
Operating System Debugging
▪ Collects data for a specific event, such as steps involved in a system call
invocation.
▪ Tools include:
strace – trace system calls invoked by a process
gdb – source-level debugger
perf – collection of Linux performance tools
tcpdump – collects network packets
21
BCC
22
Pyetje dhe Diskutime ?
23