[go: up one dir, main page]

0% found this document useful (0 votes)
15 views36 pages

OS Chapter One

The document provides an overview of operating systems, detailing their fundamental components, types, and functions. It explains the distinction between hardware and software, the role of system software, and the specific tasks performed by operating systems, such as resource management and process control. Additionally, it categorizes different types of operating systems, including batch, time-sharing, distributed, network, and real-time systems.

Uploaded by

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

OS Chapter One

The document provides an overview of operating systems, detailing their fundamental components, types, and functions. It explains the distinction between hardware and software, the role of system software, and the specific tasks performed by operating systems, such as resource management and process control. Additionally, it categorizes different types of operating systems, including batch, time-sharing, distributed, network, and real-time systems.

Uploaded by

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

FUNDAMENTAL OF OPERATING SYSTEM

LECTURE NOTE
For Second Year Software Engineering Regular
Students

Chapter One
Fundamental of Operating System

Prepared By: Banteamlak B.


opening question as introdaction
►Define Computer
► What is Computer system
►Differentiate Hardware and software
► System Software
► Application software
►About Operating System
 Computer system is a complex integration of hardware and software
components designed to perform a wide range of tasks.
 The structure of a computer system can be broadly categorized into
several key components, each playing a crucial role in the overall
functionality and performance of the system.
Hardware

 Hardware refers to the physical components of a computer system. These are tangible devices that work
together to process data and execute tasks.
Key Components of Hardware:
 Central Processing Unit (CPU): The "brain" of the computer, responsible for executing instructions and
performing calculations.
 Memory (RAM): Temporary storage that holds data and instructions currently in use by the CPU.
 Storage Devices: Permanent storage for data, such as Hard Disk Drives (HDDs), Solid-State Drives (SSDs),
and optical drives.
 Input Devices: Tools like keyboards, mice, and scanners that allow users to input data.
 Output Devices: Tools like monitors, printers, and speakers that display or produce results.
 Motherboard: The main circuit board that connects all hardware components.
Software
 Software is a set of instructions, programs, or data that enables a
computer or electronic device to perform specific tasks or functions.
Unlike hardware, which refers to the physical components of a computer.
 Software is intangible and includes various types of applications and
systems that allow users to interact with the technology.
Application software

Application software is designed to help users perform specific tasks or activities.


Typically divided into two classes:
 General-Purpose Software Software designed to perform a variety of tasks and is
suitable for a broad range of users.
Example: Microsoft Word, Google Docs, Microsoft Excel, Google Sheets ,Microsoft
PowerPoint, Google Slides.
 Specialized Software designed for specific tasks or industries, catering to particular
needs.
Example: Adobe Photoshop, CorelDRAW
System Software
 System software is essential for the overall functioning of a
computer system, enabling the execution of application software
and ensuring efficient hardware operation.
• An operating system is a basic type of system software. In
addition to this system software, there are other examples.
 Assembler: Translates assembly language code (a low-level programming
language) into machine code that the computer's processor can execute.
 Loader: A program that loads executable files (compiled code) into memory
and prepares them for execution.
 Compiler: Converts high-level programming languages (like C, Java, or
Python) into machine code or intermediate code, enabling the program to be run
on a computer.

What is operating system ⁉️


Operating System (OS)

 An Operating System is a fundamental piece of system software that acts as an


intermediary between the hardware of a computer and the user or application
software.
 Every computer system must have at least one operating system to run other
programs.
 An operating system is the backbone of a computer system, enabling
communication between hardware, software, and the user.
Operating system is a set of special programs that run on a computer
system that allows it to work properly performs the following basic
tasks
Recognizing input from the keyboard
Keeping track of files and directories on the disk.
It manage system resources.
Sending output to the screen.
Controlling the peripheral devices.
Operating System is a resource allocator
 As a resource allocator, it acts as manager of resources(hardware and software) and
allocates them to specific programs and users as necessary for tasks.
 Decides between conflicting requests for efficient and fair resource use
 Resource management includes multiplexing (sharing) resources in two different
ways: in time and in space
Operating System is a control program
 Controls execution of programs to prevent errors and improper use of th
computer
Basic Functions of Operating System
 Convenience: An OS makes a computer more convenient to use.
 Efficiency: An OS allows the computer system resources to be used in an
efficient manner.
 Ability to Evolve: An OS should be constructed in such a way as to permit the
