OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System...

64
OPERATING SYSTEMS COMPUTER ARCHITECTURES

Transcript of OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System...

Page 1: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

OPERATING SYSTEMSCOMPUTER ARCHITECTURES

Page 2: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Components of a computingsystem

Giorgio Giacinto 2019

coordination and control of the use of the computer resources

Operating Systems 2

Page 3: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Computer System Organization

Giorgio Giacinto 2019 Operating Systems 3

Page 4: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Microprocessor

� Invention that brought about desktop and handheld computing

� Contains a processor on a single chip

� Fastest general purpose processors

� Multiprocessors� Each chip (socket) contains multiple processors (cores)

Operating SystemsGiorgio Giacinto 2019 4

Page 5: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Graphical Processing Units (GPU’s)

� Efficient computation on arrays of data using Single-Instruction Multiple Data (SIMD) techniques pioneered in supercomputers

� No longer used just for rendering advanced graphicsAlso used for general numerical processing

� Physics simulations for games

� Computations for complex machine learning models

Giorgio Giacinto 2019 Operating Systems 5

Page 6: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Digital Signal Processors(DSPs)

� Streaming signals such as audio or video

� Used to be embedded in I/O devices like modemsAre now becoming first-class computational devices, especially in handhelds

� Encoding/decoding speech and video (codecs)

� Provide support for encryption and security

Giorgio Giacinto 2019 Operating Systems 6

Page 7: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

System on a Chip (SoC)

� To satisfy the requirements of handheld devices, the classic microprocessor is giving way to the SoC

� On the same chip� not only the CPUs and caches

but also� DSPs� GPUs� I/O devices (such as codecs and radios)

Giorgio Giacinto 2019 Operating Systems 7

Page 8: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Main Memory

� This is the core component of a computer system� Each component reads from and writes to the main

memory

� The CPU can only execute instructions that are already stored in the main memory.

Giorgio Giacinto 2019 Operating Systems 8

Page 9: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Main Memory Organization

� Direct access, location independent� RAM and DRAM (Dynamic Random Access Memory)

� ROM (Read-Only Memory) to store instructions and data do not have to be (frequently) modified

� Memory organization� An array of cells with equal fixed size called word� Each memory cell has an associated address, i.e., the

position in the array

Giorgio Giacinto 2019 Operating Systems 9

Page 10: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Memory Access

load <address>

� Transfer the content of the memory cell identified by address into one of the CPU registers

store <address>

� Transfer the content of one of the CPU registers into the memory cell identified by address

Giorgio Giacinto 2019 Operating Systems 10

Page 11: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

InstructionExecutionCycle

Von Neumann Architecture

� The processor fetches the next instruction from the memory address stored in Program Counter (PC) register

� After the fetch phase, the Program Counter is incremented by 1 unit

Giorgio Giacinto 2019 Operating Systems 11

START HALTFetch Next

Instruction

Fetch Stage Execute Stage

Execute

Instruction

Figure 1.2 Basic Instruction Cycle

Page 12: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

CPU Registers

Giorgio Giacinto 2019

PC MAR

IR MBR

I/O AR

I/O BR

CPU Main Memory

System

Bus

I/O Module

Buffers

Instruction

0

1

2

n - 2

n - 1

Data

Data

Data

Data

Instruction

Instruction

Figure 1.1 Computer Components: Top-Level View

PC = Program counter

IR = Instruction register

MAR = Memory address register

MBR = Memory buffer register

I/O AR = Input/output address register

I/O BR = Input/output buffer register

Execution

unit

Operating Systems 12

Page 13: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

An Example of the execution of the sum of two numbers

Giorgio Giacinto 2019

2

PC300CPU RegistersMemory

Fetch Stage Execute Stage

3 0 01 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR1 9 4 0

Step 1

••

PC300CPU RegistersMemory

3 0 11 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR1 9 4 0

0 0 0 3

Step 2

••

PC300CPU RegistersMemory

3 0 10 0 0 5

0 0 0 5

0 0 0 3

0 0 0 5

1 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR5 9 4 1

Step 3

••

PC300CPU RegistersMemory

3 0 21 9 4 0301 5 9 4 1302 2 9 4 1

1

940 0 0 0 3941 0 0 0 2

ACIR5 9 4 1

Step 4

••

PC300CPU RegistersMemory

3 01 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 2

ACIR2 9 4 1

