SlideShare a Scribd company logo
1 of 76
Download to read offline
OS –DEFINITION
2
DEFINITION
• It is difficult to clearly define operating system.
• In general, there is no completely adequate definition of OS.
• Also, there is no universally accepted definition what is OS part.
• Simple: includes everything seller delivers as "operating system".
• However, characteristics vary from system to system:
• Some systems take up less than 1 MB of space and do not even
have a word processing program, while others require several
GB of space and are fully windows-based and graphics-oriented.
3
DEFINITION
• Therefore, it is usually understood that operating system is a
program constantly running in computer (or a program that is
constantly in computer main memory) and then usually called
the kernel.
• Along with the kernel, there are two other types of programs:
system programs, which are associated with the operating
system but are not necessarily part of the kernel, and application
programs, which include all programs not associated with the
operation of the system.
• The matter of what makes an OS became increasingly important.
4
DEFINITION
• In 1998, the United States Department of Justice filed suit
against Microsoft, in essence claiming that Microsoft included
too much functionality in its operating systems and thus
prevented application vendors from competing. (For example, a
Web browser was an integral part of the operating systems.) As
a result, Microsoft was found guilty of using its operating-system
monopoly to limit competition.
5
USER VIEW
• Issue is that operating systems have two "unrelated" role:
➢ provides user programs clean abstraction set of resources instead of
chaotic hardware, and
➢ manages these hardware resources.
• User view varies according to the interface being used.
• Most users have a laptop/PC (monitor, keyboard, mouse).
6
USER VIEW
• PC is designed for one user to monopolize its resources.
• The goal is to maximize the work that the user is performing.
• In this case, the operating system is designed mostly for ease of
use, with some attention paid to performance and none paid to
resource utilization—how various hardware and software
resources are shared. Performance is, of course, important to the
user; but such systems are optimized for the single-user
experience rather than the requirements of multiple users.
7
USER VIEW
• Second case, users interact with mobile devices
• These devices are typically connected to networks through
cellular or other wireless technologies.
• The user interface for mobile computers - a touch screen.
• Mobile devices interact through a voice recognition interface.
• Third case, computers with little or no user view (embedded
computers).
8
SYSTEM VIEW
• OS is a program closest to hardware devices.
• OS acts as their manager.
• OS faces numerous and potentially conflicting requirements for
resource allocation to certain programs and users, but also that
the system as a whole operates efficiently and reliably.
• Therefore, it is control program that controls the execution of
user applications to prevent errors and improper computer use.
9
SYSTEM VIEW
• This primarily relates to the use and control I/O devices.
• When multiple programs want to use same resources, OS takes
its role, to ensure orderly and controlled allocation of processors,
memory and I/O devices between these programs.
• So, main task is to take care of who is using which resource, to
allow use of certain resources, monitor their use and to mediate
between conflicting demands of different users/programs.
10
SYSTEM VIEW
• For example, what would happen if three programs that are
running on the same computer at the same time trying tu print
outputs on the same printer?
• First few lines of the press could be the first, following the line of
the second, and then some lines from the third program.
• So, the result would be chaos.
• The operating system brings order buffering on disk all output
sent to the same printer.
11
SYSTEM VIEW
• When printing one program output is completed, OS copies
another program output from a file on the disk where it was
stored and send it to the printer.
• At the same time another program can continue generate more
output and is not aware that output have not yet gone to printer.
• This role is evident when computer or network has more users.
12
SYSTEM VIEW
• In this case it is necessary to control and protect memory, I/O
devices, and other resource.
• Otherwise, users can interfere each other.
• So, OS basic tasks are to monitor which programs use which
resources, to allocate resources to the requirements, be
responsible for their use, and to mediate the conflicting
demands of different applications and users.
13
SYSTEM VIEW
• Resource management includes multiplexing (sharing) resources
in two ways: in time and space.
• Time multiplexing occurs when a different programs alternate in
the use of resources.
• First, one program uses a particular resource, then second, ...
• OS determines which program is next and how long resource will
be used. eg., previous printer case.
14
SYSTEM VIEW
• OS first assigns CPU to one program, then after a certain time it
granted another, and then another, and yet it can be assigned to
the first one and so on.
• Space multiplexing - each user gets part of the resource.
• Eg., main memory is shared among several programs.
• More efficient to hold several programs in memory rather than
give the entire memory to one program, especially when
multiplexing needs only a small part.
15
SYSTEM VIEW
• hard disc - OS has to allocate disc space and take care of who is
using which disk blocks.
• computer architecture at the machine language level for the user
program is primitive
• (I/O operations concerning the interrupts, the counter, main
memory and other low-level details)
16
SYSTEM VIEW
• Therefore, the user program does not want intimacy with the
programming, for example hard disk programming.
• User program requires simple high-level abstraction.
• Eg., operation (abstraction) "read a block from a file" is far
simpler than the start-up operation of the head drive, its position
within the desired block, defining the empty space between
sectors etc., all this is "read from the disc block".
17
SYSTEM VIEW
• So, it is necessary the existence of software "layer" that "hides"
complexity of a computer system to the end-user and provides
simpler instruction set.
• This software layer is just an operating system.
•Thus, abstraction is the key for managing complexity.
•Good abstraction turns unsolvable task in two feasible.
18
SYSTEM VIEW
•First is the defining and implementation of abstraction.
•Second is its use to solve computer problems.
•The form of abstraction, which all end users understand is file.
•This is useful information in the form of digital images, stored e-
mail or Web pages.
19
SYSTEM VIEW
•Working with photos, e-mail and Web pages is much easier than
to load the block from the file.
•In any case, OS has to create a good abstraction, properly
implements it and at the end managing objects abstracted.
•So, OS role is to create for user virtual machine that is a lot
easier to program than the existing hardware.
1.20 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Computer Startup
bootstrap program is loaded at power-up or reboot
Typically stored in ROM or EEPROM, generally
known as firmware
Initializes all aspects of system
Loads operating system kernel and starts execution
1.21 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Computer-System Operation
One or more CPUs, device controllers connect through common bus providing
access to shared memory
Concurrent execution of CPUs and devices competing for memory cycles
I/O devices and the CPU can execute concurrently
Each device controller is in charge of a particular device type
Each device controller has a local buffer
CPU moves data from/to main memory to/from local buffers
I/O is from the device to local buffer of controller
Device controller informs CPU that it has finished its operation by causing an
interrupt
1.22 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Storage Structure
Main memory – only large storage media that the CPU can access
directly
Random access
Typically volatile
Secondary storage – extension of main memory that provides large
nonvolatile storage capacity
Hard disks – rigid metal or glass platters covered with magnetic
recording material
Disk surface is logically divided into tracks, which are subdivided into
sectors
The disk controller determines the logical interaction between the device
and the computer
Solid-state disks – faster than hard disks, nonvolatile
Various technologies
Becoming more popular
1.23 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Storage-Device Hierarchy
1.24 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Computer-System Architecture
Most systems use a single general-purpose processor
Most systems have special-purpose processors as well
Multiprocessors systems growing in use and importance
Also known as parallel systems, tightly-coupled systems
Advantages include:
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful degradation or fault tolerance
Two types:
1. Asymmetric Multiprocessing – each processor is assigned a
specie task.
2. Symmetric Multiprocessing – each processor performs all tasks
1.25 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Symmetric Multiprocessing Architecture
1.26 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
A Dual-Core Design
Multi-chip and multicore
Systems containing all chips
Chassis containing multiple separate systems
1.27 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
NUMA
1.28 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Operating-System Operations
Dual-mode operation allows OS to protect itself and other system
components
User mode and kernel mode
Mode bit provided by hardware
 Provides ability to distinguish when system is running user
