0% found this document useful (0 votes)
36 views14 pages

Ios Assigment 1

The document discusses the functions of an operating system. It describes key functions like memory management, processor management, device management, file management, and storage management. It also covers objectives of operating systems and different types of operating systems like batch, time-shared, distributed, network, and real-time operating systems. Finally, it provides a brief overview of system calls and their purpose.

Uploaded by

Rizi Dev
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)
36 views14 pages

Ios Assigment 1

The document discusses the functions of an operating system. It describes key functions like memory management, processor management, device management, file management, and storage management. It also covers objectives of operating systems and different types of operating systems like batch, time-shared, distributed, network, and real-time operating systems. Finally, it provides a brief overview of system calls and their purpose.

Uploaded by

Rizi Dev
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/ 14

DEPARTMENT OF INFORMATION TECHNOLOGY

Name: RIZIDEV.P

Register No: 21062220549

Year & Sem: 2ND - 4TH

Sub. Code: CS3451

Sub. Name: INTRODUCTION TO OPERATING SYSTEM

Assignment No: 1

Submitted on: 30.3.2004

Staff Sign:
Functions of Operating System

Operating System

An operating system (OS) is a program that acts as an interface between the system
hardware and the user. Moreover, it handles all the interactions between the software
and the hardware. All the working of a computer system depends on the OS at the base
level. Further, it performs all the functions like handling memory, processes, the
interaction between hardware and software, etc. Now, let us look at the functions of
operating system.

Operating System

Objectives of OS

The primary goals of an operating system are as follows:

• Convenience – An operating system improves the use of a machine. Operating


systems enable users to get started on the things they wish to complete quickly
without having to cope with the stress of first configuring the system.
• Efficiency – An operating system enables the efficient use of resources. This is
due to less time spent configuring the system.
• Ability to evolve – An operating system should be designed in such a way that
it allows for the effective development, testing, and introduction of new features
without interfering with service.
• Management of system resources – It guarantees that resources are shared
fairly among various processes and users.

Functions of Operating System

1. Memory Management

It is the management of the main or primary memory. Whatever program is executed,


it has to be present in the main memory. Main memory is a quick storage area that
may be accessed directly by the CPU. When the program is completed, the memory
region is released and can be used by other programs. Therefore, there can be more
than one program present at a time. Hence, it is required to manage the memory.

The operating system:

• Allocates and deallocates the memory.


• Keeps a record of which part of primary memory is used by whom and how
much.
• Distributes the memory while multiprocessing.
• In multiprogramming, the operating system selects which processes acquire
memory when and how much memory they get.

2. Processor Management/Scheduling

Every software that runs on a computer, whether in the background or in the frontend,
is a process. Processor management is an execution unit in which a program operates.
The operating system determines the status of the processor and processes, selects a
job and its processor, allocates the processor to the process, and de-allocates the
processor after the process is completed.

When more than one process runs on the system the OS decides how and when a
process will use the CPU. Hence, the name is also CPU Scheduling. The OS:
• Allocates and deallocates processor to the processes.
• Keeps record of CPU status.
Certain algorithms used for CPU scheduling are as follows:

• First Come First Serve (FCFS)


• Shortest Job First (SJF)
• Round-Robin Scheduling
• Priority-based scheduling etc.

Purpose of CPU scheduling

The purpose of CPU scheduling is as follows:

• Proper utilization of CPU. Since the proper utilization of the CPU is necessary.
Therefore, the OS makes sure that the CPU should be as busy as possible.
• Since every device should get a chance to use the processor. Hence, the OS makes
sure that the devices get fair processor time.
• Increasing the efficiency of the system.

3. Device Management

An operating system regulates device connection using drivers. The processes may
require devices for their use. This management is done by the OS. The OS:

• Allocates and deallocates devices to different processes.


• Keeps records of the devices.
• Decides which process can use which device for how much time.

4. File Management

The operating system manages resource allocation and de-allocation. It specifies which
process receives the file and for how long. It also keeps track of information, location,
uses, status, and so on. These groupings of resources are referred to as file systems.
The files on a system are stored in different directories. The OS:

• Keeps records of the status and locations of files.


• Allocates and deallocates resources.
• Decides who gets the resources.

5. Storage Management

Storage management is a procedure that allows users to maximize the utilization of


storage devices while also protecting data integrity on whatever media on which it
lives. Network virtualization, replication, mirroring, security, compression,
deduplication, traffic analysis, process automation, storage provisioning, and memory
management are some of the features that may be included. The operating system is in
charge of storing and accessing files. The creation of files, the creation of directories,
the reading and writing of data from files and directories, as well as the copying of the
contents of files and directories from one location to another are all included in storage
management.
The OS uses storage management for:

