0% found this document useful (0 votes)
42 views

Unit 1 - OS

1) Introduction and operating system Structure 2) Operating system operations 3) Functions of the Operating System

Uploaded by

Deepak Ulape
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Unit 1 - OS

1) Introduction and operating system Structure 2) Operating system operations 3) Functions of the Operating System

Uploaded by

Deepak Ulape
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Unit 1: Introduction and operating system Structure:

Operating System is a fully integrated set of specialized programs that


handle all the operations of the computer. It controls and monitors the execution
of all other programs that reside in the computer, which also includes application
programs and other system software of the computer. Examples of Operating
Systems are Windows, Linux, Mac OS, etc.

An Operating System (OS) is a collection of software that manages computer


hardware resources and provides common services for computer programs. The
operating system is the most important type of system software in a computer
system.
The roles of an operating system can be broadly categorized into the
following:
1. Hardware Abstraction: The OS abstracts the underlying hardware complexities,
providing a consistent interface for software applications. This abstraction allows
software developers to write programs without having to worry about the
specifics of the hardware.
2. Resource Management: The OS manages computer hardware resources such
as the CPU, memory, disk space, and peripherals. It allocates resources to
different tasks and ensures efficient utilization of available resources.
3. Process Management: The OS manages processes (running instances of
programs). It handles process scheduling, which involves deciding which process
gets to use the CPU at any given time. It also provides mechanisms for process
synchronization and communication.
4. Memory Management: The OS handles memory allocation and manages the
physical and virtual memory space. It ensures that processes have access to the
memory they need and prevents memory conflicts.
5. File System Management: The OS provides a file system that organizes and
manages files on storage devices such as hard drives, SSDs, and flash drives. It
handles file creation, deletion, reading, and writing.
6. Device Management: The OS controls communication with input and output
devices (e.g., keyboards, mice, printers, displays) by providing device drivers and
managing device access.
7. User Interface: The OS provides a user interface through which users can
interact with the computer. This can include command-line interfaces (CLI) or
graphical user interfaces (GUI) that allow users to run programs, manage files,
and configure settings.
8. Security and Access Control: The OS enforces security policies to protect the
system and its data. It controls user access to resources and ensures that
unauthorized users cannot compromise the system's integrity.
9. Error Handling and Recovery: The OS monitors system activities and detects
errors or faults. It may attempt to recover from errors, restart processes, or even
reboot the system if necessary.
10. Networking and Communication: In modern computing environments, the OS
provides networking capabilities, allowing computers to communicate over local
or wide-area networks. It manages network connections, protocols, and data
transfer.
11. System Services: The OS provides various system services that enable
applications to perform tasks like timekeeping, event handling, and inter-process
communication.
12. Virtualization and Containerization: Many modern operating systems support
virtualization and containerization technologies, allowing multiple instances of OS
environments to run on a single physical machine. This is useful for server
consolidation and application isolation.
These roles collectively ensure that computer systems operate efficiently,
securely, and in a user-friendly manner. Different operating systems (such as
Windows, macOS, Linux, and various Unix variants) implement these roles with
varying approaches and features.

Operating system operations:


