Lecture1 Introduction
Lecture1 Introduction
Introduction
Timothy Kivumbi
06/10/2024
Operating system
A program that acts as an intermediary between a user of a computer and the
computer hardware.
An OS is a program which acts as an interface between computer system users
and the computer hardware.
Without an operating system, a computer is just a collection of components
heating up the room as no-one would be able to make any practical use of the
machine.
An OS is a special computer program (software) that controls the computer
(hardware).
06/10/2024
Quite a number
06/10/2024
Operating system goals
Execute user programs and make solving user problems easier.
06/10/2024
Operating System Definition
OS is a resource allocator
Manages all resources
Decides between conflicting requests for efficient and fair resource
use
OS is a control program
Controls execution of programs to prevent errors and improper use of
the computer
Types of Operating Systems:
• Single-User, Single-Tasking:
• Supports one user and allows running only one program at a time (e.g., early personal
computers).
• Single-User, Multi-Tasking:
• Supports one user and allows running multiple programs concurrently (e.g., modern desktop
operating systems like Windows or macOS).
• Multi-User:
• Supports multiple users simultaneously, each running multiple programs (e.g., server operating
systems).
• Real-Time:
• Designed for time-sensitive applications where quick response is critical (e.g., embedded
systems, aerospace systems).
06/10/2024
Computer system components
06/10/2024
Parts of an operating system
The operating system has four main parts:
1. The kernel
2. The device drivers
3. The user interface
4. The system utilities
06/10/2024
The kernel
The OS program running at all times is the kernel, starts when OS
is loaded
This has the task of loading the applications into memory, making
sure they do not interfere with one another and allowing them to
share use of the CPU efficiently.
The kernel also handles file storage to and from secondary storage
devices such as hard disks and optical drives.
In other words the kernel handles:
Loading / Unloading applications from memory
Scheduling tasks to run on the CPU
Memory management
File management
Data security
06/10/2024
The device drivers
Every piece of hardware that makes up the computer or connected
to it, will have a device driver that allows the operating system to
control and communicate with it.
There could be hundreds of device drivers pre-installed with the
operating system, and the right ones for that particular computer
set-up is loaded on boot-up.
06/10/2024
The user interface
This part of the operating system is directing what you see on the
screen (via the device driver) and reacting to your key presses and
other inputs.
06/10/2024
The system utilities
System utilities are software tools or programs that help manage and maintain various aspects
of an operating system. They provide functionality to perform tasks such as system monitoring,
diagnostics, optimization, and troubleshooting
This part of the operating system provides all the basic facilities that run in the background
without user interaction.
For example,
Print spool services
06/10/2024
OS importance
The operating system is the most important program that runs on
a computer.
06/10/2024
Evolution of processing systems
Batch systems
Multiprogramming and Time-sharing systems
Personal systems
Parallel systems
Distributed systems
Cluster and Grid Computing Systems
Real time systems
06/10/2024
Read about these systems and write a
short description for submission as
indicated on the platform
22
Memory Management
Main Memory is an array of addressable words or bytes that is quickly
accessible.
Main Memory is volatile.
OS is responsible for:
Allocate and deallocate memory to processes.
Managing multiple processes within memory - keep track of which parts of
memory are used by which processes. Manage the sharing of memory
between processes.
Determining which processes to load when memory becomes available.
23
Secondary Storage and I/O Management
24
File System Management
OS is responsible for
File Creation and Deletion: The OS provides APIs to create, delete, and manipulate files.
File Access and Permissions: The OS controls file access rights and permissions,
ensuring data security.
File System Navigation: The OS allows traversal of file directories and provides utilities for
file and directory management.
File I/O Operations: The OS facilitates reading from and writing to files, handling data
transfer between memory and storage devices.
25
Protection and Security
Protection mechanisms control access of programs and processes to user and
system resources.
Protect user from himself, user from other users, system from users.
Protection mechanisms must:
Distinguish between authorized and unauthorized use.
26
Network Services
OS is responsible for
Network Configuration: The OS allows configuration of network settings, including IP
addresses and DNS.
Network Security: The OS includes firewall, encryption, and authentication
mechanisms for secure network communication.
27
User Interface
The OS provides user interaction within a computer system.
Command-Line Interface (CLI): The OS provides a text-based interface
for executing commands and interacting with the system.
Graphical User Interface (GUI): The OS offers a visual interface with
windows, icons, menus, and pointers (WIMP interface).
Window Management: The OS manages windows, allowing users to
manipulate and organize application windows.
Input Handling: The OS processes user input from devices like
keyboards, mice, and touchscreens.
28
End of lecture