Step 5

••

PC300CPU RegistersMemory

3 0 31 9 4 0301 5 9 4 1302 2 9 4 1

940 0 0 0 3941 0 0 0 5

ACIR2 9 4 1

Step 6

••

3 + 2 = 5

Figure 1.4 Example of Program Execution(contents of memory and registers in hexadecimal)

Operating Systems 13

Page 14: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Which size for the main memory?

� In principle all the instructions and data of the programs in execution should be stored in the main memory.However…

� The memory size is usually limited by cost constraints

� The technology used to fabricate the main memory does not support permanent storage.

Giorgio Giacinto 2019 Operating Systems 14

Page 15: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

The Memory Hierarchy C

ost

Spee

d

Giorgio Giacinto 2019

Figure 1.14 The Memory Hierarchy

InboardMemory

OutboardStorage

Off-lineStorage

Main

Memory

Magnetic Disk

CD-ROM

CD-RW

DVD-RW

DVD-RAM

Blu-Ray

Magnetic Tape

Cache

Reg-

isters

Operating Systems 15

Page 16: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

System Boot

� System BootstrapWhen the system is switched on, a small program stored in a ROM (a.k.a. firmware) is executed

� all components are tested and initialised� the operating system is loaded into main memory

� typically just a small portion, the kernel

� the operating system starts running� the operating system keeps waiting for some event

Giorgio Giacinto 2019 Operating Systems 16

Page 17: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Events

� The execution of a program can be seen as the execution of a sequence of instructions.

� Some events can break the continuous flow of execution of instructions

� Events coming from a physical device� interrupts

� Events generated by the program itself� exceptions

hardware (i.e., division by zero)system calls, i.e., a call for a service from the OS

Giorgio Giacinto 2019 Operating Systems 17

Page 18: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Interrupts START

HALT

Fetch next

instruction

Fetch Stage Execute Stage Interrupt Stage

Interrupts

Disabled

Interrupts

Enabled

Execute

instruction

Check for

interrupt;

initiate interrupt

handler

Figure 1.7 Instruction Cycle with Interrupts

Giorgio Giacinto 2019 Operating Systems 18

Page 19: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Interrupts and Device Drivers

1. The user program request the use of one device

2. The operating system sends the request to the device driver

3. The device driver sets the values of the registers of the device controller

4. The device controller starts the data transfer

5. After the data transfer is completed, the controller sends a signal to the driver, the driver notifies the operating system, and the OS notifies the user program

Giorgio Giacinto 2019 Operating Systems 19

Page 20: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Interrupt timeline

Giorgio Giacinto 2019 Operating Systems 20

Page 21: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Direct Memory Access (DMA)

� Data transfers from one device to main memory can be managed

� by the CPU

� by a specific hardware module called DMA

Giorgio Giacinto 2019 Operating Systems 21

Page 22: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

How data transfer works

Giorgio Giacinto 2019

thread of executioninstructions

anddata

instruction executioncycle

data movement

DMA

memory

interrupt

cache

data

I/O request

CPU (*N)

device(*M)

Operating Systems 22

Page 23: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

CPU Organization

Giorgio Giacinto 2019 Operating Systems 23

Page 24: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

UniprocessingandMultiprocessing Architectures

� Uniprocessor architectures� A single CPU that is responsible for performing all tasks,

� Multiprocessor Architectures� More than one CPU is available

� CPUs with different ISAs, e.g., GPU� CPUs with the same ISA

� Current multicore processors are an evolution of multiprocessor architectures

Giorgio Giacinto 2019 Operating Systems 24

Page 25: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Advantages of MultiprocessingArchitectures

� Productivity� increased throughput, i.e., more tasks can be completed

in a time unit.

� Economy of scale� One multiprocessor system could be economically

preferable to a cluster of uniprocessor systems

� Reliability� fault tolerance

� graceful degradation

Giorgio Giacinto 2019 Operating Systems 25

Page 26: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

SMPSymmetricMultiprocessing

Giorgio Giacinto 2019

L1 Cache

Processor

MainMemory

I/OSubsystem

System Bus

CHIP CHIP CHIP

I/OAdapter

Figure 1.19 Symmetric Multiprocessor Organization

L2 Cache

L1 Cache

Processor

L2 Cache

L1 Cache

Processor

L2 Cache

I/OAdapter

I/OAdapter

Windows, macOS, Linux support SMPSMP