• Improving the performance of the data storage resources.


• It optimizes the use of various storage devices.
• Assists businesses in storing more data on existing hardware, speeding up the
data retrieval process, preventing data loss, meeting data retention regulations,
and lowering IT costs

What are the functions of Operating System

• Security – For security, modern operating systems employ a firewall. A firewall


is a type of security system that monitors all computer activity and blocks it if it
detects a threat.
• Job Accounting – As the operating system keeps track of all the functions of a
computer system. Hence, it makes a record of all the activities taking place on
the system. It has an account of all the information about the memory, resources,
errors, etc. Therefore, this information can be used as and when required.
• Control over system performance – The operating system will collect
consumption statistics for various resources and monitor performance indicators
such as reaction time, which is the time between requesting a service and
receiving a response from the system.
• Error detecting aids – While a computer system is running, a variety of errors
might occur. Error detection guarantees that data is delivered reliably across
susceptible networks. The operating system continuously monitors the system to
locate or recognize problems and protects the system from them.
• Coordination between other software and users – The operating system (OS)
allows hardware components to be coordinated and directs and allocates
assemblers, interpreters, compilers, and other software to different users of
the computer system.
• Booting process – The process of starting or restarting a computer is referred to
as Booting. Cold booting occurs when a computer is totally turned off and then
turned back on. Warm booting occurs when the computer is restarted. The
operating system (OS) is in charge of booting the computer.

Types of Operating System

The operating system can be of different types. They are as follows:

1. Batch OS

In this system, the OS does not forward the jobs/tasks directly to the CPU. It works by
grouping together similar types of jobs under one category. Further, we name this
group as a ‘batch’. Hence, the name batch OS.

Examples are the payroll system, bank statement, etc.

2. Time-Shared OS

When more than one task takes place on the system it is called time-shared OS. As
multiple tasks can run at the system at a time as per requirement. Hence, they all share
the CPU time one by one. Therefore, we also name it multitasking. The time that each
task gets is called quantum.
A fixed interval of time is decided for each task. When the first task executes for that
period of time, the second task executes, and so on.

Examples are UNIX etc.

3. Distributed OS

In this system, there is more than one CPU present. The OS distributes the tasks among
all the processors. The processors do not share any memory or clock time. OS handles
all communication between them through various communication lines.

Examples are LOCUS etc.

4. Network OS

In these OS various systems are connected to a server. It allows the system to share
resources such as files, printers, applications, etc. Moreover, it gives the capability to
serve to manage these resources.

Examples are UNIX, LINUX, Microsoft Windows Server 2008, etc.

5. Real-Time OS (RTOS)

In these systems, the time interval for processing and responding to inputs is very
small. Therefore, due to this quality, these are used in real-time situations. For example
in missile systems, robots, etc.

They have two categories as follows:

a) Hard Real-Time Systems

b) Soft Real-Time Systems


SYSTEM CALL
What Is a System Call?

A system call is an interface between a program running in user space and


the operating system (OS). Application programs use system calls to request services
and functionalities from the OS's kernel. This mechanism allows the program to call for
a service, like reading from a file, without accessing system resources directly.

When a program invokes a system call, the execution context switches from user to
kernel mode, allowing the system to access hardware and perform the required
operations safely. After the operation is completed, the control returns to user mode,
and the program continues its execution.

This layered approach facilitated by system calls:

• Ensures that hardware resources are isolated from user space processes.
• Prevents direct access to the kernel or hardware memory.
• Allows application code to run ac
• ross different hardware architectures.
• This high-level overview explains how system calls work:

How Do System Calls Work?


• 1. System Call Request. The application requests a system call by invoking its
corresponding function. For instance, the program might use
the read() function to read data from a file.

• 2. Context Switch to Kernel Space. A software interrupt or special instruction is


used to trigger a context switch and transition from the user mode to the kernel
mode.

• 3. System Call Identified. The system uses an index to identify the system call
and address the corresponding kernel function.

• 4. Kernel Function Executed. The kernel function corresponding to the system


call is executed. For example, reading data from a file.

• 5. System Prepares Return Values. After the kernel function completes its
operation, any return values or results are prepared for the user application.

• 6. Context Switch to User Space. The execution context is switched back from
kernel mode to user mode.

• 7. Resume Application. The application resumes its execution from where it left
off, now with the results or effects of the system call.

Types of System Calls


The following list categorizes system calls based on their functionalities:

1. Process Control

System calls play an essential role in controlling system processes. They enable you to:

