Introduction to
System Structures: Components, Services,
System Calls, and System Programs
System Components:
1. Hardware:
o Definition: The physical components of a
computer system, including the CPU,
memory (RAM), storage devices (hard
drives, SSDs), input devices (keyboard,
mouse), and output devices (monitor,
printer).
o Role: Hardware provides the fundamental
resources necessary for executing tasks
and running software applications. It
forms the foundation upon which the
operating system and application
programs operate.
2. System Programs:
o Definition: Programs that are part of the
operating system and assist in managing
the hardware and providing essential
services to application programs.
o Types:
▪ Utility Programs: Perform
maintenance tasks such as file
management, system diagnostics, and
backup.
▪ System Utilities: Manage system
resources and perform tasks like disk
formatting, memory testing, and
system monitoring.
▪ Compilers and Interpreters: Translate
high-level programming languages
into machine code or execute code
directly, facilitating program
development.
3. Application Programs:
o Definition: Software applications designed
to perform specific tasks or functions for
the user, such as word processors, web
browsers, and games.
o Role: Application programs utilize the
services provided by the operating system
to perform tasks and provide user
functionality.
Operating System Services:
1. Process Management:
o Function: Handles process creation,
scheduling, execution, and termination.
Manages the execution of multiple
processes, including process
synchronization and inter-process
communication.
o Services: Process scheduling, context
switching, process control.
2. Memory Management:
o Function: Manages the system’s memory
resources, including allocation and
deallocation of memory for processes.
Handles virtual memory and paging.
o Services: Memory allocation, paging,
swapping, memory protection.
3. File System Management:
o Function: Provides a structured way to
store, organize, and access files on storage
devices. Manages file creation, deletion,
and access permissions.
o Services: File creation, file deletion, file
reading/writing, directory management,
file access control.
4. Device Management:
o Function: Manages input and output
devices, including handling device drivers
and providing a consistent interface for
hardware devices.
o Services: Device drivers, device
communication, device control.
5. User Interface:
o Function: Provides interfaces for users to
interact with the operating system and
applications. Includes command-line
interfaces (CLI) and graphical user
interfaces (GUI).
o Services: User authentication, command
processing, graphical display.
6. Security and Access Control:
o Function: Ensures the security of the
system and its data by managing user
access and permissions. Protects against
unauthorized access and data breaches.
o Services: Authentication, authorization,
encryption, auditing.
System Calls:
1. Definition:
o System calls are the programming
interface between the operating system
and user programs. They allow user
programs to request services from the
operating system.
2. Function:
o Service Request: User programs make
system calls to perform operations such as
file manipulation, process control, and
communication.
o Execution: The system call transfers
control from user mode to kernel mode,
allowing the operating system to execute
the requested service and then return
control to user mode.
3. Types of System Calls:
o File Management: Create, delete, read,
write, and manipulate files and
directories.
o Process Management: Create, terminate,
and manage processes and threads.
o Device Management: Access and control
hardware devices.
o Information Management: Retrieve
system information, such as system time
and process status.
System Programs:
1. Purpose:
o Provide a convenient environment for
developing, executing, and managing
programs. System programs simplify
interactions with the operating system
and enhance productivity.
2. Types:
o Shells: Command-line interfaces that
allow users to execute commands and
scripts (e.g., Bash, Command Prompt).
o Editors: Tools for creating and modifying
source code (e.g., Vim, Emacs,
Notepad++).
o Debuggers: Programs for testing and
debugging other software (e.g., GDB,
Valgrind).
o Build Tools: Programs that compile, link,
and manage software builds (e.g., Make,
CMake).