Each operation is assigned to the first idle CPU.Asymmetric Multiprocessingeach CPU executes a specific task

Operating Systems 26

Page 27: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Multicoresystems

Giorgio Giacinto 2019

Figure 1.20 Intel Core i7-5960X Block Diagram

(a) Block diagram

(b) Physical layout on chip

SharedL3Cache

I/O

Cor

e

Cor

e

Cor

e

Cor

e

Mem

ory

Con

trol

ler

Cor

e

Cor

e

Cor

e

Cor

e

Core 0

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

256 kBL2 Cache

Core 1

• • •

256 kBL2 Cache

4 8B @ 2.133 GT/s

Core 6

256 kBL2 Cache

Core 7

256 kBL2 Cache

20 MBL3 Cache

DDR4 MemoryControllers

PCI Express

40 lanes @ 8 GT/s

Figure 1.20 Intel Core i7-5960X Block Diagram

(a) Block diagram

(b) Physical layout on chip

SharedL3Cache

I/O

Cor

e

Cor

e

Cor

e

Cor

e

Mem

ory

Con

trol

ler

Cor

e

Cor

e

Cor

e

Cor

e

Core 0

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

32 kBL1-I

32 kBL1-D

256 kBL2 Cache

Core 1

• • •

256 kBL2 Cache

4 8B @ 2.133 GT/s

Core 6

256 kBL2 Cache

Core 7

256 kBL2 Cache

20 MBL3 Cache

DDR4 MemoryControllers

PCI Express

40 lanes @ 8 GT/s

Intel Core i7-5960X

Operating Systems 27

Page 28: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Structure of the Operating System

Giorgio Giacinto 2019 Operating Systems 28

Page 29: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Before the OS

Giorgio Giacinto 2019 Operating Systems 29

Page 30: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Read one record from file 0.0015 secondsExecute 100 instructions 0.0001 secondsWrite one record to file 0.0015 secondsTOTAL 0.0031 seconds

Percent CPU Utilization =

0.00010.0031

= 0.032 = 3.2%

Figure 2.4 System Utilization Example

Uniprogramming

If the CPU is much faster than the I/O system, then the execution of one job at a time might result in the CPU idle most of the time.

Giorgio Giacinto 2019 Operating Systems 30

Page 31: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Multiprogramming

If we allow more jobs to run concurrently, the usage of the CPU increases, as well as the throughput of the system.

Giorgio Giacinto 2019 Operating Systems 31

Page 32: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Multiprogramming

Giorgio Giacinto 2019 Operating Systems 32

Page 33: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Multiprogramming

Giorgio Giacinto 2019

0%

0 5 10 15 20 25 30minutes

time

(a) Uniprogramming

JOB1 JOB2 JOB3Job History

Printer

Terminal

Disk

Memory

CPU

100%0%

100%0%

100%0%

100%0%

100%

0%

0 5 10 15minutes

(b) Multiprogramming

Figure 2.6 Utilization Histograms

JOB1JOB2

JOB3

Job History

Printer

Terminal

Disk

Memory

CPU

100%0%

100%0%

100%0%

100%0%

100%

time

Operating Systems 33

Page 34: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

UniProgrammingVs.MultiProgramming

Uniprogramming Multiprogramming

CPU usage 20% 40%

Memory usage 33% 67%

Disk usage 33% 67%

Printer usage 33% 67%

Elapsed time 30 min 15 min

Throughput 6 jobs/h 12 jobs/h

Average response time 18 min 10 min

Giorgio Giacinto 2019 Operating Systems 34

Page 35: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Memory Layout for MultiprogrammedSystems

� The main memory should always be filled with jobs to keep the CPU working

� The operating system is in charge of

� selecting the jobs to be resident in memory

� scheduling the execution of the jobs

� Managing interactive usersi

Giorgio Giacinto 2019 Operating Systems 35

Page 36: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Timesharing systems

� Systems that allows interactions from multiple users

� The goals of the system are quite different from those of a multiprogrammed system

� Multiprogramming seeks the maximization of the throughput

� Time-sharing aims at reducing the response time to each user

Giorgio Giacinto 2019 Operating Systems 36

Page 37: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Operating System components

� Multiprogramming and time-sharing were the the two driving forces that motivated the development of the components of an operating system

� Concurrency management� Job and CPU scheduling� Virtual memory� File System Management� Disk and Storage Management� Data and Software Privacy and Security

