Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
4 views29 pages

Chapitre1 en

The document outlines the curriculum for a 2nd year Computer Science degree module on Operating Systems, covering key topics such as the definition, importance, history, and types of operating systems. It details various OS structures, including monolithic and microkernel architectures, as well as the roles of system calls and interrupts. The summary emphasizes that operating systems manage hardware and software resources and highlights different types and structures of OS.

Uploaded by

slickthot
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)
4 views29 pages

Chapitre1 en

The document outlines the curriculum for a 2nd year Computer Science degree module on Operating Systems, covering key topics such as the definition, importance, history, and types of operating systems. It details various OS structures, including monolithic and microkernel architectures, as well as the roles of system calls and interrupts. The summary emphasizes that operating systems manage hardware and software resources and highlights different types and structures of OS.

Uploaded by

slickthot
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/ 29

Centre Universitaire de Mila

2nd year of Computer Science degree (LMD)

Module : Operating Systems 1

Bessouf Hakim

1
Program
• Chapter 1: Introduction to Operating Systems
• Chapter 2: Basic Mechanisms of Program Execution
• Chapter 3: Physical Input/Output Management
• Chapter 4: Central Processor Management
• Chapter 5: Central Memory Management
• Chapter 6: Peripheral Management
• Chapter 7: File Management

2
Chapitre 1
Introduction to Operating Systems

3
What is an Operating System?
• Definition: "An OS is system software that manages hardware
and software resources and provides common services for
computer programs."
• Key functions:
✓Process management
✓Memory management
✓File management
✓I/O management
✓Security
4
Why are Operating Systems Important?

• Manages hardware resources


efficiently.
• Provides a user-friendly interface.
• Enables multitasking and resource
sharing.
• Ensures security and protection.

5
History of Operating Systems
• Open door systems
• Systems with chain monitor
• Batch processing systems
• Multiprogramming systems 2000s:
Mobile and
• Time sharing systems 1980s: distributed
Personal
• Parallel systems computers
systems
(Android,
1960s: Time-
• Distributed systems sharing
and GUIs
(Windows,
iOS)

• Personal computer systems systems


(UNIX)
macOS)

• Real time systems 1950s:


Batch
• Embedded systems processing
systems

6
Types of Operating Systems
Type of OS Description Features Examples
Processes a group of jobs Jobs are collected, processed,
Batch OS without interaction with the and outputted in batches; no IBM 1401, early mainframe OS
user. real-time interaction.
Time is divided into small
Allows multiple users to share
Time-sharing OS intervals to allocate CPU time to UNIX, Multics
system resources simultaneously.
each user or process.
Designed for applications that Predictable and deterministic
Real-time OS require immediate response to responses; can be hard or soft VxWorks, RTEMS, QNX
external events. real-time.
Multiple machines work
Coordinates multiple computers
Distributed OS together, sharing resources, and Google Fuchsia, OpenMosix
to act as one unified system.
processing tasks.
Manages and provides resources
Focuses on communication and Novell NetWare, Microsoft
Network OS for networked computers and
resource sharing over networks. Windows Server
devices.
Designed specifically for mobile Optimized for touch interfaces,
Mobile OS devices like smartphones and mobility, and low power Android, iOS, Windows Phone
tablets. consumption. 7
Eevolution of Computer Systems
• Single user mode systems
• Systems with Job Monitor
• Batch processing systems
• Multiprogramming systems
• Time sharing systems
• Parallel systems
• Distributed systems
• Personal computer systems
• Real time systems
• Embedded systems

8
Single user mode systems
These computer systems consist of a card reader for
reading programs and data, a computer for
executing the programs, and a printer for
outputting the results. These systems do not use an
operating system. To run a program, the user
follows these steps:
➢ Code the source program on punched cards
(written in Fortran or assembly language).
➢ Load the card reading program.
➢ Compile the source program.
➢ Insert the data cards into the card reader.
➢ Execute the compiled program.
➢ Retrieve the results from the printer.