code or kernel code
1.29 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Kernel Data Structures
Array: a simple data structure in which each element can be accessed
directly.
“item number × item size.”
But what about storing an item whose size may vary?
And what about removing an item if the relative positions of the remaining
items must be preserved?
Arrays give way to other data structures.
1.30 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Kernel Data Structures
n Many similar to standard programming data structures
n Singly linked list
n Doubly linked list
n Circular linked list
1.31 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Kernel Data Structures
A stack is a sequentially ordered data structure that uses the last in, first
out (LIFO) principle for adding and removing items,meaning that the last
item placed onto a stack is the first item removed.
The operations for inserting and removing items: push and pop.
An operating system often uses a stack when invoking function calls:
Parameters, local variables, and the return address are pushed onto the
stack when a function is called;
returning from the function call pops those items off the stack.
1.32 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Basic stack operations:
32
Kernel Data Structures
1.33 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Three addresses are needed for proper operation, and these are often stored in
processor registers:
33
Kernel Data Structures
1.34 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
f = (a – b)/(c + d * e). Operations are: PUSH a, PUSH b,
SUBTRACT, PUSH c, PUSH d, PUSH e, MULTIPLY, ADD,
DIVIDE, POP f.
34
Kernel Data Structures
1.35 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Assume a stack-oriented processor that includes the stack operations
PUSH and POP. Arithmetic operations automatically involve the top
one or two stack elements. Begin with an empty stack. What stack
elements remain after the following instructions are executed?
PUSH 4
PUSH 7
PUSH 8
ADD
PUSH 10
SUB
MUL
35
Kernel Data Structures
1.36 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
A queue = sequentially ordered data structure that uses FIFO
principle: items are removed from a queue in the order in which they
were inserted.
Examples:
shoppers waiting in a checkout line at a store
cars waiting in line at a traffic signal.
Queues in operating systems – tasks that are waiting to be run on an
available CPU are often organized in queues.
36
Kernel Data Structures
1.37 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Kernel Data Structures
Binary search tree
left <= right
Search performance is O(n)
Balanced binary search tree is O(lg n)
1.38 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Kernel Data Structures
Hash function can create a hash map
1.39 Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10th Edition
Kernel Data Structures
Bitmap – string of n binary digits representing the status of n items
0 = the resource is available,
1 = it is unavailable.
ith position in the bitmap is associated with the ith resource.
Example:
001011101
Resources 2, 4, 5, 6, and 8 are unavailable; resources 0, 1, 3, and 7
are available.
A disk drive divided into several thousand disk blocks.
A bitmap indicates the availability of each disk block.
40
HISTORY
• OS have evolved along with the hardware.
• Therefore, computer generations are OS historical development.
• First true digital computer - English mathematician Charles
Babbage (1792-1871).
• The greater part of his life and fortune he spent on the attempt to
build "Analytical Engine", it has never worked properly.
• This machine was purely mechanical, a former technology could
not produce machine parts with required accuracy.
• In any case, the analytical engine did not have an OS.
41
HISTORY
• First generation computers (1945-1955).
• Period from analytical engine to the Second World War: very
small progress in constructing digital computers.
• Since World War II real explosion of activity.
• The State University of Iowa, first functional digital computer (300
vacuum tubes).
42
HISTORY
• At the same time, Berlin: Konrad Zuse Z3 computer made of the
relay.
• In 1944 a group of English Bletchley Park built the Colossus,
• Mark I - Harvard,
• ENIAC University of Pennsylvania.
43
HISTORY
•Their basis were vacuum tubes (up to 20000 tubes per computer),
huge and very expensive.
•They were used mainly by army.
•very slow, they were programmed in machine language, and even
plugboard was used through which they are linked by electric
circuits connecting thousands of cables to the panel, which was
carrying out basic machine control functions.
•Symbolic languages (including assembler), as well as OS at that
time were unknown.
•People who worked on these computers perform all tasks - from
programming to maintenance.
44
HISTORY
• Servicing computer system was entirely left to the operator, who
had to prepare all necessary things for certain task.
• The man had full control of the computer system.
• The system was slow and carried out only one program, ie.
performed only one task.
• Utilization of the most important resources - CPU and operating
memory - was very small.
45
HISTORY
46
HISTORY
• Most of the time spent on operator activities and I/O operations,
a much smaller part CPU operations.
• Although this system was extremely inefficient, the relationship
between these periods was in the acceptable range because of
the relatively low speed of the central processor.
• 1950‘ - punch cards were introduced, somewhat improved
routine tasks.
• It was possible to write programs and to read them from the
cards instead of using the plugboard. Otherwise, all other
procedures remained the same.
47
HISTORY
48
HISTORY
• Second generation (1955-1965) was based on transistors
• Computers were much smaller, more reliable and cheaper.
• Located in separate rooms, divided into three functional units:
the front room, mainframe and exit room.
• The developers wrote programs on paper, usually FORTRAN, then
programs transmitted on punched cards, which were left in a
room with a computer input.
49
HISTORY
• System operator was taking punch cards and put them into the
computer, first card with an FORTRAN interpreter, and then punch
cards with a program to be executed.
• The main computer is performing a job, and the result was also
on punch cards, which were passed in the room with the results.
• A lot of time were spent on walking between different rooms
with punch cards.
50
HISTORY
• OS as a separate term was still not there.
• Improvement - batch processing based on the use of
reader/writer of magnetic tape - unit faster than punch cards.
• in the entry room operator collected a certain quantity of similar
programs (eg. all programs that require an FORTRAN interpreter);
using cheaper computer which transferred punch cards to
magnetic tape.
51
HISTORY
• After that, the magnetic tape is transferred to the main computer
room reserved for program execution (for example, IBM 7094).
• The host computer loaded by a special program that was in
charge to load programs one by one and executes them.
• This program can be considered as ancestor of the OS.
52
HISTORY
• After executing the program, the results are recorded on the
second magnetic tape which the operator transfers to the third
computer in charge for results transfer from the magnetic tape to
the punch cards.
• Smaller computers (input-output) are not directly connected to
the host computer, which means to work in off-line mode.
53
HISTORY
54
HISTORY
55
HISTORY
• Second generation characteristics:
• increasing speed of central processors, capacity of main memory
and external memory,
• new and faster input-output units.
• Programs are written in symbolic machine language, assembly
language or high-level programming language (FORTRAN).
• The operator is no longer able to effectively serve the computer
system, because his reactions are too slow.
56
HISTORY
• Servicing and management system functions have been divided
between the operator and the control program.
• two basic types of programs: the control and user.
• Third generation (1965 -1980).
• By the early sixties there are two separate, incompatible, groups
of computers.
• One - types IBM 7094 - for scientific and engineering
calculations.
• The other - commercial computers as IBM 1401 - the banks and
insurance companies for sorting and printing.
57
HISTORY
• The appearance of class IBM System/360 (integrated circuits)
IBM has joined this two types in a series of compatible
computers with different power.
• Each of these computers is suitable for both scientific and
business applications.
• Computer's series System/360 were working under OS/360,
which was very cumbersome and full of errors.
58
HISTORY
59
HISTORY
• development of discipline software engineering, introduced new
features:
• multiprogramming
• multiple input-output operations (spool)
• time-sharing (multitasking)
• When a program is waiting results of the input-output operations,
the processor is unused, lost of processor time.
60
HISTORY
• This problem was especially expressed in the business program.
• Multiprogramming is a technique for better processor utilization:
memory divided into partitions loaded by different applications.
• While a program is waiting for I/O operation, the processor can
execute another program. If a sufficient number of programs in
memory, the processor is constantly used.
• This means, CPU utilization is increased: activities are organized
while a specific job is waiting for I/O other process can use CPU.
61
HISTORY
• For multiprogramming OS must provide:
• I/O routines,
• Memory management - system must allocate memory to tasks,
• CPU scheduling - system must make choice between jobs that are
ready to execute,
• Resources allocation.
• Multiprogramming batch systems enable the effective utilization
of system resources but are not adapted to user-computer
interaction.
62
HISTORY
• Spooling (Simultaneous Peripheral Operation On Line)
• technique compensate speed of I/O devices by using fast devices
such as disk drives.
• Therefore, multiple I/O operations can simultaneously execute.
• Faster device accepts all the inputs, and then input to the CPU
forwards with fast devices.
• The entrance is realized by transferring the contents of punch
cards to disk using a special device, without using the CPU.
63
HISTORY
• Parallel new jobs are loaded to the disc, while the processor
executes programs in memory.
• When one program finishes, the processor in it place loads
second one from the disc.
• Time-sharing is a technique that allows each user can work with
computer interactively, through a special terminal which is in the
same time input and output device for user.
• Time-sharing is a special form of multiprogramming, where each
terminal has allocated CPU time.
64
HISTORY
• After the expiration of the assigned amounts of processing time,
the processor is allocated to another terminal.
• Time-sharing is logical extension of multiprogramming.
• Allows the CPU to execute multiple jobs by switching among
them, but the switches occur so frequently that the users can
interact with each program while it is running.
• In systems with time sharing:
65
HISTORY
➢Multiple tasks that are in the memory and on disk multiplex CPU (CPU
can be allocated to a particular task only if it is in memory).
➢The task is moved from memory to disk, and vice versa.
➢"on-line" communication between users and systems is enabled; when
OS ends executing a single command, looks for "control report" from the
(keyboard) user.
• Usual interaction between the CPU and I/O device is I/O
operations are typically carried out by man-speed as they are
man-dependent.
• In this way, the processor has ability to serve other users.
66
HISTORY
• In order to achieve a satisfactory response time, jobs swapping
between memory and disk is introduced (virtual memory
implementation).
• Time-sharing OS allows multiple users to simultaneously use the
computer system.
• Time-sharing OS is more complex than ordinary
multiprogramming OS.
• Part of the disk is allocated for swapping.
67
HISTORY
• Therefore, time-sharing systems have to provide virtual memory
management, which implies file system implementation.
• The file system can be located on the collection of discs, so that
time-sharing systems must also support and disc management.
• There are two major operating systems - Multics and Unix.
• The project Multics (Multiplexed Information and Computing
Service) unsuccessful attempt of the company MIT, Bell Labs, and
General Electric to build a powerful computer and OS that will be
able to work with a large number of terminals.
68
HISTORY
• This model is ancestor of computer networks and the Internet.
• UNIX is simplified variant of the Multics system, which has
undergone a practical realization and expansion to the present
day. (UNI = one, X = CS = Computing Service).
• Third generation characteristics:
➢ due to multiprogramming, increased speed and memory size, and
variety of I/O units, more control and management functions are
transferred from man to computer.
➢ man loses ability to control the internal situation in a computer
system and everything possible is transferred to the computer system
(the individual system programs).
69
HISTORY
• Set of all these programs is called OS.
• developer releases a series of complex routine work and he has
possibility of greater involvement in the creative part of the job.
• Development of utility programs, whose task is to facilitate and
simplify the use of computer systems.
• Therefore, there is division on system and user (application)
software.
70
HISTORY
• Fourth computer generation (1980-1990), the emergence of PC.
• LSI (Large Scale Integration) chips, containing thousands of
transistors on a square centimeter of silicon. Known computers
that generation were Spectrum, Commodore, Atari, IBM PC,
Apple Macintosh, etc.
• First PC OS are MS-DOS and UNIX.
71
HISTORY
• User software development, follows user interface development.
• In this way, people who do not know the detail computer system
and programs, can use it.
• there are also network and distributed operating systems.
• Network OS - PCs are connected to a network, each computer has
its own OS, and communicate with each other using a protocol (a
common language for communication).
72
HISTORY
• User one computer, can log on another, download some files and
so on. He knows he is not alone in the network, is aware of the
different computers with which to communicate over the
network (local and global).
• Distributed OS - users sees it as a uniprocessor system, but in fact
works with multiple processors.
• Several computers in the network, but only one OS - manages all
resources in the network.
73
HISTORY
• user does not need to take into account where his files are
located or where the program is executed, it is OS job. Distributed
OS is therefore acting as a single entity.
• The user is not aware that he is in a network with other
computers, it seems that there is only one computer.
• Fifth computer generation.
• Very Large-Scale Integration hundreds of thousands of transistors
on a chip, massive parallelism,
74
HISTORY
• RISC architecture (Reduced Instruction Set Computer).
• developed a new generation of processors (Intel Pentium series
processors) whose power reached a fantastic level.
• strong development of the Microsoft Windows OS with a
complete graphical environment, development of various Linux
and Unix platforms.
• Sixth generation; modern computers.
• nanotechnology and neural networks (mimic human brain).
75
HISTORY
• multicore processors and incredibly large Internet development,
network systems and services.
• significant emergence and development of Cloud Computing,
which means that soon there will be no need for OS in computers
because it will contain all the software on the Internet.
• Implementation of new solutions and chips production
techniques (chips based on graphene, nanotubes and biochips),
developing robotics and artificial intelligence.
76
Literature:
• Andrew S. Tanenbaum, Modern Operating Systems 3rd
Edition, Pearson Education Inc., 2008.
• Abraham Silberschatz, Peter B. Galvin, Greg Gagne,
Operating System Concepts, John Wiley & Sons, Inc.,
Copyright © 2018, 2013, 2012, 2008.

