0% found this document useful (0 votes)
19 views7 pages

Os Unit 01 Renew

Uploaded by

Debasish Sarangi
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)
19 views7 pages

Os Unit 01 Renew

Uploaded by

Debasish Sarangi
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/ 7

Introduction to Operating System: An Operating System (OS) is system software that

manages hardware and software resources on a computer system. It serves as an


intermediary between the user and the computer hardware. The OS controls the execution
of programs and provides an environment for users to interact with the Computer. Key
Functions Of an Operating System: Process Management: The OS handles the execution Of
processes, ensuring that processes are scheduled, executed. and terminated efficiently.
Memory Management: The OS manages the computer's memory, allocating memory to
processes and ensuring proper memory usage. File System Management: The OS provides a
way to store. retrieve. and organize data in files. Device Management: The OS controls
hardware devices such as printers, disk drives, and displays. through device drivers. Security
and Access Control: It ensures that unauthorized users cannot access system resources,
maintaining data integrity and privacy. System Structure: An operating system is typically
structured in a layered architecture, with various modules and components working
together to perform different tasks. A typical OS structure includes: Kernel: The core part Of
the OS, responsible for low-level tasks such as managing hardware resources. memory.
processes. and system calls. User Interface: The interface through which users interact with
the OS. typically either command-line (CLI) or graphical (GUI).System Libraries: These are
collections Of pre-written code that programs can use to perform common tasks like
input/output (I/O) Operations, memory management, etc. User Programs These are the
applications or software programs that run on top of the OS, such as word processors. web
browsers. etc. Device Drivers: Software components that allow the OS to interact with
hardware devices, providing a uniform interface for hardware management. The OS can also
be structured in different models: Monolithic Kernel: The entire OS runs in supervisor mode
and has access to all resources. Microkernel: A minimal core kernel that delegates rnost
services to user-level programs for modularity and stability
Operating System Services: Operating system services refer to the set of
functionalities provided by the OS to manage resources, execute tasks. and
provide an environment for applications. These services include: Process
Management: This includes creating, scheduling, and terminating
processes. The OS ensures that processes run without conflicting with each
other. Memory Management: The OS allocates and deallocates memory
for processes. providing virtual memory. paging, segmentation, and
addressing. File Management: Services for file creation, deletion, reading,
and writing. The OS provides a file system and ensures proper access
control and permissions. Device Management: The OS manages devices
like printers, hard drives, and network cards by providing interfaces and
drivers for interaction. Security and Protection The OS enforces security
policies, handles user authentication, and ensures that only authorized
users or processes can access sensitive resources. Networking Services: The
OS provides networking capabilities. such as communication between
devices over a network. and managing network protocols like TCP/IP. User
Interface Services: The OS provides mechanisms for interacting with users.
including CLI or GUI, input/output management, and handling user
commands. Error Handling: The OS detects errors. logs them, and attempts
recovery or resolution, ensuring the system operates smoothly.
System Calls: A System Call is a mechanism that allows a program (user
space) to request services or resources from the kemel (the OS). It acts as a
bridge between user applications and the underlying hardware managed
by the OS. System calls provide a controlled way for programs to perform
privileged operations like accessing hardware or system resources. Types
of System Calls: Process Control: These system calls manage processes,
including process creation, termination, and scheduling. Example: fork() ,
exit() , Wait() , exec(). File Management: System calls that deal with files
and directories, such as opening, reading. writing, and closing files.
Example: open() , read() , write() , close(). Device Management: These
system calls interact with hardware devices like keyboards, printers, or
network devices. Example: ioctl(), read() , write(). Memory Management:
These system calls handle memory allocation and deallocation. Example:
mmap() , brk() , malloc(). Communication: System calls for inter-process
communication (IPC), allowing processes to exchange data. Example: pipe()
, shmget() , msgsnd() , msgrcv(). Security and Access Control: These calls
manage user permissions and authentication. Example: chnod() , chown() .
getuid() setuid(). Networking: System calls to manage network connections
and communication. Example: socket() , bind() , connect() , send() . recv( ).
Explanation of 8 Important System Calls: fork( ) Creates a new process by duplicating the calling process_ It iC used to spawn new
processes. Usage When a new process needs to be created to run a different task in parallel. exec() Replaces the current process %it anew
process. It is used to load a different program into the current process. Usage: TO execute a new program within an existing process. wait()
Makes o process wait untiloneofits child processes term notes. It retrieves the termination status of the child process. Usage TO
synchronize patent-Child process execution. open( ) Opens a file and returns a file desenptor for further operations (like read or write).
Usage: To open a file for reading, writing. both. read() Reads data from a file or input deviCe. Usage To read data from an open file or
device. write( ) : Writes data to a fie or output device. Usage To write data to a file or output on the screen. close( Closes an open file
descriptor. Usage: To close a file or resource that wag previously opened exit( ) Terminotes the coll no process and returns o status code to
the operating system. Usage: To terminate the program execution.
System Programs: System programs are software that provide essential functions
to the operating system and facilitate the interaction between users and the
system. They are not part Of the operating system kernel but are crucial for the
system's overall functionality. These programs often run in user mode and provide
various utilities to support the management of files, processes, and hardware.
Examples Of System Programs: File Management Programs- These help manage
files and directories on the system. Examples include file explorers, command-line
tools like Is , cp , mv , rm. etc. Utility Programs: These provide additional
functionality for system maintenance or user tasks, such as backup utilities, disk
cleanup tools. or text editors (e.g., vim , nano . Compilers and Interpreters: These
translate high-level programming languages into machine code (e.g., GCC for
C/C++ or Python interpreters). Assemblers: Programs that convert assembly
language code into machine code. Debugging Tools: These help developers debug
programs, such as gdb (GNU Debugger). System Monitors: Programs that provide
status information about the system, such as top , ps , or performance monitoring
tools. Operating System Design: Operating System Design refers to the way an
operating system is structured and how its components are organized and
function together to meet the needs Of users and applications. The design Of an
OS must balance performance, efficiency, scalability, security, and ease Of USe.
Key Design Considerations: System Goals: The primary goals of OS design include
resource management, user experience, security, and performance optimization.
Modularity The design often adopts a modular approach, where different
functionalities (e.g„ memory management, process management) are handled by
distinct modules that interact with each other. This approach improves
maintainability and flexibility. System Efficiency: The OS design must ensure that
processes and hardware resources are managed efficiently to optimize
performance (e.g., effcient scheduling algorithms, memory management).
Security: Ensuring that unauthorized users cannot access sensitive resources and
that data integrity is maintained. User Interface: The OS design should include an
interface (CLI or GUI) that is easy for users to interact with. Concurrency: The OS
must effciently handle multiple processes and threads running simultaneously,
ensuring that they don't interfere with one another (e_g.. through process
synchronization and scheduling). Fault Tolerance: The OS must be designed to
handle errors gracefully and provide recovery mechanisms in case Of failure (e.g.,
process crashes, hardware failures). OS Design Models: Monolithic Design: In this
design, the entire OS works as a single. large block of code that handles all system
services, such as file management, memory manageme'W and device
management. Example: Traditional UNIX or Linux kernels. Microkernel Design: In
this design, only the most basic functions, such as process management and
memory management, are included in the kernel. Other services like device
drivers, file systems, and user interfaces run as separate processes in user space.
Example: Minix, L4 microkernel. Layered Design: The OS is divided into multiple
layers, each of which performs specific tasks. The highest layer handles user
interactions, while the lower layers manage hardware resources. Example: The
OSI model in networking or some layered implementations of UNIX. Client-Server
Model: In this model, the OS provides services to client programs via network
communication. The client requests services from the server (the OS). and the
server fulfills the request. Example: Some modern microkernel OS designs.
Operating System Implementation: Operating System Implementation refers to
the actual process of coding and building the operating system after it has been
designed. This is a complex and involved process that requires programming in
lowlevel languages, such as C, C++, or assembly, since OS functionality needs
direct interaction with hardware and efficient use of resources. Steps in OS
Implementation: Bootstrapping (Boot Process): The OS implementation begins
with booting the machine, often done by a small program called the bootloader
The bootloader loads the kernel into memory, initializing the system to make it
ready for user tasks. Kernel Development: The kernel is the core part of the OS-
During implementation, key components such as memory management, process
scheduling, interrupt handling, and file systems are coded. The kernel also
interacts directly with hardware cornponents through device drivers. System Calls
Implementation: System calls act as the interface between user applications and
the OS kernel. Invlementing system calls involves creating a mechanism for users
to request OS services in a controlled manner Device Drivers: Device drivers are
written to ensure that the OS can communicate with hardware devices (such as
printers, hard drives. network cards, etc.). Drivers are an essential part of the OS
implementation as they provide a standard interface for the OS to access different
hardware components. File System Implementation: A file system is developed to
allow data storage, retrieval, and management. The file system dictates how files
are store4 named, accessed, and organized on storage devices. Memory
Management: Implementing memory management involves creating mechanisms
for allocating and deallocating memory, supporting virtual memory, paging,
segmentation, and ensuring that processes do not interfere with each other.
Security and Access Control: Implementation of security features like user
authentication, access control lists (ACLs), encryption, and process isolation
ensures the system remains secure. Testing and Debugging: The OS is tested for
bugs, stability, and performance. Debugging tools and techniques are used to
ensure the OS functions as expected under various conditions.
Operating System Structure: The structure of an operating system refers to how its components are
organized and interact with each other. The structure affects the OSS efficiency, modularity, and ease
of maintenance. Common Operating System Structures: Monolithic Structure: In a monolithic kernel.
all system services (memory management, process management. file management, etc.) run in kernel
mode as a single large block of code. Advantages: High performance (no context switching between
kernel and user modes for internal services). Disadvantages: Less modular, debugging and
maintaining the system can be complex Example: UNIX, Linux. Microkernel Structure. A microkernel
only includes the basic functions needed to run the OS, such as process scheduling and
communication between processes. Other services (e.g., file systems, device drivers) run in user space
as separate processes. Advantages: More modular and easier to maintain; better isolation Of faults (if
one service crashes, others are unaffected). Disadvantages: Slight performance overhead due to
communication between user space and kernel space. Example: Minix, QNX. Layered Structure: The
OS is divided into layers, with each layer providing a specific set Of services. Lower layers deal with
hardware, while higher layers provide user-facing services. Advantages: Simplified design and
maintenance, as each layer can be developed and tested independently. Disadvantages:
Communication overhead between layers. Example: THE operating system. Client-Server Model: In
the client-server model, the OS implements services that are provided to client processes over a
communication mechanism. The kernel handles fundamental services, while other tasks. like file
management. might be distributed across multiple servers. Advantages: Good for distributed systems
and large-scale environments. Disadvantages: Complexity in communication between clients and
servers. Example: Windows NT/2000 (to some extent).

You might also like