9
Systems with Job Monitor
In these systems, an operator simply loads the job cards into the
card reader and retrieves the results from the printer.
The job control monitor (a special program) is responsible for
reading, loading, compiling, and executing the programs, thereby
saving time.
The job control monitor is the predecessor of modern operating
systems. It resides in memory and manages card reading as well as
program execution.
To control the execution of programs, special control cards are
used, which are interpreted by the job control monitor.

10
Batch processing systems
In these systems, specialized intermediate machines
handle input/output operations. These machines
read the job cards and store them on a magnetic
tape. Then, the job control monitor executes these
jobs one by one and saves the results on another
magnetic tape. A third machine then prints the
results on paper.
Since the magnetic tape reader is faster than the
card reader, data reading and result writing are
accelerated. Additionally, card reading, result
printing, and job execution can occur
simultaneously, improving overall performance.

11
Batch Operating Systems
• Definition: Jobs are executed in batches without user interaction.
• Example: Early mainframe systems.
• Pros: Efficient for large-scale tasks.
• Cons: No user interaction, long wait times.

12
Time-Sharing Operating Systems
• Definition: Multiple users share system
resources simultaneously.
• Example: UNIX.
• Pros: Efficient resource utilization,
interactive.
• Cons: Complex scheduling, potential for
performance issues.

13
Real-Time Operating Systems
• Definition: OS designed for
real-time applications (e.g.,
robotics, embedded systems).
• Example: VxWorks, FreeRTOS.
• Pros: Predictable and fast
response times.
• Cons: Limited functionality,
specialized use cases.

14
Distributed Operating Systems
• Definition: Manages a group of independent computers as a single
system.
• Example: Google’s distributed systems.
• Pros: Scalability, fault tolerance.
• Cons: Complexity, network
dependency.

15
Mobile Operating Systems
• Definition: OS designed for mobile devices (e.g., smartphones,
tablets).
• Example: Android, iOS.
• Pros: Portability, touch-friendly interfaces.
• Cons: Limited hardware resources, security challenges.

16
Multiprogramming systems

17
Parallel systems

18
Personal computer systems

19
Embedded systems

20
OS Structures
• Monolithic kernel

• Microkernel

• Layered architecture

• Modular architecture

21
Monolithic Kernel Microkernel
• Definition: All OS services run in • Definition: Minimal kernel with most
kernel space. services running in user space.
• Example: Linux. • Example: macOS (based on Mach
• Pros: High performance. kernel).
• Cons: Less modular, harder to • Pros: Modular, easier to maintain.
maintain. • Cons: Performance overhead.

22
Layered Architecture
• Definition: OS is divided into layers, each with specific functionality.
• Pros: Easy to debug and maintain.
• Cons: Performance overhead due to layer interactions.

23
Modular Architecture
• Definition: OS is built as a set of modules
that can be loaded dynamically.
• Example: Modern Linux kernels.
• Pros: Flexible, easy to extend.
• Cons: Complexity in module
management.

24
System Calls
• Definition: Interface between user programs and the OS.
• Examples: File operations (open, read, write), process control (fork,
exec).
• How they work: User program → System call → Kernel → Hardware.

25
Interrupts
• Definition: Signals from hardware or software to gain the OS’s
attention.
• Types: Hardware interrupts (e.g., keyboard input), software interrupts
(e.g., system calls).
• How they work: Interrupt → Interrupt handler → OS response.

26
System Calls and Interrupts Together
• How system calls and interrupts work together to manage resources.
• Example: A user program requests a file read (system call), and the
disk sends an interrupt when the data is ready.

27
Ms-DOS WINDOWS

Linux MacOS

28
Summary
• OS manages hardware and software resources.
• Types: Batch, time-sharing, real-time, distributed, mobile.
• Structures: Monolithic, microkernel, layered, modular.
• System calls and interrupts enable OS functionality.

29

You might also like