More Related Content

Similar to 01. Operating Systems Definition and Usage

Reformat PPT.pptx
Reformat PPT.pptxReformat PPT.pptx
Reformat PPT.pptxLINDYLGERAL
 
Unit 1_Operating system
Unit 1_Operating system Unit 1_Operating system
Unit 1_Operating system JayeshGadhave1
 
8 operating system concept
8 operating system concept8 operating system concept
8 operating system conceptBaliThorat1
 
3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdf3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdfrohitbaweja26
 
Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Ismail Mukiibi
 
Nt introduction(os)
Nt introduction(os)Nt introduction(os)
Nt introduction(os)NehaTadam
 
Operating system module
Operating system moduleOperating system module
Operating system modulekiamiel
 
Lecture1423726024
Lecture1423726024Lecture1423726024
Lecture1423726024deepakjeetu
 
Operating System DOS and Windows
Operating System DOS and WindowsOperating System DOS and Windows
Operating System DOS and WindowsYasirKhan357
 
Operating System chapter 1.pptx
Operating System chapter 1.pptxOperating System chapter 1.pptx
Operating System chapter 1.pptxGevitaChinnaiah
 
Introduction to operating system
Introduction to operating systemIntroduction to operating system
Introduction to operating systemAkshay Ithape
 
Operating System-Introduction
Operating System-IntroductionOperating System-Introduction
Operating System-IntroductionShipra Swati
 
