SlideShare a Scribd company logo
1 of 55
Introduction to Computer & Operating Systems
Outline
1.0 Computer Architecture
- Pipelining
1.1 Introduction
1.2 What Is an Operating System?
1.3 Early History: The 1940s and 1950s
1.4 The 1960s
1.5 The 1970s
1.6 The 1980s
1.7 History of the Internet and World Wide Web
1.8 The 1990s
1.9 2000 and Beyond
1.10 Application Bases
1.11 Operating System Environments
1.12 Operating System Components and Goals
1.12.1 Core Operating System Components
1.12.2 Operating System Goals
Chapter 1 – Introduction to Computer &
Operating Systems
Outline (continued)
1.13 Operating System Architectures
1.13.1 Monolithic Architecture
1.13.2 Layered Architecture
1.13.3 Microkernel Architecture
1.13.4 Networked and Distributed Operating
Systems
Objectives
• After reading this chapter, you should understand:
- Computer architecture
– what an operating system is.
– a brief history of operating systems.
– a brief history of the Internet and the World Wide Web.
– core operating system components.
– goals of operating systems.
– operating system architectures.
1.0 COMPUTER ARCHTICTURE
The Von Neumann Model
• Conventional digital computers have a common form
that is attributed to Von Neumann. The Von
Neumann model consists of 5 major components as
illustrated below:
MU
ALU
CU
IU OU
• The IU provides instructions and data to the system, which are
subsequently stored in the MU.
• The instructions and the data are processed by tye ALU under
the direction of the CU. The results are sent to the OU. The
ALU and CU are frequently referred to aas the CPU.
• Most commercial computer can be decomposed into these 5
basic units.
• The stored program is most important aspect of the Von
Neumann models and is popularly referred to as CISC-
Complex Instruction Set Architecture
• A program is stored in the computer memory along
with the data to process.
• Prior to the development of the stored program,
computer programs were stored on external medial.
• In the stored program computers, the program can be
manipulated as if it is data. This gave rise to
compilers and operating systems and makes possible
the great versatility of modern computer
The System Bus Model – Non-Von Neumann
• Although the Von Neumann model prevails in
modern computers, it has been streamlined. Figure
bellows shows the system bus models of a Computer
systems.
CPU
(ALU,
REGISTER &
CONTROL)
MEMORY
I/O
DATABUS
ADDRESS BUS
CONTROL BUS
}SYSTEM BUS
• This model partitions the computer system into three:
• CPU, Memory and I/O.
• This refinement of the Von Neumann models
combines the ALU and the CU into one functional
unit, the CPU. The I/O units are also combined into a
single unit.
• Most important to the system bus model, the
communications among the components are by means
of a shared pathway called the system bus, which is
made up of data bus (which carries the information
being transmitted), the address bus(which identifies
where the information is being sent) and the control
bus(which describes aspects of how the information
is being sent, and in what manner).
• This arrangement is referred to as :
• Reduced Instruction Set Architecture (RISC)
• There is also a power bus for electrical power to the
components which is not shown.
• Some architecture may also have a separate I/O bus.
BUSES
• Physically, buses are made up of collection of wires, that are
grouped by functionality.
• A 32 – bit data bus has 32 individual wires, each of which
carries one bit of data (as opposed to address or control
information). In this sense, the system bus is actually a group
of individual buses classified by the functions.
• The data bus moves data among the system components. Some
systems have separate data buses for moving information to
and from the CPU, in which case there is a data-in bus and
data-out bus. More often a single data bus moves data in either
direction, although never in both direction at the same time.
ISA – Instruction Set Architecture
• ISA is the structure of a computer that a machine language
programmer(or a compiler) must understand to write a
correct(timing independent) program for that machine.
• An instruction set specifies a processor functionality i.e.
• What operations it supports
• What storage mechanism it has and how they are accessed.
• How the programmer/compiler communicates programs to
processor
• What makes a good instruction sets
• implement ability
• programmability
• backward/forward compatibility
CONTROL INSTRUCTIONS
Aspects :
• taken or not
• where is the target
• link return
• save or restore state
PIPELINING
• STAGES
- fetch (F)
- decode (D)
- execute (X)
- memory access (M)
- writeback (W)
• Stages are divided by pipeline registers/latches
PIPELINING DIAGRAM
1 2 3 4 5 6 7 8 - CYCLES
INSTR. 0 F D X M W
INSTR. 1 F D X M W
INSTR.2 F D X M W
INSTR.3 F D M X W
Pipelining: Its Natural!
• Laundry Example
• Ann, Brian, Cathy, Dave
each have one load of clothes
to wash, dry, and fold
• Washer takes 30 minutes
• Dryer takes 40 minutes
• “Folder” takes 20 minutes
A B C D
Sequential Laundry
• Sequential laundry takes 6 hours for 4 loads
• If they learned pipelining, how long would laundry take?
A
B
C
D
30 40 20 30 40 20 30 40 20 30 40 20
6 PM 7 8 9 10 11 Midnight
T
a
s
k
O
r
d
e
r
Time
Pipelined Laundry
Start work ASAP
• Pipelined laundry takes 3.5 hours for 4 loads
A
B
C
D
6 PM 7 8 9 10 11 Midnight
T
a
s
k
O
r
d
e
r
Time
30 40 40 40 40 20
Pipelining Lessons
• Pipelining doesn’t help
latency of single task, it helps
throughput of entire workload
• Pipeline rate limited by
slowest pipeline stage
• Multiple tasks operating
simultaneously
• Potential speedup = Number
pipe stages
• Unbalanced lengths of pipe
stages reduces speedup
• Time to “fill” pipeline and
time to “drain” it reduces
speedup
A
B
C
D
6 PM 7 8 9
T
a
s
k
O
r
d
e
r
Time
30 40 40 40 40 20
1.1 Introduction
• Unprecedented growth of computing during the past
several decades.
• Desktop workstations execute billions of instructions
per second (BIPS)
• Supercomputers can execute over a trillion
instructions per second
• Computers are now employed in almost every aspect
of life.
1.2 What Is an Operating System?
• Some years ago an operating system was defined as
the software that controls the hardware.
• Landscape of computer systems has evolved
significantly, requiring a more complicated definition.
• Applications are now designed to execute
concurrently.
1.2 What Is an Operating System?
• Separates applications from the hardware they access
– Software layer
– Manages software and hardware to produce desired results
• Operating systems primarily are resource managers
– Hardware
• Processors
• Memory
• Input/output devices
• Communication devices
– Software applications
1.3 Early History: The 1940s and 1950s
• Operating systems evolved through several phases
– 1940s
• Early computers did not include operating systems
– 1950s
• Executed one job at a time
• Included technologies to smooth job-to-job transitions
• Single-stream batch-processing systems
• Programs and data submitted consecutively on tape
1.4 The 1960s
• 1960s
– Still batch-processing systems
– Process multiple jobs at once
• Multiprogramming
– One job could use processor while other jobs used
peripheral devices
– Advanced operating systems developed to service
multiple interactive users
• 1964
– IBM announced System/360 family of computers
1.4 The 1960s
• Timesharing systems
– Developed to support many simultaneous interactive users
– Turnaround time was reduced to minutes or seconds
• Time between submission of job and the return of its results
– Real-time systems
• Supply response within certain bounded time period
– Improved development time and methods
• MIT used CTSS system to develop its own successor, Multics
– TSS, Multics and CP/CMS all incorporated virtual memory
• Address more memory locations than actually exist
1.5 The 1970s
• Primarily multimode timesharing systems
– Supported batch processing, timesharing and real-time
applications
– Personal computing only in incipient stages
• Fostered by early developments in microprocessor technology
• Department of Defense develops TCP/IP
– Standard communications protocol
– Widely used in military and university settings
– Security problems
• Growing volumes of information passed over vulnerable
communications lines.
1.6 The 1980s
• 1980s
– Decade of personal computers and workstations
– Computing distributed to sites at which it was needed
– Personal computers proved relatively easy to learn and use
• Graphical user interfaces (GUI)
– Transferring information between computers via networks
became more economical and practical
1.6 The 1980s
• Client/server computing model became widespread
– Clients request various services
– Servers perform requested services
• Software engineering field continued to evolve
– Major thrust by the United States government aimed at
tighter control of Department of Defense software projects
• Realizing code reusability
• Greater degree of abstraction in programming languages
• Multiple threads of instructions that could execute independently
1.7 History of the Internet and World Wide Web
• Advanced Research Projects Agency (ARPA)
– Department of Defense
– In late 1960s, created and implemented ARPAnet
• Grandparent of today’s Internet
• Networked main computer systems of ARPA-funded institutions
• Capable of near-instant communication via e-mail
• Designed to operate without centralized control
1.7 History of the Internet and World Wide Web
• Transmission Control Protocol/Internet Protocol
– Set of rules for communicating over ARPANet
– TCP/IP manages communication between applications
– Ensure that messages routed properly from sender to receiver
• Error-correction
– Later opened to general commercial use
1.7 History of the Internet and World Wide Web
• World Wide Web (WWW)
– Locate and view multimedia-based documents on almost any subject
– Early development begun in 1989 at CERN by Tim Berners-Lee
– Technology for sharing information via hyperlinked text documents
– HyperText Markup Language (HTML)
• Defines documents on WWW
– Hypertext Transfer Protocol (HTTP)
• Communications backbone used to transfer documents across WWW
1.8 The 1990s
• Hardware performance improved exponentially
– Inexpensive processing power and storage
• Execute large, complex programs on personal computers.
• Economical machines for extensive database and processing jobs
• Mainframes rarely necessary
– Shift toward distributed computing rapidly accelerated
• Multiple independent computers performing common task
1.8 The 1990s
• Operating system support for networking tasks became standard
– Increased productivity and communication
• Microsoft Corporation became dominant
– Windows operating systems
• Employed many concepts used in early Macintosh operating systems
• Enabled users to navigate multiple concurrent applications with ease.
• Object technology became popular in many areas of computing
– Many applications written in object-oriented programming languages
• For example, C++ or Java
– Object-oriented operating systems (OOOS)
• Objects represent components of the operating system
– Concepts such as inheritance and interfaces
• Exploited to create modular operating systems
• Easier to maintain and extend than systems built with previous techniques
1.8 The 1990s
• Most commercial software sold as object code
– The source code not included
– Enables vendors to hide proprietary information and
programming techniques
• Free and open-source software became increasingly common
in the 1990s
– Open-source software distributed with the source code
• Allows individuals to examine and modify software
• Linux operating system and Apache Web server both open-source
• Richard Stallman launched the GNU project
– Recreate and extend tools for AT&T’s UNIX operating system
– He disagreed with concept of paying for permission to use software
1.8 The 1990s
• Open Source Initiative (OSI)
– Founded to further benefits of open-source programming
– Facilitates enhancements to software products
• Permits anyone to test, debug and enhance applications
– Increases chance that subtle bugs will be caught and fixed
• Crucial for security errors which need to be fixed quickly
– Individuals and corporations can modify the source
• Create custom software to meet needs of certain environment
1.8 The 1990s
• Operating systems became increasingly user friendly
– GUI features pioneered by Apple widely used and improved
– “Plug-and-play” capabilities built into operating systems
• Enable users to add and remove hardware components dynamically
• No need to manually reconfigure operating system
1.9 2000 and Beyond
• Middleware
– Links two separate applications
• Often over a network and between incompatible machines
– Particularly important for Web services
• Simplifies communication across multiple architectures
• Web services
– Encompass set of related standards
– Ready-to-use pieces of software on the Internet
– Enable any two applications to communicate and exchange data
1.10 Application Bases
• IBM PC immediately spawned a huge software
industry
– Independent software vendors (ISVs) market software
packages to run under MS-DOS operating system.
– Operating system must present environment conducive to
rapid and easy application development
• Otherwise unlikely to be adopted widely
• Application base
– Combination of hardware and operating system used to
develop applications
– Developers and users unwilling to abandon established
application base
• Increased financial cost and time spent relearning
Figure 1.1 Interaction between applications and the operating system.
1.10 Application Bases
1.11 Operating System Environments
• Operating systems intended for high-end
environments
– Special design requirements and hardware support needs
• Large main memory
• Special-purpose hardware
• Large numbers of processes
• Embedded systems
– Characterized by small set of specialized resources
– Provide functionality to devices such as cell phones and PDAs
– Efficient resource management key to building successful
operating system
1.11 Operating System Environments
• Real-time systems
– Require that tasks be performed within particular (often short)
time frame
• Autopilot feature of an aircraft must constantly adjust speed,
altitude and direction
– Such actions cannot wait indefinitely—and sometimes cannot
wait at all
1.11 Operating System Environments
• Virtual machines (VMs)
– Software abstraction of a computer
– Often executes on top of native operating system
• Virtual machine operating system
– Manages resources provided by virtual machine
• Applications of virtual machines
– Allow multiple instances of an operating system to execute
concurrently
– Emulation
• Software or hardware mimics functionality of hardware or software
not present in system
– Promote portability
Figure 1.2 Schematic of a virtual machine.
1.11 Operating System Environments
1.12 Operating System Components and Goals
• Computer systems have evolved
– Early systems contained no operating system,
– Later gained multiprogramming and timesharing machines
– Personal computers and finally truly distributed systems
– Filled new roles as demand changed and grew
1.12.1 Core Operating System Components
• User interaction with operating system
– Often, through special application called a shell
– Kernel
• Software that contains core components of operating system
• Typical operating system components include:
– Processor scheduler
– Memory manager
– I/O manager
– Interprocess communication (IPC) manager
– File system manager
1.12.1 Core Operating System Components
• Multiprogrammed environments now common
– Kernel manages the execution of processes
– Program components which execute independently but use
single memory space to share data are called threads.
– To access I/O device, process must issue system call
• Handled by device driver
• Software component that interacts directly with hardware
• Often contains device-specific commands
1.12.2 Operating System Goals
• Users expect certain properties of operating systems
– Efficiency
– Robustness
– Scalability
– Extensibility
– Portability
– Security
– Protection
– Interactivity
– Usability
1.13 Operating System Architectures
• Today’s operating systems tend to be complex
– Provide many services
– Support variety of hardware and software
– Operating system architectures help manage this complexity
• Organize operating system components
• Specify privilege with which each component executes
1.13.1 Monolithic Architecture
• Monolithic operating system
– Every component contained in kernel
• Any component can directly communicate with any other
– Tend to be highly efficient
– Disadvantage is difficulty determining source of subtle errors
Figure 1.3 Monolithic operating system kernel architecture.
1.13.1 Monolithic Architecture
1.13.2 Layered Architecture
• Layered approach to operating systems
– Tries to improve on monolithic kernel designs
• Groups components that perform similar functions into layers
– Each layer communicates only with layers immediately
above and below it
– Processes’ requests might pass through many layers before
completion
– System throughput can be less than monolithic kernels
• Additional methods must be invoked to pass data and control
Figure 1.4 Layers of the THE operating system.
1.13.2 Layered Architecture
1.13.3 Microkernel Architecture
• Microkernel operating system architecture
– Provides only small number of services
• Attempt to keep kernel small and scalable
– High degree of modularity
• Extensible, portable and scalable
– Increased level of intermodule communication
• Can degrade system performance
Figure 1.5 Microkernel operating system architecture.
1.13.3 Microkernel Architecture
1.13.4 Networked and Distributed Operating Systems
• Network operating system
– Runs on one computer
– Allows its processes to access resources on remote computers
• Distributed operating system
– Single operating system
– Manages resources on more than one computer system
– Goals include:
• Transparent performance
• Scalability
• Fault tolerance
• Consistency
Figure 1.6 Client/server networked operating system model.
1.13.4 Networked and Distributed Operating Systems