Operating system operations refer to the various tasks and activities
performed by an operating system to manage the computer's hardware and
software resources and provide a seamless user experience.
1. Bootstrapping: The process of loading the operating system into the
computer's memory and initializing the system. It involves loading the kernel,
which is the core part of the operating system, into memory from storage and
initializing essential hardware components.
2. Process Management:
1) Process Creation: Creating new processes to execute programs or tasks.
2) Process Scheduling: Deciding which process gets to use the CPU at any
given time.
3) Process Synchronization: Managing the synchronization of processes to
avoid conflicts and ensure orderly execution.
4) Process Communication: Providing mechanisms for processes to
communicate and share data.
3. Memory Management:
1) Memory Allocation: Assigning memory space to processes for data and
program execution.
2) Memory Protection: Ensuring that processes do not interfere with each
other's memory spaces.
3) Memory Paging and Swapping: Techniques to manage the movement of
data between main memory and secondary storage (e.g., disk) to optimize
memory usage.
4. File System Operations:
- File Creation, Reading, and Writing: Managing files and their data on storage
devices.
- File Permissions and Access Control: Controlling who can access and modify
files and directories.
- File System Maintenance: Activities like disk space allocation, error checking,
and file system repair.
5. Device Management:
- Device Drivers: Providing software interfaces for hardware devices to
communicate with the OS.
- Device I/O Operations: Managing input and output operations for devices such
as keyboards, mice, printers, and displays.
6. User Interface:
- Command-Line Interface (CLI): Allowing users to interact with the OS using
text-based commands.
- Graphical User Interface (GUI): Providing a visual interface with icons,
windows, menus, and pointers.
7. Security and Access Control:
- User Authentication: Verifying the identity of users trying to access the system.
- Access Control Lists (ACLs): Defining permissions and restrictions for users and
groups.
- Encryption: Protecting sensitive data by converting it into unreadable code.
8. Networking and Communication:
- Network Protocol Support: Managing network connections, data transfer, and
communication between systems.
- Network Configuration: Setting up network interfaces, IP addresses, and
routing.
9. Error Handling and Recovery:
- Error Detection: Monitoring system activities for errors and faults.
- Error Reporting: Notifying users or administrators about errors.
- Error Recovery: Attempting to recover from errors or failures and restoring
normal operation.

10. Shutdown and Restart: Properly shutting down or restarting the system,
including terminating processes and saving system state.
These operations collectively allow the operating system to provide a stable
and efficient environment for running applications, managing hardware
resources, and enabling user interaction.

Functions of the Operating System

 Resource Management: The operating system manages and allocates


memory, CPU time, and other hardware resources among the various
programs and processes running on the computer.
 Process Management: The operating system is responsible for starting,
stopping, and managing processes and programs. It also controls the
scheduling of processes and allocates resources to them.
 Memory Management: The operating system manages the computer’s
primary memory and provides mechanisms for optimizing memory usage.
 Security: The operating system provides a secure environment for the user,
applications, and data by implementing security policies and mechanisms
such as access controls and encryption.
 Job Accounting: It keeps track of time and resources used by various jobs
or users.
 File Management: The operating system is responsible for organizing and
managing the file system, including the creation, deletion, and manipulation
of files and directories.
 Device Management: The operating system manages input/output devices
such as printers, keyboards, mice, and displays. It provides the necessary
drivers and interfaces to enable communication between the devices and the
computer.
 Networking: The operating system provides networking capabilities such as
establishing and managing network connections, handling network protocols,
and sharing resources such as printers and files over a network.
 User Interface: The operating system provides a user interface that enables
users to interact with the computer system. This can be a Graphical User
Interface (GUI), a Command-Line Interface (CLI) , or a combination of both.
 Backup and Recovery: The operating system provides mechanisms for
backing up data and recovering it in case of system failures, errors, or
disasters.
 Virtualization: The operating system provides virtualization capabilities that
allow multiple operating systems or applications to run on a single physical
machine. This can enable efficient use of resources and flexibility in
managing workloads.
 Performance Monitoring: The operating system provides tools for
monitoring and optimizing system performance, including identifying
bottlenecks, optimizing resource usage, and analyzing system logs and
metrics.
 Time-Sharing: The operating system enables multiple users to share a
computer system and its resources simultaneously by providing time-sharing
mechanisms that allocate resources fairly and efficiently.
 System Calls: The operating system provides a set of system calls that
enable applications to interact with the operating system and access its
resources. System calls provide a standardized interface between
applications and the operating system, enabling portability and compatibility
across different hardware and software platforms.
 Error-detecting Aids: These contain methods that include the production of
dumps, traces, error messages, and other debugging and error-detecting
methods.