Operating system
Operating systemOperating system
Operating systemSonika koul
 
ITT project ON types of operating system
ITT project ON types of operating systemITT project ON types of operating system
ITT project ON types of operating systemJiohj Etzs
 
ITFT _ Operating system
ITFT _ Operating systemITFT _ Operating system
ITFT _ Operating systemNavneet Kaur
 

Similar to 01. Operating Systems Definition and Usage (20)

OPERATING SYSTEM
OPERATING SYSTEMOPERATING SYSTEM
OPERATING SYSTEM
 
Reformat PPT.pptx
Reformat PPT.pptxReformat PPT.pptx
Reformat PPT.pptx
 
Unit 1_Operating system
Unit 1_Operating system Unit 1_Operating system
Unit 1_Operating system
 
8 operating system concept
8 operating system concept8 operating system concept
8 operating system concept
 
1. Introduction to OS.ppt
1. Introduction to OS.ppt1. Introduction to OS.ppt
1. Introduction to OS.ppt
 
3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdf3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdf
 
Os notes 1_5
Os notes 1_5Os notes 1_5
Os notes 1_5
 
Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2
 
unit1 part1.ppt
unit1 part1.pptunit1 part1.ppt
unit1 part1.ppt
 
Nt introduction(os)
Nt introduction(os)Nt introduction(os)
Nt introduction(os)
 