effective development, testing and introduction of new system functions without
at the same time interfering with service
Goal of operating system is designed to serve the following purposes.
1) Resource Management: Disk, CPU cycles, etc. must be managed efficiently to
maximize overall system performance. It controls the allocation and use of the
computing system‘s resources among the various user and tasks.
2) Resource Abstraction: Software interface to simplify use of hardware resources .
It provides an interface between the computer hardware and the programmer that
simplifies and makes feasible for coding, creation, debugging of application
programs
3) Virtualization: Supports resource sharing – gives each process the appearance of
an unshared resource
Example of operating system
 Windows
 Apple macOS
 Google's Android OS.
 Apple iOS.
 Linux Operating System etc.
 Ubuntu
Reading Assignment
 About Ubuntu Operating system
 About Linux Operating System
Operating System Services
 An operating system provides services to programs and to the users
of those programs. It provided by one environment for the execution
of programs.
The common service provided by the operating system is listed below.

1. Program execution
2. I/O operation
3. File system manipulation
4. Communications
5. Error detection
1. Program execution: Operating system loads a program into memory and
executes the program. The program must be able to end its execution,
either normally or abnormally.
2. I/O Operation : I/O means any file or any specific I/O device. Program may
require any I/O device while running. So operating system must provide the
required I/O.
3. File system manipulation : Program needs to read a file or write a file.
The operating system gives the permission to the program for operation on
file.
4. Communication : Data transfer between two processes is required for some time.
The both processes are on the one computer or on different computer but connected
through computer network. Communication may be implemented by two methods:
Shared memory
Message passing.
5. Error detection : error may occur in CPU, in I/O devices or in the memory
hardware. The operating system constantly needs to be aware of possible errors. It
should take the appropriate action to ensure correct and consistent computing.
Operating system with multiple users provides following services:
A. Resource Allocation
B. Accounting
C. Protection
 Resource Allocation :If there are more than one user or jobs running at the same
time, then resources must be allocated to each of them. Operating system manages
different types of resources require special allocation code, i.e. main memory, CPU
cycles and file storage.
 There are some resources which require only general request and release code. For
allocating CPU, CPU scheduling algorithms are used for better utilization of CPU. CPU
scheduling algorithms are used for better utilization of CPU. CPU scheduling routines
consider the speed of the CPU, number of available registers and other required
factors.
 Accounting : Logs of each user must be kept. It is also necessary to keep record of
which user how much and what kinds of computer resources. This log is used for
accounting purposes.
 The accounting data may be used for statistics or for the billing. It also used to
improve system efficiency.
 Protection :Protection involves ensuring that all access to system resources is
controlled. Security starts with each user having to authenticate to the system,
usually by means of a password. External I/O devices must be also protected from
invalid access attempts.
 In protection, all the access to the resources is controlled. In multiprocess
environment, it is possible that, one process to interface with the other, or with the
operating system, so protection is required.
Operating System Components
 Modern operating systems share the goal of supporting the system components. The
system components are :
Process Management
Main-Memory Management
Secondary-Storage Management
I/O System Management
File Management
Protection System
Networking
Command-Interpreter System
Process management
 Every software application program has one or more processes associated with them
when they are running.
Functions of process management in OS includes:

Creation and deletion of user and system processes.


Suspension and resumption of processes.
A mechanism for process synchronization.
A mechanism for process communication.
A mechanism for deadlock handling.
Main-Memory Management
 Memory is a large array of words or bytes, each with its own address. It is a
repository of quickly accessible data shared by the CPU and I/O devices.
The major activities of an operating system in regard to memory-management are:
Keep track of which part of memory are currently being used and by
whom.
Decide which processes are loaded into memory when memory space
becomes available.
Allocate and deallocate memory space as needed.
I/O System Management

 The I/O system consists of:

A buffer-caching system
A general device-driver interface
Drivers for specific hardware devices (device drivers)
Device Drivers
Must have access to I/O hardware
Must be able to handle interrupts.
Communicate with other parts of the OS (File system,Networking etc).
File Management
 A file is a collection of related information.
 Commonly, files represent programs (both source and object forms) and data.
 The operating system is responsible for the following activities in connection
with file management:
 File creation and deletion.
 Directory creation and deletion.
 Support of primitives for manipulating files and directories.
 Mapping files onto secondary storage. e.g. free space allocation.
 File backup on stable (non-volatile) storage media.