Computing Environments :
Computing environments refer to the technology infrastructure and software
platforms that are used to develop, test, deploy, and run software applications.
There are several types of computing environments, including:

Types of Computing Environments : There are the various types of


computing environments. They are :
Computing Environments Types

1. Personal Computing Environment : In personal computing environment


there is a stand-alone machine. Complete program resides on computer and
executed there. Different stand-alone machines that constitute a personal
computing environment are laptops, mobiles, printers, computer systems,
scanners etc. That we use at our homes and offices.
2. Time-Sharing Computing Environment : In Time Sharing Computing
Environment multiple users share system simultaneously. Different users
(different processes) are allotted different time slice and processor switches
rapidly among users according to it. For example, student listening to music
while coding something in an IDE. Windows 95 and later versions, Unix,
IOS, Linux operating systems are the examples of this time sharing
computing environment.
3. Client Server Computing Environment : In client server computing
environment two machines are involved i.e., client machine and server
machine, sometime same machine also serve as client and server. In this
computing environment client requests resource/service and server provides
that respective resource/service. A server can provide service to multiple
clients at a time and here mainly communication happens through computer
network.
4. Distributed Computing Environment: In a distributed computing
environment multiple nodes are connected together using network but
physically they are separated. A single task is performed by different
functional units of different nodes of distributed unit. Here different programs
of an application run simultaneously on different nodes, and communication
happens in between different nodes of this system over network to solve
task.
5. Grid Computing Environment: In grid computing environment, multiple
computers from different locations works on single problem. In this system
set of computer nodes running in cluster jointly perform a given task by
applying resources of multiple computers/nodes. It is network of computing
environment where several scattered resources provide running environment
for single task.
6. Cloud Computing Environment: In cloud computing environment on
demand availability of computer system resources like processing and
storage are availed. Here computing is not done in individual technology or
computer rather it is computed in cloud of computers where all required
resources are provided by cloud vendor. This environment primarily
comprised of three services i.e software-as-a-service (SaaS), infrastructure-
as-a-service (IaaS), and platform-as-a-service (PaaS) .
7. Cluster Computing Environment : In cluster computing environment
cluster performs task where cluster is a set of loosely or tightly connected
computers that work together. It is viewed as single system and performs
task parallelly that’s why also it is similar to parallel computing environment.
Cluster aware applications are especially used in cluster computing
environment.

Advantages of different computing environments:


1. Mainframe: High reliability, security, and scalability, making it suitable for
mission-critical applications.
2. Client-Server: Easy to deploy, manage and maintain, and provides a
centralized point of control.
3. Cloud Computing: Cost-effective and scalable, with easy access to a wide
range of resources and services.
4. Mobile Computing: Allows users to access information and applications from
anywhere, at any time.

Disadvantages of different computing environments:

1. Mainframe: High cost and complexity, with a significant learning curve for
developers.
2. Client-Server: Dependence on network connectivity, and potential security
risks from centralized data storage.
3. Cloud Computing: Dependence on network connectivity, and potential
security and privacy concerns.
4. Mobile Computing: Limited processing power and memory compared to
other computing environments, and potential security risks.

Operating system services:


The operating system provides the programming environment in which a programmer
works on a computer system. The user program requests various resources through the
operating system. The operating system gives several services to utility programmers
and users. Applications access these services through application programming
interfaces or system calls. By invoking those interfaces, the application can request a
service from the operating system, pass parameters, and acquire the operation
outcomes.

Following are the services provided by an operating system -

o Program execution
o Control Input/output devices
o Program creation
o Error Detection and Response
o Accounting
o Security and Protection
o File Management
o Communication

Program execution

To execute a program, several tasks need to be performed. Both the instructions and
data must be loaded into the main memory. In addition, input-output devices and files
should be initialized, and other resources must be prepared. The Operating structures
handle these kinds of tasks. The user now no longer should fear the reminiscence
allocation or multitasking or anything.

Control Input/output devices