Giorgio Giacinto 2019 Operating Systems 37

Page 38: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Tasks of theOperating System

Giorgio Giacinto 2019 Operating Systems 38

Page 39: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Interrupts

� If no program is executing…

…the operating system should keep waiting

� The task of the operating system is to react to interrupts that are generated by users’ programs

…However, the operating system is a program…

How this ambiguity has been addressed?

Giorgio Giacinto 2019 Operating Systems 39

Page 40: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Two operating modes

� Each CPU has two modes of operation� user mode� kernel mode

� Privileged instructions can be executed only when the CPU is in kernel mode (a.k.a. supervisor mode)

Giorgio Giacinto 2019 Operating Systems 40

Page 41: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Mode Switch

� Any CPU has an instruction that cause the mode switch

� Only the operating system can execute this instruction

� Each time an activity is needed by the operating system

� interrupt� system call

then the CPU switches from user to kernel mode

At the end of the activity the CPU switches back to user mode

It turns out the the operating system is strictly coupled with the underlying hardware platform.

Giorgio Giacinto 2019 Operating Systems 41

Page 42: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Virtualization

� Virtualization can be seen as an extension of the modes of operation of the CPU

� Modern CPUs support different levels of privileged instructions called rings

� sets of privileged Instructions with more privileges that user-level instructions and less privileges than kernel-level instructions

� Intel 64� 4 privilege levels, even if none of them is explicitly

related to virtualization

Giorgio Giacinto 2019 Operating Systems 42

Page 43: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Timer

� The operating system must control that no process� enters an infinite loop� owns some resources without releasing them at some

time (such as the CPU, main memory, I/O channels, etc.)

� To this end, a timer is included in the computer hardware.

Giorgio Giacinto 2019 Operating Systems 43

Page 44: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Process Management

� A coarse definition of process is the following:a process is a program in execution on a computer

� The operations that the operating system performs are the following:

� process creation and termination� resource management (memory, CPU, I/O)

� suspend and resume process execution� process synchronization and communication

(IPC – interprocess communication mechanisms)� deadlock prevention and management

Giorgio Giacinto 2019 Operating Systems 44

Page 45: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Memory management

� The main memory is the place where both instructionsand data are stored in the Von Neumann architecture

� Both the CPU and I/O devices need to get access to the main memory

� The operating system and the underlying hardware components implement specific mechanisms to properly manage the memory hierarchy

� Note that the cache is not managed by the operating system

Giorgio Giacinto 2019 Operating Systems 45

Page 46: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Permanent Storage

� File system� A structure to organise documents and program

permanently stored on disks, solid state media, etc.� source code, binary code, user documents, images, music,

video, etc.

� Operations on files� create / delete� binding files with the device they are stored on� backup and recovery

Giorgio Giacinto 2019 Operating Systems 46

Page 47: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Disk management

� Disks represent the typical permanent storage device� data on a SSDs are organised in the same way as a

mechanical disk

� Management tasks of the operating system� free space� file allocation� scheduling

� to minimise the average response time in mechanical disks

Giorgio Giacinto 2019 Operating Systems 47

Page 48: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Memory Hierarchy

Giorgio Giacinto 2019

Level

Name

Typical size

Implementationtechnology

Access time (ns)

Bandwidth (MB/sec)

Managed by

Backed by

1

registers

< 1 KB

custom memorywith multipleports CMOS

0.25 - 0.5

20,000 - 100,000

compiler

cache

2

cache

< 16MB

on-chip oroff-chipCMOS SRAM

0.5 - 25

5,000 - 10,000

hardware

main memory

3

main memory

< 64GB

CMOS SRAM

80 - 250

1,000 - 5,000

operating system

disk

4

solid state disk

< 1 TB

flash memory

25,000 - 50,000

500

operating system

disk

5

magnetic disk

< 10 TB

magnetic disk

5,000,000

20 - 150

operating system

disk or tape

Operating Systems 48

Page 49: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

I/O management

� The operating system is in charge of� buffer management� spooling - simultaneous peripheral operation online� providing standard interfaces for device drivers� managing device drivers

Giorgio Giacinto 2019 Operating Systems 49

Page 50: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Privacy & Security

� The OS is in charge of executing different processes from different users

� Protection of� processes� users� the OS itself

� from errors caused by other processes or users� casual errors as well as intentional errors!