Operating system module
Operating system moduleOperating system module
Operating system module
 
Lecture1423726024
Lecture1423726024Lecture1423726024
Lecture1423726024
 
Operating System DOS and Windows
Operating System DOS and WindowsOperating System DOS and Windows
Operating System DOS and Windows
 
Operating System chapter 1.pptx
Operating System chapter 1.pptxOperating System chapter 1.pptx
Operating System chapter 1.pptx
 
Introduction to operating system
Introduction to operating systemIntroduction to operating system
Introduction to operating system
 
Operating System-Introduction
Operating System-IntroductionOperating System-Introduction
Operating System-Introduction
 
Operating system
Operating systemOperating system
Operating system
 
ITT project ON types of operating system
ITT project ON types of operating systemITT project ON types of operating system
ITT project ON types of operating system
 
Introduction to operating systems
 Introduction to operating systems Introduction to operating systems
Introduction to operating systems
 
ITFT _ Operating system
ITFT _ Operating systemITFT _ Operating system
ITFT _ Operating system
 

Recently uploaded

9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort servicejennyeacort
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...ThinkInnovation
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...Pooja Nehwal
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一F La
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 

Recently uploaded (20)

9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
9711147426✨Call In girls Gurgaon Sector 31. SCO 25 escort service
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...{Pooja:  9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
{Pooja: 9892124323 } Call Girl in Mumbai | Jas Kaur Rate 4500 Free Hotel Del...
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 

01. Operating Systems Definition and Usage

  • 2. 2 DEFINITION • It is difficult to clearly define operating system. • In general, there is no completely adequate definition of OS. • Also, there is no universally accepted definition what is OS part. • Simple: includes everything seller delivers as "operating system". • However, characteristics vary from system to system: • Some systems take up less than 1 MB of space and do not even have a word processing program, while others require several GB of space and are fully windows-based and graphics-oriented.
  • 3. 3 DEFINITION • Therefore, it is usually understood that operating system is a program constantly running in computer (or a program that is constantly in computer main memory) and then usually called the kernel. • Along with the kernel, there are two other types of programs: system programs, which are associated with the operating system but are not necessarily part of the kernel, and application programs, which include all programs not associated with the operation of the system. • The matter of what makes an OS became increasingly important.
  • 4. 4 DEFINITION • In 1998, the United States Department of Justice filed suit against Microsoft, in essence claiming that Microsoft included too much functionality in its operating systems and thus prevented application vendors from competing. (For example, a Web browser was an integral part of the operating systems.) As a result, Microsoft was found guilty of using its operating-system monopoly to limit competition.
  • 5. 5 USER VIEW • Issue is that operating systems have two "unrelated" role: ➢ provides user programs clean abstraction set of resources instead of chaotic hardware, and ➢ manages these hardware resources. • User view varies according to the interface being used. • Most users have a laptop/PC (monitor, keyboard, mouse).
  • 6. 6 USER VIEW • PC is designed for one user to monopolize its resources. • The goal is to maximize the work that the user is performing. • In this case, the operating system is designed mostly for ease of use, with some attention paid to performance and none paid to resource utilization—how various hardware and software resources are shared. Performance is, of course, important to the user; but such systems are optimized for the single-user experience rather than the requirements of multiple users.
  • 7. 7 USER VIEW • Second case, users interact with mobile devices • These devices are typically connected to networks through cellular or other wireless technologies. • The user interface for mobile computers - a touch screen. • Mobile devices interact through a voice recognition interface. • Third case, computers with little or no user view (embedded computers).
  • 8. 8 SYSTEM VIEW • OS is a program closest to hardware devices. • OS acts as their manager. • OS faces numerous and potentially conflicting requirements for resource allocation to certain programs and users, but also that the system as a whole operates efficiently and reliably. • Therefore, it is control program that controls the execution of user applications to prevent errors and improper computer use.
  • 9. 9 SYSTEM VIEW • This primarily relates to the use and control I/O devices. • When multiple programs want to use same resources, OS takes its role, to ensure orderly and controlled allocation of processors, memory and I/O devices between these programs. • So, main task is to take care of who is using which resource, to allow use of certain resources, monitor their use and to mediate between conflicting demands of different users/programs.
  • 10. 10 SYSTEM VIEW • For example, what would happen if three programs that are running on the same computer at the same time trying tu print outputs on the same printer? • First few lines of the press could be the first, following the line of the second, and then some lines from the third program. • So, the result would be chaos. • The operating system brings order buffering on disk all output sent to the same printer.
  • 11. 11 SYSTEM VIEW • When printing one program output is completed, OS copies another program output from a file on the disk where it was stored and send it to the printer. • At the same time another program can continue generate more output and is not aware that output have not yet gone to printer. • This role is evident when computer or network has more users.
  • 12. 12 SYSTEM VIEW • In this case it is necessary to control and protect memory, I/O devices, and other resource. • Otherwise, users can interfere each other. • So, OS basic tasks are to monitor which programs use which resources, to allocate resources to the requirements, be responsible for their use, and to mediate the conflicting demands of different applications and users.
  • 13. 13 SYSTEM VIEW • Resource management includes multiplexing (sharing) resources in two ways: in time and space. • Time multiplexing occurs when a different programs alternate in the use of resources. • First, one program uses a particular resource, then second, ... • OS determines which program is next and how long resource will be used. eg., previous printer case.
  • 14. 14 SYSTEM VIEW • OS first assigns CPU to one program, then after a certain time it granted another, and then another, and yet it can be assigned to the first one and so on. • Space multiplexing - each user gets part of the resource. • Eg., main memory is shared among several programs. • More efficient to hold several programs in memory rather than give the entire memory to one program, especially when multiplexing needs only a small part.
  • 15. 15 SYSTEM VIEW • hard disc - OS has to allocate disc space and take care of who is using which disk blocks. • computer architecture at the machine language level for the user program is primitive • (I/O operations concerning the interrupts, the counter, main memory and other low-level details)
  • 16. 16 SYSTEM VIEW • Therefore, the user program does not want intimacy with the programming, for example hard disk programming. • User program requires simple high-level abstraction. • Eg., operation (abstraction) "read a block from a file" is far simpler than the start-up operation of the head drive, its position within the desired block, defining the empty space between sectors etc., all this is "read from the disc block".
  • 17. 17 SYSTEM VIEW • So, it is necessary the existence of software "layer" that "hides" complexity of a computer system to the end-user and provides simpler instruction set. • This software layer is just an operating system. •Thus, abstraction is the key for managing complexity. •Good abstraction turns unsolvable task in two feasible.
  • 18. 18 SYSTEM VIEW •First is the defining and implementation of abstraction. •Second is its use to solve computer problems. •The form of abstraction, which all end users understand is file. •This is useful information in the form of digital images, stored e- mail or Web pages.
  • 19. 19 SYSTEM VIEW •Working with photos, e-mail and Web pages is much easier than to load the block from the file. •In any case, OS has to create a good abstraction, properly implements it and at the end managing objects abstracted. •So, OS role is to create for user virtual machine that is a lot easier to program than the existing hardware.
  • 20. 1.20 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Computer Startup bootstrap program is loaded at power-up or reboot Typically stored in ROM or EEPROM, generally known as firmware Initializes all aspects of system Loads operating system kernel and starts execution
  • 21. 1.21 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Computer-System Operation One or more CPUs, device controllers connect through common bus providing access to shared memory Concurrent execution of CPUs and devices competing for memory cycles I/O devices and the CPU can execute concurrently Each device controller is in charge of a particular device type Each device controller has a local buffer CPU moves data from/to main memory to/from local buffers I/O is from the device to local buffer of controller Device controller informs CPU that it has finished its operation by causing an interrupt
  • 22. 1.22 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Storage Structure Main memory – only large storage media that the CPU can access directly Random access Typically volatile Secondary storage – extension of main memory that provides large nonvolatile storage capacity Hard disks – rigid metal or glass platters covered with magnetic recording material Disk surface is logically divided into tracks, which are subdivided into sectors The disk controller determines the logical interaction between the device and the computer Solid-state disks – faster than hard disks, nonvolatile Various technologies Becoming more popular
  • 23. 1.23 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Storage-Device Hierarchy
  • 24. 1.24 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Computer-System Architecture Most systems use a single general-purpose processor Most systems have special-purpose processors as well Multiprocessors systems growing in use and importance Also known as parallel systems, tightly-coupled systems Advantages include: 1. Increased throughput 2. Economy of scale 3. Increased reliability – graceful degradation or fault tolerance Two types: 1. Asymmetric Multiprocessing – each processor is assigned a specie task. 2. Symmetric Multiprocessing – each processor performs all tasks
  • 25. 1.25 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Symmetric Multiprocessing Architecture
  • 26. 1.26 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition A Dual-Core Design Multi-chip and multicore Systems containing all chips Chassis containing multiple separate systems
  • 27. 1.27 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition NUMA
  • 28. 1.28 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Operating-System Operations Dual-mode operation allows OS to protect itself and other system components User mode and kernel mode Mode bit provided by hardware  Provides ability to distinguish when system is running user code or kernel code
  • 29. 1.29 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Kernel Data Structures Array: a simple data structure in which each element can be accessed directly. “item number × item size.” But what about storing an item whose size may vary? And what about removing an item if the relative positions of the remaining items must be preserved? Arrays give way to other data structures.
  • 30. 1.30 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Kernel Data Structures n Many similar to standard programming data structures n Singly linked list n Doubly linked list n Circular linked list
  • 31. 1.31 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Kernel Data Structures A stack is a sequentially ordered data structure that uses the last in, first out (LIFO) principle for adding and removing items,meaning that the last item placed onto a stack is the first item removed. The operations for inserting and removing items: push and pop. An operating system often uses a stack when invoking function calls: Parameters, local variables, and the return address are pushed onto the stack when a function is called; returning from the function call pops those items off the stack.
  • 32. 1.32 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Basic stack operations: 32 Kernel Data Structures
  • 33. 1.33 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Three addresses are needed for proper operation, and these are often stored in processor registers: 33 Kernel Data Structures
  • 34. 1.34 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition f = (a – b)/(c + d * e). Operations are: PUSH a, PUSH b, SUBTRACT, PUSH c, PUSH d, PUSH e, MULTIPLY, ADD, DIVIDE, POP f. 34 Kernel Data Structures
  • 35. 1.35 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Assume a stack-oriented processor that includes the stack operations PUSH and POP. Arithmetic operations automatically involve the top one or two stack elements. Begin with an empty stack. What stack elements remain after the following instructions are executed? PUSH 4 PUSH 7 PUSH 8 ADD PUSH 10 SUB MUL 35 Kernel Data Structures
  • 36. 1.36 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition A queue = sequentially ordered data structure that uses FIFO principle: items are removed from a queue in the order in which they were inserted. Examples: shoppers waiting in a checkout line at a store cars waiting in line at a traffic signal. Queues in operating systems – tasks that are waiting to be run on an available CPU are often organized in queues. 36 Kernel Data Structures
  • 37. 1.37 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Kernel Data Structures Binary search tree left <= right Search performance is O(n) Balanced binary search tree is O(lg n)
  • 38. 1.38 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Kernel Data Structures Hash function can create a hash map
  • 39. 1.39 Silberschatz, Galvin and Gagne ©2018 Operating System Concepts – 10th Edition Kernel Data Structures Bitmap – string of n binary digits representing the status of n items 0 = the resource is available, 1 = it is unavailable. ith position in the bitmap is associated with the ith resource. Example: 001011101 Resources 2, 4, 5, 6, and 8 are unavailable; resources 0, 1, 3, and 7 are available. A disk drive divided into several thousand disk blocks. A bitmap indicates the availability of each disk block.
  • 40. 40 HISTORY • OS have evolved along with the hardware. • Therefore, computer generations are OS historical development. • First true digital computer - English mathematician Charles Babbage (1792-1871). • The greater part of his life and fortune he spent on the attempt to build "Analytical Engine", it has never worked properly. • This machine was purely mechanical, a former technology could not produce machine parts with required accuracy. • In any case, the analytical engine did not have an OS.
  • 41. 41 HISTORY • First generation computers (1945-1955). • Period from analytical engine to the Second World War: very small progress in constructing digital computers. • Since World War II real explosion of activity. • The State University of Iowa, first functional digital computer (300 vacuum tubes).
  • 42. 42 HISTORY • At the same time, Berlin: Konrad Zuse Z3 computer made of the relay. • In 1944 a group of English Bletchley Park built the Colossus, • Mark I - Harvard, • ENIAC University of Pennsylvania.
  • 43. 43 HISTORY •Their basis were vacuum tubes (up to 20000 tubes per computer), huge and very expensive. •They were used mainly by army. •very slow, they were programmed in machine language, and even plugboard was used through which they are linked by electric circuits connecting thousands of cables to the panel, which was carrying out basic machine control functions. •Symbolic languages (including assembler), as well as OS at that time were unknown. •People who worked on these computers perform all tasks - from programming to maintenance.
  • 44. 44 HISTORY • Servicing computer system was entirely left to the operator, who had to prepare all necessary things for certain task. • The man had full control of the computer system. • The system was slow and carried out only one program, ie. performed only one task. • Utilization of the most important resources - CPU and operating memory - was very small.
  • 46. 46 HISTORY • Most of the time spent on operator activities and I/O operations, a much smaller part CPU operations. • Although this system was extremely inefficient, the relationship between these periods was in the acceptable range because of the relatively low speed of the central processor. • 1950‘ - punch cards were introduced, somewhat improved routine tasks. • It was possible to write programs and to read them from the cards instead of using the plugboard. Otherwise, all other procedures remained the same.
  • 48. 48 HISTORY • Second generation (1955-1965) was based on transistors • Computers were much smaller, more reliable and cheaper. • Located in separate rooms, divided into three functional units: the front room, mainframe and exit room. • The developers wrote programs on paper, usually FORTRAN, then programs transmitted on punched cards, which were left in a room with a computer input.
  • 49. 49 HISTORY • System operator was taking punch cards and put them into the computer, first card with an FORTRAN interpreter, and then punch cards with a program to be executed. • The main computer is performing a job, and the result was also on punch cards, which were passed in the room with the results. • A lot of time were spent on walking between different rooms with punch cards.
  • 50. 50 HISTORY • OS as a separate term was still not there. • Improvement - batch processing based on the use of reader/writer of magnetic tape - unit faster than punch cards. • in the entry room operator collected a certain quantity of similar programs (eg. all programs that require an FORTRAN interpreter); using cheaper computer which transferred punch cards to magnetic tape.
  • 51. 51 HISTORY • After that, the magnetic tape is transferred to the main computer room reserved for program execution (for example, IBM 7094). • The host computer loaded by a special program that was in charge to load programs one by one and executes them. • This program can be considered as ancestor of the OS.
  • 52. 52 HISTORY • After executing the program, the results are recorded on the second magnetic tape which the operator transfers to the third computer in charge for results transfer from the magnetic tape to the punch cards. • Smaller computers (input-output) are not directly connected to the host computer, which means to work in off-line mode.
  • 55. 55 HISTORY • Second generation characteristics: • increasing speed of central processors, capacity of main memory and external memory, • new and faster input-output units. • Programs are written in symbolic machine language, assembly language or high-level programming language (FORTRAN). • The operator is no longer able to effectively serve the computer system, because his reactions are too slow.
  • 56. 56 HISTORY • Servicing and management system functions have been divided between the operator and the control program. • two basic types of programs: the control and user. • Third generation (1965 -1980). • By the early sixties there are two separate, incompatible, groups of computers. • One - types IBM 7094 - for scientific and engineering calculations. • The other - commercial computers as IBM 1401 - the banks and insurance companies for sorting and printing.
  • 57. 57 HISTORY • The appearance of class IBM System/360 (integrated circuits) IBM has joined this two types in a series of compatible computers with different power. • Each of these computers is suitable for both scientific and business applications. • Computer's series System/360 were working under OS/360, which was very cumbersome and full of errors.
  • 59. 59 HISTORY • development of discipline software engineering, introduced new features: • multiprogramming • multiple input-output operations (spool) • time-sharing (multitasking) • When a program is waiting results of the input-output operations, the processor is unused, lost of processor time.
  • 60. 60 HISTORY • This problem was especially expressed in the business program. • Multiprogramming is a technique for better processor utilization: memory divided into partitions loaded by different applications. • While a program is waiting for I/O operation, the processor can execute another program. If a sufficient number of programs in memory, the processor is constantly used. • This means, CPU utilization is increased: activities are organized while a specific job is waiting for I/O other process can use CPU.
  • 61. 61 HISTORY • For multiprogramming OS must provide: • I/O routines, • Memory management - system must allocate memory to tasks, • CPU scheduling - system must make choice between jobs that are ready to execute, • Resources allocation. • Multiprogramming batch systems enable the effective utilization of system resources but are not adapted to user-computer interaction.
  • 62. 62 HISTORY • Spooling (Simultaneous Peripheral Operation On Line) • technique compensate speed of I/O devices by using fast devices such as disk drives. • Therefore, multiple I/O operations can simultaneously execute. • Faster device accepts all the inputs, and then input to the CPU forwards with fast devices. • The entrance is realized by transferring the contents of punch cards to disk using a special device, without using the CPU.
  • 63. 63 HISTORY • Parallel new jobs are loaded to the disc, while the processor executes programs in memory. • When one program finishes, the processor in it place loads second one from the disc. • Time-sharing is a technique that allows each user can work with computer interactively, through a special terminal which is in the same time input and output device for user. • Time-sharing is a special form of multiprogramming, where each terminal has allocated CPU time.
  • 64. 64 HISTORY • After the expiration of the assigned amounts of processing time, the processor is allocated to another terminal. • Time-sharing is logical extension of multiprogramming. • Allows the CPU to execute multiple jobs by switching among them, but the switches occur so frequently that the users can interact with each program while it is running. • In systems with time sharing:
  • 65. 65 HISTORY ➢Multiple tasks that are in the memory and on disk multiplex CPU (CPU can be allocated to a particular task only if it is in memory). ➢The task is moved from memory to disk, and vice versa. ➢"on-line" communication between users and systems is enabled; when OS ends executing a single command, looks for "control report" from the (keyboard) user. • Usual interaction between the CPU and I/O device is I/O operations are typically carried out by man-speed as they are man-dependent. • In this way, the processor has ability to serve other users.
  • 66. 66 HISTORY • In order to achieve a satisfactory response time, jobs swapping between memory and disk is introduced (virtual memory implementation). • Time-sharing OS allows multiple users to simultaneously use the computer system. • Time-sharing OS is more complex than ordinary multiprogramming OS. • Part of the disk is allocated for swapping.
  • 67. 67 HISTORY • Therefore, time-sharing systems have to provide virtual memory management, which implies file system implementation. • The file system can be located on the collection of discs, so that time-sharing systems must also support and disc management. • There are two major operating systems - Multics and Unix. • The project Multics (Multiplexed Information and Computing Service) unsuccessful attempt of the company MIT, Bell Labs, and General Electric to build a powerful computer and OS that will be able to work with a large number of terminals.
  • 68. 68 HISTORY • This model is ancestor of computer networks and the Internet. • UNIX is simplified variant of the Multics system, which has undergone a practical realization and expansion to the present day. (UNI = one, X = CS = Computing Service). • Third generation characteristics: ➢ due to multiprogramming, increased speed and memory size, and variety of I/O units, more control and management functions are transferred from man to computer. ➢ man loses ability to control the internal situation in a computer system and everything possible is transferred to the computer system (the individual system programs).
  • 69. 69 HISTORY • Set of all these programs is called OS. • developer releases a series of complex routine work and he has possibility of greater involvement in the creative part of the job. • Development of utility programs, whose task is to facilitate and simplify the use of computer systems. • Therefore, there is division on system and user (application) software.
  • 70. 70 HISTORY • Fourth computer generation (1980-1990), the emergence of PC. • LSI (Large Scale Integration) chips, containing thousands of transistors on a square centimeter of silicon. Known computers that generation were Spectrum, Commodore, Atari, IBM PC, Apple Macintosh, etc. • First PC OS are MS-DOS and UNIX.
  • 71. 71 HISTORY • User software development, follows user interface development. • In this way, people who do not know the detail computer system and programs, can use it. • there are also network and distributed operating systems. • Network OS - PCs are connected to a network, each computer has its own OS, and communicate with each other using a protocol (a common language for communication).
  • 72. 72 HISTORY • User one computer, can log on another, download some files and so on. He knows he is not alone in the network, is aware of the different computers with which to communicate over the network (local and global). • Distributed OS - users sees it as a uniprocessor system, but in fact works with multiple processors. • Several computers in the network, but only one OS - manages all resources in the network.
  • 73. 73 HISTORY • user does not need to take into account where his files are located or where the program is executed, it is OS job. Distributed OS is therefore acting as a single entity. • The user is not aware that he is in a network with other computers, it seems that there is only one computer. • Fifth computer generation. • Very Large-Scale Integration hundreds of thousands of transistors on a chip, massive parallelism,
  • 74. 74 HISTORY • RISC architecture (Reduced Instruction Set Computer). • developed a new generation of processors (Intel Pentium series processors) whose power reached a fantastic level. • strong development of the Microsoft Windows OS with a complete graphical environment, development of various Linux and Unix platforms. • Sixth generation; modern computers. • nanotechnology and neural networks (mimic human brain).
  • 75. 75 HISTORY • multicore processors and incredibly large Internet development, network systems and services. • significant emergence and development of Cloud Computing, which means that soon there will be no need for OS in computers because it will contain all the software on the Internet. • Implementation of new solutions and chips production techniques (chips based on graphene, nanotubes and biochips), developing robotics and artificial intelligence.
  • 76. 76 Literature: • Andrew S. Tanenbaum, Modern Operating Systems 3rd Edition, Pearson Education Inc., 2008. • Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating System Concepts, John Wiley & Sons, Inc., Copyright © 2018, 2013, 2012, 2008.