As there are numerous types of I/O devices within the computer system, and each I/O
device calls for its own precise set of instructions for the operation. The Operating
System hides that info with the aid of presenting a uniform interface. Thus, it is
convenient for programmers to access such devices easily.

Program Creation

The Operating system offers the structures and tools, including editors and debuggers,
to help the programmer create, modify, and debugging programs.

Error Detection and Response

An Error in a device may also cause malfunctioning of the entire device. These include
hardware and software errors such as device failure, memory error, division by zero,
attempts to access forbidden memory locations, etc. To avoid error, the operating
system monitors the system for detecting errors and takes suitable action with at least
impact on running applications.

While working with computers, errors may occur quite often. Errors may occur in the:

o Input/ Output devices: For example, connection failure in the network, lack of
paper in the printer, etc.
o User program: For example: attempt to access illegal memory locations, divide
by zero, use too much CPU time, etc.
o Memory hardware: For example, Memory error, the memory becomes full, etc.

To handle these errors and other types of possible errors, the operating system takes
appropriate action and generates messages to ensure correct and consistent computing.

Accounting

An Operating device collects utilization records for numerous assets and tracks the
overall performance parameters and responsive time to enhance overall performance.
These personal records are beneficial for additional upgrades and tuning the device to
enhance overall performance.

Security and Protection

Operating device affords safety to the statistics and packages of a person and protects
any interference from unauthorized users. The safety feature counters threats, which are
published via way of individuals out of doors the manage of the running device.
For Example:

When a user downloads something from the internet, that program may contain
malicious code that may harm the already existing programs. The operating system
ensures that proper checks are applied while downloading such programs.

File management

Computers keep data and information on secondary storage devices like magnetic tape,
magnetic disk, optical disk, etc. Each storage media has its capabilities like speed,
capacity, data transfer rate, and data access methods.

For file management, the operating system must know the types of different files and
the characteristics of different storage devices. It has to offer the proportion and safety
mechanism of documents additionally.

Communication

The operating system manages the exchange of data and programs among different
computers connected over a network. This communication is accomplished using
message passing and shared memory.

User and operating system interface :


The user and operating system interface refers to the means through which users
interact with and control the functions and resources of an operating system (OS). This
interface provides users with the tools and methods they need to manage and utilize
the computer's hardware and software resources effectively. There are primarily two
types of user and operating system interfaces: Command-Line Interface (CLI) and
Graphical User Interface (GUI).

1. Command-Line Interface (CLI):

A CLI is a text-based interface that allows users to interact with the operating system
by typing commands in a command prompt or terminal window. Users provide
instructions to the OS by entering text commands, and the OS responds with text-based
output. CLI interfaces are often used by system administrators, developers, and power
users for their efficiency and scriptability. Some common features of a CLI include:
- Commands: Users enter specific commands and parameters to perform tasks.

- Scripting: Users can create scripts to automate repetitive tasks.

- Flexibility: Allows for precise control and direct access to system functions.

- Resource Efficiency: CLI environments use fewer system resources compared to GUIs.

Examples of CLI interfaces include the Windows Command Prompt, Unix/Linux


terminal, and macOS Terminal.

2. Graphical User Interface (GUI):

A GUI is a visual interface that uses graphics, icons, menus, and windows to enable
user interaction with the operating system and applications. GUIs are designed to be
more intuitive and user-friendly, making them accessible to a broader range of users,
including those who may not be familiar with command-line interactions. GUI interfaces
provide features such as:

- Visual Elements: Icons, buttons, menus, and windows for navigation and
interaction.

- Point-and-Click: Users can interact with elements by using a mouse or touch input.

- Multitasking: Users can run multiple applications concurrently in separate windows.

- WYSIWYG (What You See Is What You Get): Allows users to view documents or
layouts as they will appear when printed or displayed.

Examples of GUI interfaces include the Windows Desktop, macOS Finder, and
various desktop environments in Linux distributions like GNOME and KDE.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy