0% found this document useful (0 votes)
40 views

Chapter 1 Topics For Today Computer Startup: Firmware

This document provides an overview of operating system concepts including computer startup processes, interrupts, I/O structure, storage structure, and caching. A bootstrap program loads at startup to initialize the system and load the operating system kernel. Interrupts allow I/O devices and the CPU to operate concurrently, with an interrupt handler transferring data between controllers and memory. I/O structures include asynchronous operations, device status tables, and direct memory access. Storage structures review magnetic disks, solid-state drives, and the storage hierarchy including caching faster memory.

Uploaded by

David
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Chapter 1 Topics For Today Computer Startup: Firmware

This document provides an overview of operating system concepts including computer startup processes, interrupts, I/O structure, storage structure, and caching. A bootstrap program loads at startup to initialize the system and load the operating system kernel. Interrupts allow I/O devices and the CPU to operate concurrently, with an interrupt handler transferring data between controllers and memory. I/O structures include asynchronous operations, device status tables, and direct memory access. Storage structures review magnetic disks, solid-state drives, and the storage hierarchy including caching faster memory.

Uploaded by

David
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

CMPT 300 Introduction to Operating Systems Page 1 CMPT 300 Introduction to Operating Systems Page 2

Chapter 1 Topics for Today Computer Startup


ì Computer System Organization ì A bootstrap program is loaded at power-up or reboot
ì Interrupts ì Typically stored in ROM or EPROM, generally known as
firmware
ì I/O Structure
ì Initializes all aspects of the system
ì Storage Structure
ì Loads operating system kernel and starts execution
ì Types of Computer Systems:
ì Mainframe Systems
ì Desktop Systems
ì Multiprocessor (or Parallel) Systems
ì Distributed Systems
ì Real-time Systems
ì Handheld Systems

CMPT 300 Introduction to Operating Systems Page 3 CMPT 300 Introduction to Operating Systems Page 4

Computer System Organization Interrupts

ì Computer-system operation ì We want the I/O devices and the CPU to be able to
ì One or more CPUs, device controllers connect through a execute concurrently
common bus providing access to shared memory ì The CPU shouldn’t have to wait for the MUCH slower I/O
device
ì The I/O device signals an interrupt when it is ready
ì When an interrupt occurs, the operating system must:
ì

ì
CMPT 300 Introduction to Operating Systems Page 5 CMPT 300 Introduction to Operating Systems Page 6

Interrupts: Controllers vs. Handlers Processing an Interrupt

ì A device controller (hardware / firmware) is 1. User program has control


responsible for moving data between the media and 2. I/O interrupt occurs
its own local registers
ì
ì An interrupt handler (software) is responsible for
moving data between the controller registers and
3. User program no longer processed by the CPU
memory (so it can be accessed by the user program)
ì
ì

4. Control transferred to interrupt handler


ì

CMPT 300 Introduction to Operating Systems Page 7 CMPT 300 Introduction to Operating Systems Page 8

Processing an Interrupt I/O Structure

5. Data transferred from controller to memory or from ì The CPU and device controllers operate in parallel.
memory to controller depending on whether input or ì Two types of I/O operations:
output operation
ì synchronous: user program waits until I/O operation
6. CPU registers restored completes
7. Control returned to user program ì asynchronous: user program allowed to continue while I/O
operation is in progress
ì
ì Asynchronicity is essential for multiprogramming
ì
CMPT 300 Introduction to Operating Systems Page 9 CMPT 300 Introduction to Operating Systems Page 10

I/O Structure – I/O Structure –


Device Status Table Direct Memory Access (DMA)
ì A device status table keeps track of which devices are ì Used for high-speed I/O devices able to transmit
busy, what they are doing for which program, and information at close to memory speeds.
which programs are waiting for access to devices.
ì Device controller transfers blocks of data from buffer
storage directly to main memory without CPU
intervention.
ì

CMPT 300 Introduction to Operating Systems Page 11 CMPT 300 Introduction to Operating Systems Page 12