• Create new processes or terminate existing ones.


• Load and execute programs within a process's space.
• Schedule processes and set execution attributes, such as priority.
• Wait for a process to complete or signal upon its completion.

2. File Management

System calls support a wide array of file operations, such as:

• Reading from or writing to files.


• Opening and closing files.
• Deleting or modifying file attributes.
• Moving or renaming files.
3. Device Management

System calls can be used to facilitate device management by:

• Requesting device access and releasing it after use.


• Setting device attributes or parameters.
• Reading from or writing to devices.
• Mapping logical device names to physical devices.

4. Information Maintenance

This type of system call enables processes to:

• Retrieve or modify various system attributes.


• Set the system date and time.
• Query system performance metrics.

5. Communication

The communication call type facilitates:

• Sending or receiving messages between processes.


• Synchronizing actions between user processes.
• Establishing shared memory regions for inter-process communication.
• Networking via sockets.

6. Security and Access Control

System calls contribute to security and access control by:

• Determining which processes or users get access to specific resources and who
can read, write, and execute resources.
• Facilitating user authentication procedures.

Examples of System Calls


UNIX SYSTEM CALLS DESCRIPTION WINDOWS API CALLS DESCRIPTION

Process Control

fork() Create a new process. CreateProcess() Create a new process.

Terminate the current Terminate the


exit() ExitProcess()
process. current process.

Make a process wait until


Wait for a process or
wait() its child processes WaitForSingleObject()
thread to terminate.
terminate.

Execute a new
Execute a new program in a CreateProcess() or
exec() program in a new
process. ShellExecute()
process.

Get the unique


getpid() Get the unique process ID. GetCurrentProcessId()
process ID.

File Management

Open or create a file


open() Open a file (or device). CreateFile()
or device.

Close an open file (or Close an open object


close() CloseHandle()
device). handle.

Read data from a file


read() Read from a file (or device). ReadFile()
or input device.

Write data to a file or


write() Write to a file (or device). WriteFile()
output device.

Change the read/write Set the position of


lseek() SetFilePointer()
location in a file. the file pointer.
Delete an existing
unlink() Delete a file. DeleteFile()
file.

Move or rename a
rename() Rename a file. MoveFile()
file.

Directory Management

Create a new
mkdir() Create a new directory. CreateDirectory()
directory.

Remove an existing
rmdir() Remove a directory. RemoveDirectory()
directory.

Change the current Change the current


chdir() SetCurrentDirectory()
directory. directory.

Get extended file


stat() Get file status. GetFileAttributesEx()
attributes.

Get file information


fstat() Get status of an open file. GetFileInformationByHandle()
using a file handle.

Create a hard link to


link() Create a link to a file. CreateHardLink()
an existing file.

Get the status of an open Create a symbolic


symlink() CreateSymbolicLink()
file. link.

Device Management

Reserve, commit, or
Increase/decrease the VirtualAlloc() or
brk() or sbrk() free a region of
program's data space. VirtualFree()
memory.
Map a file into the
Map files or devices into
mmap() MapViewOfFile() application's address
memory.
space.

Information
Maintenance

Get the current


time() Get the current time. GetSystemTime()
system time.

Get the status of an open


alarm() SetWaitableTimer() Set a timer object.
file.

Set an alarm clock for the GetUserName() or Get the username or


getuid()
delivery of a signal. LookupAccountName() ID.

Get the group


getgid() Get the group ID. GetTokenInformation() information of a
security token.

Communication Calls

socket() Create a new socket. socket() Create a new socket.

Bind a socket to a network Bind a socket to a


bind() bind()
address. network address.

Bind a socket to a network Listen for connections


listen() listen()
address. on a socket.

Accept a new
Accept a new connection
accept() accept() connection on a
on a socket.
socket.
Initiate a connection on a Initiate a connection
connect() connect()
socket. on a socket.

Send and receive data on a Send and receive


send() or recv() send() or recv()
socket. data on a socket.

Security and Access


Control

Change the file


Change the
chmod() or umask() SetFileAttributes() or SetSecurityInfo() attributes or security
permissions/mode of a file.
info.

Change the owner and Set the security


chown() SetSecurityInfo()
group of a file. information.

Conclusion:
Operating systems are essential software components that provide a range of
functions crucial for the efficient operation of computer systems. They manage
hardware and software resources, provide user interfaces, enforce security
measures, and handle error situations. System calls serve as interfaces between
user-level processes and the operating system kernel, enabling applications to
request services such as file manipulation, process management, and device
communication. Understanding these functions and interfaces is fundamental for
developing and managing computer systems effectively.

You might also like