OSY Report
OSY Report
1.0 Rationale
An Operating System is basically a system program that controls the execution of
application programs and acts as an interface between applications and the computer hardware.
It manages the computer system resources to be used in an efficient manner. This course enables
to learn internal functioning of operating system and will help in identifying appropriate
Operating System for given applications/task. This course is also a prerequisite for the group of
courses included in 'Cloud Infrastructure Maintenance Elective group.
.
Benefits:
a) Understanding the different services provided by operating system.
b) Understanding of how the OS manages and facilitates the execution of programs
on a computer.
1
Operating System Services
Gathered all the possible information about different services of operating system from various
sources like:
a) Books on Operating System.
b) Reference links / websites - Geeksforgeeks and etc.
c) Online tutorials on the given title.
2. Literature Review :-
All the gathered information from books, articles, report, manuals, websites and etc about the
Directory Structure in Operating Systems: Single Level, Two Level and Tree Structured Directory,
is reviewed and is and is discussed within the group.
Sr. Name of
Specification
No. Resources/Material
3. Software MS-Word
2
Operating System Services
i. Process Creation:
When a program is executed, the operating system creates a process. This includes allocating memory,
setting up data structures, and initializing various parameters.
iv.Context Switching:
When the operating system decides to switch from one process to another (e.g., due to time sharing or
an event), it performs a context switch. This involves saving the current state of the running process
and loading the state of the next process to be executed.
v. Process Synchronization:
In a multi-process environment, processes may need to coordinate their activities. The operating
system provides mechanisms (e.g., semaphores, mutexes) for synchronization to avoid conflicts and
ensure data integrity.
Processes may need to exchange information or coordinate their activities. The OS provides IPC
mechanisms such as shared memory, message passing, and pipes.
3
Operating System Services
When a process completes its task, it may be terminated. The operating system is responsible for
cleaning up resources associated with the terminated process.
Process Priority and Scheduling Algorithms:
The OS may assign priority levels to processes to determine their access to system resources.
Different scheduling algorithms (e.g., First-Come-First-Serve, Round Robin, Priority Scheduling)
are used to determine which process gets CPU time.
Processes may need to communicate with each other. The OS provides various methods for processes
to exchange data and signals.
The OS must be able to detect and resolve deadlocks, which occur when processes are unable to
proceed due to circular dependencies on resources.
The OS ensures that when a process is terminated, all resources associated with it are properly
released, and any child processes are appropriately handled.
2) Memory Management
The main memory is central to the operation of a Modern Computer. Main Memory is a large
array of words or bytes, ranging in size from hundreds of thousands to billions. Main memory is a
repository of rapidly available information shared by the CPU and I/O devices. Main memory is the
place where programs and information are kept when the processor is effectively utilizing them. Main
memory is associated with the processor, so moving instructions and information into and out of the
processor is extremely fast. Main memory is also known as RAM (Random Access Memory). This
memory is volatile. RAM loses its data when a power interruption occurs.
4
Operating System Services
5
Operating System Services
3) User Interface
A user interface (UI) in an operating system serves as a bridge between users and the underlying
system resources and functionalities. It provides a way for users to interact with the computer and its
software. Here's a detailed explanation of user interfaces in operating systems:
Types of User Interfaces:
i. Command-Line Interface (CLI):
Users interact with the system by typing commands into a text-based interface.
Commands are typically in the form of text strings, and users need to remember specific commands and
syntax.
Examples include the Windows Command Prompt, Linux Terminal, and macOS Terminal.
Input: The UI receives user input, which can include keyboard input, mouse clicks, touch gestures,
voice commands, or other forms of interaction.
Output: It provides feedback to the user through visual elements, text, sounds, or other sensory
feedback.
Navigation: The UI allows users to navigate through the system, open applications, browse files, and
access various features.
Manipulation of Resources: Users can create, modify, and delete files, folders, and other resources
through the UI.
Configuration and Customization: Users can customize settings, preferences, and appearances to suit
their preferences.
Feedback and Help: The UI can provide guidance, notifications, and error messages to assist users in
using the system effectively.
6
Operating System Services
Accessibility: A good UI design ensures that the system is accessible to users with disabilities, using
features like screen readers, high contrast modes, and keyboard shortcuts.
File system is the part of the operating system which is responsible for file management. It provides a
mechanism to store the data and access to the file contents including data and programs. Some
Operating systems treats everything as a file for example Ubuntu.
i. File Structure
We have seen various data structures in which the file can be stored. The task of the file system is to
maintain an optimal file structure.
5) Device Management
Device management in an operating system means controlling the Input/Output devices like disk,
microphone, keyboard, printer, magnetic tape, USB ports, camcorder, scanner, other accessories, and
supporting units like supporting units control channels. A process may require various resources,
including main memory, file access, and access to disk drives, and others. If resources are available,
they could be allocated, and control returned to the CPU. Otherwise, the procedure would have to be
postponed until adequate resources become available. The system has multiple devices, and in order to
handle these physical or virtual devices, the operating system requires a separate program known as an
ad device controller. It also determines whether the requested device is available.
Boot Device
Character Device
Network Device
7
Operating System Services
2. It enforces the pre-determined policies and decides which process receives the device when and for
how long.
4. It monitors the status of every device, including printers, storage drivers, and other devices.
5. It allocates and effectively de-allocates the device. De-allocating differentiates the devices at two
levels: first, when an I/O command is issued and temporarily freed. Second, when the job is
completed, and the device is permanently release
2) Learned how the OS allocates and manages resources like CPU time, memory, and devices to
ensure optimal performance