More Related Content

Similar to Introduction to Computer & Operating Systems.ppt

computer organisation architecture.pptx
computer organisation architecture.pptxcomputer organisation architecture.pptx
computer organisation architecture.pptx
YaqubMd
 
Unit1-fcp-fundamentals of computing
Unit1-fcp-fundamentals of computingUnit1-fcp-fundamentals of computing
Unit1-fcp-fundamentals of computing
kokilabe
 
Introduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptxIntroduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptx
ssuserf7df42
 

Similar to Introduction to Computer & Operating Systems.ppt (20)

Unit 1 introduction to os
Unit 1 introduction to osUnit 1 introduction to os
Unit 1 introduction to os
 
Operating system
Operating systemOperating system
Operating system
 
Aca module 1
Aca module 1Aca module 1
Aca module 1
 
computer organisation architecture.pptx
computer organisation architecture.pptxcomputer organisation architecture.pptx
computer organisation architecture.pptx
 
Unit1-fcp-fundamentals of computing
Unit1-fcp-fundamentals of computingUnit1-fcp-fundamentals of computing
Unit1-fcp-fundamentals of computing
 
Ch01
Ch01Ch01
Ch01
 
Introduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptxIntroduction & Background(Operating Systems).pptx
Introduction & Background(Operating Systems).pptx
 
