Operating System -...
Transcript of Operating System -...
Dr.Khaled Kh. Sharaf
Faculty Of Computers
And Information
Technology
First Term
2019- 2020
Operating System
Overview
Suppose you work as a manager in a company
• Where is your location in the company's organizational
structure
• So what tasks do you must to do?
• What role will you play within the company's
organizational hierarchy?
• Is there a need to company
manager? And why?
So the operating system
acts as a manager
Overview
Overview
An operating system is the most important software that
runs on a computer.
It manages the computer's memory and processes, as well
as all of its software and hardware.
It also allows you to communicate with the computer
without knowing how to speak the computer's language.
Without an operating system, a computer is useless.
The operating system acts as an intermediary between the
user of a computer and the computer hardware.
The purpose of an operating system is to provide an
Environment in which a user can execute programs in
a convenient and efficient manner.
Overview
Internally, operating systems vary greatly in their
makeup, since they are organized along many different
lines.
The design of a new operating system is a major task.
It is important that the goals of the system be well
defined before the design begins.
These goals form the basis for choices among various
algorithms and strategies.
Because an operating system is large and complex, it must
be Created piece by piece.
Each of these pieces should be a well-delineated portion
of the system, with carefully defined inputs, outputs,
and functions.
Overview
Overview
Overview
Definition
An operating system is
a program that acts as
an interface between
the user and the
computer hardware
and controls the
execution of all kinds
of programs.
Overview
Overview
Your computer's operating system (OS) manages all
of the software and hardware on the computer.
Most of the time, there are several different
computer programs running at the same time, and
they all need to access your computer's central
processing unit (CPU), memory, and storage.
The operating system coordinates all of this to
make sure each program gets what it needs.
The operating system's job
Overview
Operating systems usually come pre-loaded on any
computer you buy. Most people use the operating
system that comes with their computer, but it's
possible to upgrade or even change operating
systems. The three most common operating systems
for personal computers are Microsoft Windows,
macOS, and Linux.
Modern operating systems use a graphical user
interface, or GUI (pronounced gooey).
Types of operating systems
Overview
A GUI lets you use your mouse to click icons,
buttons, and menus, and everything is clearly
displayed on the screen using a combination of
graphics and text.
Types of operating systems
Overview
Types of operating systems
Each operating system's GUI has a different look and
feel, so if you switch to a different operating system
it may seem unfamiliar at first. However, modern
operating systems are designed to be easy to use, and
most of the basic principles are the same.
Overview
Microsoft Windows
Microsoft created the Windows operating system in the
mid-1980s. There have been many different versions of
Windows, but the most recent ones are Windows 10
(released in 2015), Windows 8 (2012), Windows 7 (2009),
and Windows Vista (2007). Windows comes pre-loaded on
most new PCs, which helps to make it the most popular
operating system in the world.
Overview
macOS
macOS (previously called OS X) is a line of operating systems created by Apple. It comes preloaded on all
Macintosh computers, or Macs. Some of the specific
versions include Mojave (released in 2018), High Sierra
(2017), and Sierra (2016).
According to
StatCounter Global Stats,
macOS users account for
Less than 10% of global
operating systems—much
lower than the percentage
of Windows users
(more than 80%).
One reason for this is that Apple computers tend to be
more expensive.
However, many people do prefer the look and feel of
macOS over Windows.
Overview
Linux
Linux (pronounced LINN-ux) is a family of open-source
operating systems, which means they can be modified and
distributed by anyone around the world. This is
different from proprietary software like Windows, which
can only be modified by the company that owns it. The
advantages of Linux are that it is free, and there are
many different distributions—or versions—you can choose
from.
According to StatCounter
Global Stats, Linux users
account for less than 2%
of global operating systems.
However, most servers run
Linux because it's
relatively easy to
customize.
Overview
Operating systems for mobile devices
The operating systems we've been talking about so far
were designed to run on desktop and laptop computers.
Mobile devices such as phones, tablet computers, and MP3
players are different from desktop and laptop computers,
so they run operating systems that are designed
specifically for mobile devices.
Examples of mobile operating systems include Apple iOS
and Google Android.
Overview
Operating systems for mobile devices
In the screenshot below you can see iOS running on an
iPad.
Operating systems
for mobile devices
generally aren't as
fully featured as
those made for
desktop and laptop
computers, and they
aren't able to run
all of the same
software.
However, you can still do a lot of things with them,
like watch movies, browse the Web, manage your calendar,
and play games.
Topics:
1. Introduction
2. Process Management
3. Memory Management
4. Storage Management
5. Protection and Security
Overview
A process can be thought of as a program in execution.
A process will need certain resources—such as CPU time,
memory, files, and I/O devices—to accomplish its task.
These resources are allocated to the process either when
it is created or while it is executing.
A process is the unit of work in most systems. Systems
consist of a collection of processes:
• operating-system processes execute system code
• user processes execute user code
All these processes may execute concurrently.
Processor Management
Overview
Although traditionally a process contained only a single
thread of control as it ran, most modern operating
systems now support processes that have multiple threads.
The operating system is responsible for several important
aspects of process and thread management:
• The creation and deletion of both user and system
processes.
• The scheduling of processes.
• The provision of mechanisms for synchronization,
communication, and deadlock handling for processes.
Processor Management Cont.
Overview
Main objectives:
• To introduce the notion of a process—a program in
execution, which forms the basis of all computation.
• To describe the various features of processes,
including scheduling, creation, and termination.
• To explore interprocess communication using shared
memory and message passing.
• To describe communication in client–server systems.
Processor Management Cont.
Overview
The main purpose of a computer system is to execute
programs.
These programs, together with the data they access, must
be at least partially in main memory during execution.
To improve both the utilization of the CPU and the speed
of its response to users, a general-purpose computer must
keep several processes in memory.
Many memory-management schemes exist, reflecting various
approaches, and the effectiveness of each algorithm
Depends on the situation.
Selection of a memory-management scheme for a system
depends on many factors, especially on the hardware
design of the system. Most algorithms require hardware
support.
Memory Management
Overview
Main objectives:
• To provide a detailed description of various ways of
organizing Memory hardware.
• To explore various techniques of allocating memory to
processes.
• To discuss in detail how paging works in contemporary
computer systems.
Memory Management Cont.
Overview
Since main memory is usually too small to accommodate all
the data and programs permanently, the computer system
must provide secondary storage to back up main memory.
Modern computer systems use disks as the primary on-line
storage medium for information (both programs and data).
The file system provides the mechanism for on-line storage
of and access to both data and programs residing on
the disks.
A file is a collection of related information defined by
its creator.
The files are mapped by the operating system onto physical
devices.
Storage Management
Overview
Files are normally organized into directories for ease
of use.
The devices that attach to a computer vary in many aspects
• Some devices transfer a character or a block of
characters at a time.
• Some can be accessed only sequentially, others randomly.
• Some transfer data synchronously, others asynchronously.
• Some are dedicated,
• Some shared.
They can be read-only or read–write. They vary greatly in
speed.
In many ways, they are also the slowest major component
of the computer.
Storage Management Cont.
Overview
Because of all this device variation, the operating
system needs to provide a wide range of functionality to
applications, to allow them to control all aspects of
the devices.
One key goal of an operating system’s I/O subsystem is to
provide the simplest interface possible to the rest of
the system. Because devices are a performance bottleneck,
another key is to optimize I/O for maximum concurrency.
Storage Management Cont.
Overview
Main objectives:
• To describe the physical structure of secondary storage
devices and its effects on the uses of the devices.
• To explain the performance characteristics of
mass-storage devices.
• To evaluate disk scheduling algorithms.
• To discuss operating-system services provided for mass
storage, including RAID.
Storage Management Cont.
Overview
Protection mechanisms control access to a system by
limiting the types of file access permitted to users.
In addition, protection must ensure that only processes
that have gained proper authorization from the operating
system can operate on memory segments, the CPU, and other
resources.
Protection is provided by a mechanism that controls the
access of programs, processes, or users to the resources
defined by a computer system. This mechanism must provide
a means for specifying the controls to be imposed,
together with a means of enforcing them.
Protection and Security
Overview
Security ensures the authentication of system users
to protect the integrity of the information stored in the
system (both data and code), as well as the physical
resources of the computer system.
The security system prevents unauthorized access,
malicious destruction or alteration of data, and
accidental introduction of inconsistency.
Protection and Security Cont.
Overview
Main objectives:
• To discuss the goals and principles of protection in
a modern computer system.
• To explain how protection domains, combined with an
access matrix, are used to specify the resources
a process may access.
• To examine capability- and language-based protection
systems.
Protection and Security Cont.
Overview
The intention of operating systems and their functions,
introduction to various operating systems and their
tools, knowledge and use of the basic concepts of the
common operating systems of most computers, such as
organizing the processor, memory management, file
organization, virtual memory scheduling processors,
Kernel system and feeding system.
Course description
Overview
• To introduce the notion of a process—a program in
execution, which forms the basis of all computation.
• To describe the various features of processes,
including scheduling, creation, and termination.
• To explore interprocess communication using shared
memory and message passing.
• To describe communication in client–server systems.
• To provide a detailed description of various ways of
organizing Memory hardware.
• To explore various techniques of allocating memory to
processes.
• To discuss in detail how paging works in contemporary
computer systems.
Course Objectives
Overview
• To describe the physical structure of secondary storage
devices and its effects on the uses of the devices.
• To explain the performance characteristics of
mass-storage devices.
• To evaluate disk scheduling algorithms.
• To discuss operating-system services provided for mass
storage, including RAID.
• To discuss the goals and principles of protection in
a modern computer system.
• To explain how protection domains, combined with an
access matrix, are used to specify the resources
a process may access.
• To examine capability- and language-based protection
systems.
Course Objectives Cont.
Overview
Semester Teaching plan
Overview
Week Topics No
1 Course syllabus and course overview,
operating System
1.
2 Introduction 2.
3,4,5 Process Management 3.
6,8,9 Memory Management 4.
7 Midterm Exam 5.
10,11,12 Storage Management 6.
13,14 Protection and Security 7.
15 Review 8.
16 Final Exam 9.
Overview
Marks Task No
10 Quizzes, Home works 1
20 Midterm Exam 2
10 Lab 4
60 Final Exam 5
Evaluation tasks
Text book:
OPERATING SYSTEM CONCEPTS, ABRAHAM SILBERSCHATZ,
PETER BAER GALVIN,GREG GAGNE
NINTH EDITION
Course materials
Overview
Finally
I wish you good luck