2023 S1 IT1020 Lecture 04

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

IT1020 – INTRODUCTION TO COMPUTER SYSTEMS

LECTURE 4:
OPERATING SYSTEMS
LECTURE OUTLINE

 What Operating Systems Do


 Operating-System Structure
 Types of Operating-Systems
 Operating-System Components
 Operating- System Services
 Computing Environments
WHAT IS AN OPERATING SYSTEM

 A program that acts as an intermediary between a user of a computer


and the computer hardware.

 Operating system goals:


 Execute user programs and make solving user problems easier
 Make the computer system convenient to use
 Manage the computer hardware in an efficient manner
OPERATING-SYSTEM STRUCTURE

 Computer system can be divided into four


components:
 Hardware – provides basic computing resources
 CPU, memory, I/O devices

 Operating system
 Controls and coordinates use of hardware among various applications
and users
 Application programs – define the ways in which the system
resources are used to solve the computing problems of the users
 Word processors, compilers, web browsers, database systems, video
games
 Users
 People, machines, other computers
PURPOSES OF AN OPERATING SYSTEM

 Provide the environment for program execution and development


 Manage the resources (CPU, memory, I/O devices, hard disk, files
etc..)
 Provide the access controlling (username and password)
COMPUTER-START UP – BOOTING PROCESS

 Bootstrap program is loaded at power-up or reboot


 Typically stored in ROM or EPROM, generally known as firmware
 Initializes all aspects of system (Power on Self Test)
 Loads operating system kernel and starts execution
TYPES OF OPERATING SYSTEM SOFTWARE
TYPES OF OPERATING SYSTEMS – MULTIPROGRAMMING OPERATING SYSTEMS

 Multiprogramming (Batch system) needed for


efficiency
 Single user cannot keep CPU and I/O devices
busy at all times
 Multiprogramming organizes jobs (code and data)
so CPU always has one to execute
 A subset of total jobs in system is kept in memory
 One job selected and run via job scheduling
 When it has to wait (for I/O for example), OS
switches to another job
TYPES OF OPERATING SYSTEMS – MULTITASKING/ TIMESHARING OPERATING SYSTEMS

 Timesharing (multitasking) is logical extension in which CPU switches jobs


so frequently that users can interact with each job while it is running, creating
interactive computing
TYPES OF OPERATING SYSTEMS – REAL-TIME OPERATING SYSTEMS

 These systems are well-defined with a fixed-time constraint – the system is


functional if it returns the correct result within the time constraint.
 Hard real-time system.

Guarantees that critical tasks complete on time.

Often used as a control device in a dedicated application

controlling scientific experiments, medical imaging systems, industrial control systems, and some
display systems
 Soft real-time system

A critical-time task gets priority over others until it completes.

Limited utility in industrial control robotics.
TYPES OF OPERATING SYSTEMS– MOBILE OPERATING SYSTEMS

 These are the operating systems for smartphones, tablets and wearables.
 The system combines the features of a personal computer with additional features
useful for a handheld device.
 Mobile operating systems start when a device is powered on to provide access to
installed applications.
 They manage wireless network connectivity.
 Leaders are Apple iOS and Google Android, Microsoft windows
OS COMPONENTS

 Process Management
 Main-memory management
 Secondary-storage management
 File Management
 I/O System Management
 Protection System
 Networking (Distributed Systems)
 Command- interpreter System
12
OPERATING SYSTEM SERVICES

 Provide user interface (UI)


 Command line interface – using text commands
 Batch interface – commands and their directives are put in a file
 Graphical user interface (GUI) – window system with pointing devices

 Provide environment for program execution.


 OS must load program and run it.

 Provide some means to do I/O


 User programs cannot execute I/O operations directly.
13
OPERATING SYSTEM SERVICES

 Provide mechanism to do file-system manipulation.


 Capability to read, write, create, and delete files, directory trees etc.

 Provide mechanism for process communication.


 Exchange information between processes executing on the same computer or on different systems
through a network.
 Implemented via shared memory or message passing.

 Detect errors and take appropriate actions to ensure correct and consistent computing.
 Detect errors in CPU and memory hardware, in I/O devices, or in user programs.
14
OPERATING SYSTEM SERVICES

 Resource allocation
 Allocating resources to multiple users or multiple jobs running at the same time (CPU scheduling, etc.).

 Accounting
 Keep track of and record which users use how much and what kinds of computer resources for account
billing or for accumulating usage statistics .

 Protection and security


 Ensuring that all access to system resources is controlled (access permissions, etc.).

15
OPERATING-SYSTEM OPERATIONS

 Dual-mode operation allows OS to protect itself and other system components


 User mode
 Monitor/ Kernal mode

Set to user mode

monitor user

Set to monitor mode


OPERATING-SYSTEM OPERATIONS

 A System calls are functions that provide services from the kernel.
INTERRUPTS

 Operating systems are Interrupt driven. Interrupts are receiving by the


CPU.
 Three types;
 Hardware interrupts – generated by hardware devices.
 Software interrupt – generated by programs when they are executing
system calls.
 Traps – generated by CPU itself to indicate an error.
COMPUTING ENVIRONMENTS – VIRTUALIZATION

 Allows operating systems to run


applications within other OSes
 Developing apps for multiple OSes without
having multiple systems
 QA testing applications without having
multiple systems
 Executing and managing computer
environments within data centers
COMPUTING ENVIRONMENTS – CLIENT-SERVER

 The model of a computer network in which


many clients (remote computers) request and
receive services from a centralized server
(host computer).
 User requests are accepting by the interface
provided by the client systems.
 Compute-server receives the requests
submitted by the users and the responses are
sending to the client to transfer to users.
COMPUTING ENVIRONMENTS – CLOUD COMPUTING

 Delivers computing, storage, even apps as a service across a network


 Logical extension of virtualization because it uses virtualization as the base for
its functionality.
 Amazon EC2 has thousands of servers, millions of virtual machines,
petabytes of storage available across the Internet, pay based on usage
 Many types
 Public cloud – available via Internet to anyone willing to pay
 Private cloud – run by a company for the company’s own use
 Hybrid cloud – includes both public and private cloud components
COMPUTING ENVIRONMENTS – CLOUD COMPUTING

 Software as a Service (SaaS) – one or more applications available via the Internet
(i.e., word processor)
 Platform as a Service (PaaS) – software stack ready for application use via the
Internet (i.e., a database server)
 Infrastructure as a Service (IaaS) – servers or storage available over Internet (i.e.,
storage available for backup use)
THANK YOU

23

You might also like