Storage Structure –
Storage Structure
Magnetic Disks
ì Typical (von Neumann) instruction-execution cycle ì Magnetic disks – rigid metal or glass platters covered
ì instruction loaded from main memory into CPU with magnetic recording material
ì Main memory – only large storage media that the CPU can ì Disk surface is logically divided into tracks, which are
access directly subdivided into sectors.
ì instruction decoded ì The disk controller determines the logical interaction
between the device and the computer.
ì

ì instruction executed, repeat

ì Secondary storage – extension of main memory that


provides large nonvolatile storage capacity.
CMPT 300 Introduction to Operating Systems Page 13 CMPT 300 Introduction to Operating Systems Page 14

Storage Structure – Storage Structure –


Magnetic Disk Architecture Solid-State Drives
ì Solid-State Drives use NAND Flash
technology
ì Bits stored as charges in cells
made of transistors
ì SLC, MLC, and TLC
drives differ in how many
bits are stored per cell
ì Organization:
8 channels, 4 dies per
channel

CMPT 300 Introduction to Operating Systems Page 15 CMPT 300 Introduction to Operating Systems Page 16

Storage Structure - Caching Storage Hierarchy


ì Caching is the use of a smaller, but faster, memory
system to speed up a bigger, but slower, memory system
ì The cache holds the data most recently accessed by the CPU
ì

ì Cache management is an important design problem. A


well chosen cache size and replacement policy can
result in 80+% of all accesses being in the cache.
ì Problem:
ì
CMPT 300 Introduction to Operating Systems Page 17 CMPT 300 Introduction to Operating Systems Page 18

How a Modern Computer Works Mainframe Systems

ì Mainframes are large, powerful computers designed


to handle large numbers of users and jobs
ì The first operating systems appeared in mainframes
ì Similar jobs batched together to reduce
set-up time
ì

ì The OS (called a monitor) transfers


control to the job, when the job is done
control is returned to the OS

CMPT 300 Introduction to Operating Systems Page 19 CMPT 300 Introduction to Operating Systems Page 20

Mainframe Systems Mainframe Systems

The next step up is the Multiprogrammed Batch System Some of the OS features needed for Multiprogramming:
ì Several jobs are kept in main ì I/O routine supplied by the system
memory at the same time, and the ì Memory management
CPU is multiplexed among them
ì

ì ì CPU scheduling
ì

ì Allocation of devices (storage devices, etc.)


CMPT 300 Introduction to Operating Systems Page 21 CMPT 300 Introduction to Operating Systems Page 22

Desktop Systems Multiprocessor Systems

ì Personal computers – computer system dedicated to a ì Multiprocessor systems are systems with more than
single user one CPU in close communication.
ì I/O devices – keyboards, mice, monitors, printers ì E.g. multi-core CPUs

ì User convenience and responsiveness ì This is a tightly coupled system –


ì Can adopt technology developed for larger operating
systems
ì Advantages of parallel system:
ì
ì Increased throughput

ì May run several different types of operating systems ì Economical


(Windows, Mac OS/X, UNIX, Linux) ì Increased reliability

CMPT 300 Introduction to Operating Systems Page 23 CMPT 300 Introduction to Operating Systems Page 24

Types of Multiprocessor Systems Symmetric & Multi-core Processors

ì Symmetric multiprocessing (SMP) Symmetric Multiprocessor:

ì Many processes can run at once without performance


deterioration
ì Most modern Oses support SMP
Dual-core processor
ì Asymmetric multiprocessing
ì Each processor is assigned a specific task
ì
CMPT 300 Introduction to Operating Systems Page 25 CMPT 300 Introduction to Operating Systems Page 26

Distributed Systems Real-Time Systems

ì Another idea is to distribute the computation among ì A real-time system is one where there are well-defined
several physical processors fixed-time constraints
ì This is a loosely coupled system – ì I.e. things need to happen in a reasonable amount of time
and in the correct order
ì Each processor has its own local memory

ì Some examples:
ì

CMPT 300 Introduction to Operating Systems Page 27 CMPT 300 Introduction to Operating Systems Page 28

Handheld Systems OS Feature Migration


Some examples: Operating system features tend to migrate over time
from older systems to newer systems.
ì Personal Digital Assistants (PDAs)
ì Smartphones
Some of the issues when designing handheld systems:
ì

You might also like