Giorgio Giacinto 2019 Operating Systems 50

Page 51: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Data structures used by the kernel

Giorgio Giacinto 2019 Operating Systems 51

Page 52: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Lists

Giorgio Giacinto 2019

data data data null

• ••

data null nulldata data data

• ••

data data data data

• ••

Singly linked list

Doubly linked list

Circularly linked list

Operating Systems 52

Page 53: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Stacks and Queues

� Stack� An ordered sequence of data where data can be inserted

or extracted from one side only, i.e., the top of the stackLIFO (Last-In-First-Out)

� push inserts a new item onto the stack� pop extracts the item, on top of the stack

� This structure is used by the OS to store local variables, and return address to be used after the last instruction of a function

� Queue� An ordered sequence of data where insertion is

performed on one side, and extraction from the other side, so that items are extracted in the same order as they join the queueLIFO (Last-In-First-Out)

Giorgio Giacinto 2019 Operating Systems 53

Page 54: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Trees

Giorgio Giacinto 2019

� Suited to represent hierarchies

� Binary search trees� each node with two children� the left node has a value less

than the parent node� the right node has a value

greater than the parent node

Operating Systems 54

17

35

146 14 40326

12

Page 55: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Hash functions and Bitmaps

� Hash functions� Any function that maps data of arbitrary size to fixed-

size values� e.g., a mapping between all students’ names and the set of

integers from 0 to 49� Collisions

Depending on the function, and on the input size, two ore more inputs could be mapped to the same output value

� Bitmaps� A bit array of size N can be used to store the binary

status of a set of N items� e.g., the list of free disk blocks

Giorgio Giacinto 2019 Operating Systems 55

Page 56: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Computing Environments

Giorgio Giacinto 2019 Operating Systems 56

Page 57: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Traditional computing

� The meaning of traditional has evolved in the past years

� Nowadays a traditional computer is a networkedcomputer

� Scientific and technical computation� Graphic design and engineering projects� Desktop publishing and Multimedia processing

� User’s programs and data may be stored on� the local computer� some remote servers

Giorgio Giacinto 2019 Operating Systems 57

Page 58: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Mobile Devices

� Current mobile OSs exhibit the same functionalities as traditional computers

� power management constraints � memory size constraints

� Main features� interaction by gestures and touch screens� always connected� localization services� movement sensors� other environmental or health related sensors

Giorgio Giacinto 2019 Operating Systems 58

Page 59: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Distributed Systems

� All computers support networking

� Clusters of computers can be set-up to act as a single server.

� The OS can be executed on multiple hardware devices whose resources are considered as being part of one large distributed computer

� distributed file system� distributed process management

Giorgio Giacinto 2019 Operating Systems 59

Page 60: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Client-Server

� Computational intensive tasks are executed by powerful server computers

Giorgio Giacinto 2019

Server Network

clientdesktop

clientlaptop

clientsmartphone

Operating Systems 60

Page 61: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Peer-to-Peer

� Each node acts as a server for the other nodes

� A centralised registry can support the cooperation between nodes

Giorgio Giacinto 2019

client

clientclient

client client

Operating Systems 61

Page 62: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Virtualization

� Emulation or virtualization of the CPU� Concurrent execution of more than one operating

system (guests) on one piece of hardware� Virtualisation software executed either directly on hardware

or as a program executed by a host OS

Giorgio Giacinto 2019

(a)

processes

hardware

kernel

(b)

programminginterface

processes

processes

processes

kernelkernel kernel

VM2VM1 VM3

managerhardware

virtual machine

Operating Systems 62

Page 63: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Cloud Computing

� Public cloud� Private cloud

� Hybrid Cloud� SaaS – Software-as-a-Service� PaaS – Platform-as-a-Service

� IaaS – Infrastructure-as-a-Service

Giorgio Giacinto 2019 Operating Systems 63

Page 64: OPERATING SYSTEMS2019/10/02  · use of the computer resources Operating Systems 2 Computer System Organization Giorgio Giacinto 2019 Operating Systems 3 Microprocessor Invention that

Embedded systems

� These systems are more and more part of our daily lives as well as part of many production farms

� automotive� aeronautics� household appliances� smartphones, Smart TV, game consoles, etc. � robotics

� The operating system and the underlying hardware are tightly coupled

Giorgio Giacinto 2019 Operating Systems 64