Protection System
 Protection refers to a mechanism for controlling access by programs, processes,
or users to both system and user resources.
 Operating Systems commonly control access by using permissions. All system
resources have an owner and a permission associated with them.
Users may be combined into groups for the purpose of protection. e.g. in UNIX every
file has an owner and a group.
Networking(Distributed system)
 A distributed system is a collection of processors that do not share memory,
peripheral devices, or a clock.
 The processors communicate with one another through communication lines called
network
Command-Interpreter System

 Many commands are given to the operating system by control statements which deal with:
process creation and management (e.g. running a program)
I/O handling (e.g. set terminal type)
secondary-storage management (e.g. format a disk)
main-memory management (e.g. specify virtual memory
parameters)
file-system access (e.g. print file)
protection (e.g. set permissions)
networking (e.g. set IP address)
 The program that reads and interprets control statements is called variously:
command-line interpreter
shell (in UNIX)
Type of Operating system
Batch System
Time Sharing System
Distributed operating system
Network operating system
Real-time operating system
Batch Operating System

 The users of batch operating system do not interact with the computer directly.
• Each user prepares his job on an off-line device like punch cards and submits it to
the computer operator. To speed up processing, jobs with similar needs are batched
together and run as a group.
• Thus, the programmers left their programs with the operator. The operator then
sorts programs into batches with similar requirements.
Eg: payroll system, bank statement
 The problems with Batch Systems are following.
 Lack of interaction between the user and job.
 CPU is often idle, because the speeds of the mechanical I/O devices is slower than CPU.
 Difficult to provide the desired priority.
Time Sharing operating System

 Time sharing is a technique which enables many people, located at various


terminals(shell), to use a single computer system at the same time.
 The processor time (CPU) which is shared among multiple users simultaneously
is termed as time sharing.
 Time-sharing or multitasking is a logical extension of multiprogramming.
Example: UNIX, Mutics, Linux….
 Multiple jobs are executed by the CPU by switching between them, but the
switches occur so frequently. Thus, the user can receive an immediate
response.
Advantages
 Provide advantage of quick response.
 Avoids duplication of software.
 Reduces CPU idle time.

Disadvantages
 Problem of reliability.
 Question of security.
 Problem of data communication.
Distributed operating system

 Distributed systems use many processors located in different


machines to provide very fast computation to its users
 Data processing jobs are distributed among the processors
accordingly to which one can perform each job most efficiently
 The processors communicate with one another through various
communication lines (such as high-speed buses or telephone
lines).
 These are referred as loosely coupled systems or distributed
systems.
Advantages
 With resource sharing facility user at one site may be able to use the
resources available at another.
 Speedup the exchange of data with one another via electronic mail.
 If one site fails in a distributed system, the remaining sites can potentially
continue operating.
 Better service to the customers.
 Reduction of the load on the host computer.
 Reduction of delays in data processing.
Network operating system
 A Network Operating System runs on a server it provides the server the
capability to manage data, users, groups, security, applications, and other
networking functions.
 The primary purpose of the network operating system is to allow shared file
and printer access among multiple computers in a network, typically a local
area network (LAN), a private network or to other networks.
Examples of network operating systems are Microsoft Windows Server 2003, Microsoft
Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD
Cont..

A network operating system (NOS) is a software system that manages network


resources, services, and data across multiple computers. It allows users to share files,
printers, and internet connections, and communicate with each other.
cont…
Advantage
 Centralized servers are highly stable.
 Security is server managed.
 Upgrades to new technologies and hardware can be easily integrated
into the system.
 Remote access to servers is possible from different locations and types
of systems.
Disadvantage
 High cost of buying and running a server.
 Dependency on a central location for most operations.
 Regular maintenance and updates are required.
Real-time operating system
• A real-time system is defined as a data processing system in which the time interval required
to process and respond to inputs is so small that it controls the environment.
• The time taken by the system to respond to an input and display of required updated
information is termed as the response time.
• Real-time systems are used when there are rigid time requirements on the operation of a
processor or the flow of data and real-time systems can be used as a control device in a
dedicated application.
• A real-time operating system must have well-defined, fixed time constraints, otherwise the
system will fail.
For example, Scientific experiments, medical imaging systems, industrial control systems,
weapon systems, robots, air traffic control systems, etc.
Thank you! If you have
question, you welcome!

You might also like