Ch01.pptx
Ch01.pptxCh01.pptx
Ch01.pptx
 
CSC 101 2016_2017.pptx
CSC 101 2016_2017.pptxCSC 101 2016_2017.pptx
CSC 101 2016_2017.pptx
 
Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...Fundamentals of Computer Design including performance measurements & quantita...
Fundamentals of Computer Design including performance measurements & quantita...
 
SPC Unit 1
SPC Unit 1SPC Unit 1
SPC Unit 1
 
Introduction to Operating system CBSE
Introduction to Operating system CBSE Introduction to Operating system CBSE
Introduction to Operating system CBSE
 
Unit i
Unit  iUnit  i
Unit i
 
computer application in hospitality Industry, periyar university unit 1
computer application in hospitality Industry, periyar university  unit 1computer application in hospitality Industry, periyar university  unit 1
computer application in hospitality Industry, periyar university unit 1
 
Unit i
Unit  iUnit  i
Unit i
 
computer applicationin hospitality Industry1 periyar university unit1
computer applicationin hospitality Industry1 periyar university  unit1computer applicationin hospitality Industry1 periyar university  unit1
computer applicationin hospitality Industry1 periyar university unit1
 
Unit I
Unit  IUnit  I
Unit I
 
1. Introduction to Microprocessor.pptx
1. Introduction to Microprocessor.pptx1. Introduction to Microprocessor.pptx
1. Introduction to Microprocessor.pptx
 
Ch04 threads
Ch04 threadsCh04 threads
Ch04 threads
 
Operating System Overview.pdf
Operating System Overview.pdfOperating System Overview.pdf
Operating System Overview.pdf
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 

Introduction to Computer & Operating Systems.ppt

  • 1. Introduction to Computer & Operating Systems Outline 1.0 Computer Architecture - Pipelining 1.1 Introduction 1.2 What Is an Operating System? 1.3 Early History: The 1940s and 1950s 1.4 The 1960s 1.5 The 1970s 1.6 The 1980s 1.7 History of the Internet and World Wide Web 1.8 The 1990s 1.9 2000 and Beyond 1.10 Application Bases 1.11 Operating System Environments 1.12 Operating System Components and Goals 1.12.1 Core Operating System Components 1.12.2 Operating System Goals
  • 2. Chapter 1 – Introduction to Computer & Operating Systems Outline (continued) 1.13 Operating System Architectures 1.13.1 Monolithic Architecture 1.13.2 Layered Architecture 1.13.3 Microkernel Architecture 1.13.4 Networked and Distributed Operating Systems
  • 3. Objectives • After reading this chapter, you should understand: - Computer architecture – what an operating system is. – a brief history of operating systems. – a brief history of the Internet and the World Wide Web. – core operating system components. – goals of operating systems. – operating system architectures.
  • 4. 1.0 COMPUTER ARCHTICTURE The Von Neumann Model • Conventional digital computers have a common form that is attributed to Von Neumann. The Von Neumann model consists of 5 major components as illustrated below: MU ALU CU IU OU
  • 5. • The IU provides instructions and data to the system, which are subsequently stored in the MU. • The instructions and the data are processed by tye ALU under the direction of the CU. The results are sent to the OU. The ALU and CU are frequently referred to aas the CPU. • Most commercial computer can be decomposed into these 5 basic units. • The stored program is most important aspect of the Von Neumann models and is popularly referred to as CISC- Complex Instruction Set Architecture
  • 6. • A program is stored in the computer memory along with the data to process. • Prior to the development of the stored program, computer programs were stored on external medial. • In the stored program computers, the program can be manipulated as if it is data. This gave rise to compilers and operating systems and makes possible the great versatility of modern computer
  • 7. The System Bus Model – Non-Von Neumann • Although the Von Neumann model prevails in modern computers, it has been streamlined. Figure bellows shows the system bus models of a Computer systems. CPU (ALU, REGISTER & CONTROL) MEMORY I/O DATABUS ADDRESS BUS CONTROL BUS }SYSTEM BUS
  • 8. • This model partitions the computer system into three: • CPU, Memory and I/O. • This refinement of the Von Neumann models combines the ALU and the CU into one functional unit, the CPU. The I/O units are also combined into a single unit. • Most important to the system bus model, the communications among the components are by means of a shared pathway called the system bus, which is made up of data bus (which carries the information being transmitted), the address bus(which identifies where the information is being sent) and the control bus(which describes aspects of how the information is being sent, and in what manner).
  • 9. • This arrangement is referred to as : • Reduced Instruction Set Architecture (RISC) • There is also a power bus for electrical power to the components which is not shown. • Some architecture may also have a separate I/O bus.
  • 10. BUSES • Physically, buses are made up of collection of wires, that are grouped by functionality. • A 32 – bit data bus has 32 individual wires, each of which carries one bit of data (as opposed to address or control information). In this sense, the system bus is actually a group of individual buses classified by the functions. • The data bus moves data among the system components. Some systems have separate data buses for moving information to and from the CPU, in which case there is a data-in bus and data-out bus. More often a single data bus moves data in either direction, although never in both direction at the same time.
  • 11. ISA – Instruction Set Architecture • ISA is the structure of a computer that a machine language programmer(or a compiler) must understand to write a correct(timing independent) program for that machine. • An instruction set specifies a processor functionality i.e. • What operations it supports • What storage mechanism it has and how they are accessed. • How the programmer/compiler communicates programs to processor • What makes a good instruction sets • implement ability • programmability • backward/forward compatibility
  • 12. CONTROL INSTRUCTIONS Aspects : • taken or not • where is the target • link return • save or restore state
  • 13. PIPELINING • STAGES - fetch (F) - decode (D) - execute (X) - memory access (M) - writeback (W) • Stages are divided by pipeline registers/latches
  • 14. PIPELINING DIAGRAM 1 2 3 4 5 6 7 8 - CYCLES INSTR. 0 F D X M W INSTR. 1 F D X M W INSTR.2 F D X M W INSTR.3 F D M X W
  • 15. Pipelining: Its Natural! • Laundry Example • Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold • Washer takes 30 minutes • Dryer takes 40 minutes • “Folder” takes 20 minutes A B C D
  • 16. Sequential Laundry • Sequential laundry takes 6 hours for 4 loads • If they learned pipelining, how long would laundry take? A B C D 30 40 20 30 40 20 30 40 20 30 40 20 6 PM 7 8 9 10 11 Midnight T a s k O r d e r Time
  • 17. Pipelined Laundry Start work ASAP • Pipelined laundry takes 3.5 hours for 4 loads A B C D 6 PM 7 8 9 10 11 Midnight T a s k O r d e r Time 30 40 40 40 40 20
  • 18. Pipelining Lessons • Pipelining doesn’t help latency of single task, it helps throughput of entire workload • Pipeline rate limited by slowest pipeline stage • Multiple tasks operating simultaneously • Potential speedup = Number pipe stages • Unbalanced lengths of pipe stages reduces speedup • Time to “fill” pipeline and time to “drain” it reduces speedup A B C D 6 PM 7 8 9 T a s k O r d e r Time 30 40 40 40 40 20
  • 19. 1.1 Introduction • Unprecedented growth of computing during the past several decades. • Desktop workstations execute billions of instructions per second (BIPS) • Supercomputers can execute over a trillion instructions per second • Computers are now employed in almost every aspect of life.
  • 20. 1.2 What Is an Operating System? • Some years ago an operating system was defined as the software that controls the hardware. • Landscape of computer systems has evolved significantly, requiring a more complicated definition. • Applications are now designed to execute concurrently.
  • 21. 1.2 What Is an Operating System? • Separates applications from the hardware they access – Software layer – Manages software and hardware to produce desired results • Operating systems primarily are resource managers – Hardware • Processors • Memory • Input/output devices • Communication devices – Software applications
  • 22. 1.3 Early History: The 1940s and 1950s • Operating systems evolved through several phases – 1940s • Early computers did not include operating systems – 1950s • Executed one job at a time • Included technologies to smooth job-to-job transitions • Single-stream batch-processing systems • Programs and data submitted consecutively on tape
  • 23. 1.4 The 1960s • 1960s – Still batch-processing systems – Process multiple jobs at once • Multiprogramming – One job could use processor while other jobs used peripheral devices – Advanced operating systems developed to service multiple interactive users • 1964 – IBM announced System/360 family of computers
  • 24. 1.4 The 1960s • Timesharing systems – Developed to support many simultaneous interactive users – Turnaround time was reduced to minutes or seconds • Time between submission of job and the return of its results – Real-time systems • Supply response within certain bounded time period – Improved development time and methods • MIT used CTSS system to develop its own successor, Multics – TSS, Multics and CP/CMS all incorporated virtual memory • Address more memory locations than actually exist
  • 25. 1.5 The 1970s • Primarily multimode timesharing systems – Supported batch processing, timesharing and real-time applications – Personal computing only in incipient stages • Fostered by early developments in microprocessor technology • Department of Defense develops TCP/IP – Standard communications protocol – Widely used in military and university settings – Security problems • Growing volumes of information passed over vulnerable communications lines.
  • 26. 1.6 The 1980s • 1980s – Decade of personal computers and workstations – Computing distributed to sites at which it was needed – Personal computers proved relatively easy to learn and use • Graphical user interfaces (GUI) – Transferring information between computers via networks became more economical and practical
  • 27. 1.6 The 1980s • Client/server computing model became widespread – Clients request various services – Servers perform requested services • Software engineering field continued to evolve – Major thrust by the United States government aimed at tighter control of Department of Defense software projects • Realizing code reusability • Greater degree of abstraction in programming languages • Multiple threads of instructions that could execute independently
  • 28. 1.7 History of the Internet and World Wide Web • Advanced Research Projects Agency (ARPA) – Department of Defense – In late 1960s, created and implemented ARPAnet • Grandparent of today’s Internet • Networked main computer systems of ARPA-funded institutions • Capable of near-instant communication via e-mail • Designed to operate without centralized control
  • 29. 1.7 History of the Internet and World Wide Web • Transmission Control Protocol/Internet Protocol – Set of rules for communicating over ARPANet – TCP/IP manages communication between applications – Ensure that messages routed properly from sender to receiver • Error-correction – Later opened to general commercial use
  • 30. 1.7 History of the Internet and World Wide Web • World Wide Web (WWW) – Locate and view multimedia-based documents on almost any subject – Early development begun in 1989 at CERN by Tim Berners-Lee – Technology for sharing information via hyperlinked text documents – HyperText Markup Language (HTML) • Defines documents on WWW – Hypertext Transfer Protocol (HTTP) • Communications backbone used to transfer documents across WWW
  • 31. 1.8 The 1990s • Hardware performance improved exponentially – Inexpensive processing power and storage • Execute large, complex programs on personal computers. • Economical machines for extensive database and processing jobs • Mainframes rarely necessary – Shift toward distributed computing rapidly accelerated • Multiple independent computers performing common task
  • 32. 1.8 The 1990s • Operating system support for networking tasks became standard – Increased productivity and communication • Microsoft Corporation became dominant – Windows operating systems • Employed many concepts used in early Macintosh operating systems • Enabled users to navigate multiple concurrent applications with ease. • Object technology became popular in many areas of computing – Many applications written in object-oriented programming languages • For example, C++ or Java – Object-oriented operating systems (OOOS) • Objects represent components of the operating system – Concepts such as inheritance and interfaces • Exploited to create modular operating systems • Easier to maintain and extend than systems built with previous techniques
  • 33. 1.8 The 1990s • Most commercial software sold as object code – The source code not included – Enables vendors to hide proprietary information and programming techniques • Free and open-source software became increasingly common in the 1990s – Open-source software distributed with the source code • Allows individuals to examine and modify software • Linux operating system and Apache Web server both open-source • Richard Stallman launched the GNU project – Recreate and extend tools for AT&T’s UNIX operating system – He disagreed with concept of paying for permission to use software
  • 34. 1.8 The 1990s • Open Source Initiative (OSI) – Founded to further benefits of open-source programming – Facilitates enhancements to software products • Permits anyone to test, debug and enhance applications – Increases chance that subtle bugs will be caught and fixed • Crucial for security errors which need to be fixed quickly – Individuals and corporations can modify the source • Create custom software to meet needs of certain environment
  • 35. 1.8 The 1990s • Operating systems became increasingly user friendly – GUI features pioneered by Apple widely used and improved – “Plug-and-play” capabilities built into operating systems • Enable users to add and remove hardware components dynamically • No need to manually reconfigure operating system
  • 36. 1.9 2000 and Beyond • Middleware – Links two separate applications • Often over a network and between incompatible machines – Particularly important for Web services • Simplifies communication across multiple architectures • Web services – Encompass set of related standards – Ready-to-use pieces of software on the Internet – Enable any two applications to communicate and exchange data
  • 37. 1.10 Application Bases • IBM PC immediately spawned a huge software industry – Independent software vendors (ISVs) market software packages to run under MS-DOS operating system. – Operating system must present environment conducive to rapid and easy application development • Otherwise unlikely to be adopted widely • Application base – Combination of hardware and operating system used to develop applications – Developers and users unwilling to abandon established application base • Increased financial cost and time spent relearning
  • 38. Figure 1.1 Interaction between applications and the operating system. 1.10 Application Bases
  • 39. 1.11 Operating System Environments • Operating systems intended for high-end environments – Special design requirements and hardware support needs • Large main memory • Special-purpose hardware • Large numbers of processes • Embedded systems – Characterized by small set of specialized resources – Provide functionality to devices such as cell phones and PDAs – Efficient resource management key to building successful operating system
  • 40. 1.11 Operating System Environments • Real-time systems – Require that tasks be performed within particular (often short) time frame • Autopilot feature of an aircraft must constantly adjust speed, altitude and direction – Such actions cannot wait indefinitely—and sometimes cannot wait at all
  • 41. 1.11 Operating System Environments • Virtual machines (VMs) – Software abstraction of a computer – Often executes on top of native operating system • Virtual machine operating system – Manages resources provided by virtual machine • Applications of virtual machines – Allow multiple instances of an operating system to execute concurrently – Emulation • Software or hardware mimics functionality of hardware or software not present in system – Promote portability
  • 42. Figure 1.2 Schematic of a virtual machine. 1.11 Operating System Environments
  • 43. 1.12 Operating System Components and Goals • Computer systems have evolved – Early systems contained no operating system, – Later gained multiprogramming and timesharing machines – Personal computers and finally truly distributed systems – Filled new roles as demand changed and grew
  • 44. 1.12.1 Core Operating System Components • User interaction with operating system – Often, through special application called a shell – Kernel • Software that contains core components of operating system • Typical operating system components include: – Processor scheduler – Memory manager – I/O manager – Interprocess communication (IPC) manager – File system manager
  • 45. 1.12.1 Core Operating System Components • Multiprogrammed environments now common – Kernel manages the execution of processes – Program components which execute independently but use single memory space to share data are called threads. – To access I/O device, process must issue system call • Handled by device driver • Software component that interacts directly with hardware • Often contains device-specific commands
  • 46. 1.12.2 Operating System Goals • Users expect certain properties of operating systems – Efficiency – Robustness – Scalability – Extensibility – Portability – Security – Protection – Interactivity – Usability
  • 47. 1.13 Operating System Architectures • Today’s operating systems tend to be complex – Provide many services – Support variety of hardware and software – Operating system architectures help manage this complexity • Organize operating system components • Specify privilege with which each component executes
  • 48. 1.13.1 Monolithic Architecture • Monolithic operating system – Every component contained in kernel • Any component can directly communicate with any other – Tend to be highly efficient – Disadvantage is difficulty determining source of subtle errors
  • 49. Figure 1.3 Monolithic operating system kernel architecture. 1.13.1 Monolithic Architecture
  • 50. 1.13.2 Layered Architecture • Layered approach to operating systems – Tries to improve on monolithic kernel designs • Groups components that perform similar functions into layers – Each layer communicates only with layers immediately above and below it – Processes’ requests might pass through many layers before completion – System throughput can be less than monolithic kernels • Additional methods must be invoked to pass data and control
  • 51. Figure 1.4 Layers of the THE operating system. 1.13.2 Layered Architecture
  • 52. 1.13.3 Microkernel Architecture • Microkernel operating system architecture – Provides only small number of services • Attempt to keep kernel small and scalable – High degree of modularity • Extensible, portable and scalable – Increased level of intermodule communication • Can degrade system performance
  • 53. Figure 1.5 Microkernel operating system architecture. 1.13.3 Microkernel Architecture
  • 54. 1.13.4 Networked and Distributed Operating Systems • Network operating system – Runs on one computer – Allows its processes to access resources on remote computers • Distributed operating system – Single operating system – Manages resources on more than one computer system – Goals include: • Transparent performance • Scalability • Fault tolerance • Consistency
  • 55. Figure 1.6 Client/server networked operating system model. 1.13.4 Networked and Distributed Operating Systems

Editor's Notes

  1. 1
  2. 5
  3. 22