OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

11
OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1

Transcript of OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

Page 1: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

1

OPERATING SYSTEMS 1 - HARDWAREPIETER HARTEL

Page 2: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

2

Hardware

Page 3: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

3

Interrupts

Why?

Sources?

Page 4: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

4

Instruction and interrupt processing

Cost of interrupt processing?

Page 5: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

5

Interrupt stack

Why a stack?

Page 6: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

6

Memory hierarchy

Why?

Page 7: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

7

Cache – principle of locality

Page 8: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

8

MMU

Page 9: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

9

Multiprocessor (why?)

Page 10: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

10

First Linux example: What kind of machine is this?

Output?

gcc Uname.c

./a.out

man -k system

more /usr/include/sys/utsname.h

lscpu

/* Uname.c */#include <stdio.h>#include <sys/utsname.h>

int main(int argc, char * argv[]) { struct utsname u; if(uname(&u) == 0) { printf("%s %s %s %s\n“ u.nodename, u.sysname, u.release, u.machine); } return 0;}

Page 11: OPERATING SYSTEMS 1 - HARDWARE PIETER HARTEL 1. Hardware 2.

11

Summary

Hardware resources

CPU & Instruction cycle

Interrupts & stack

Memory hierarchy & caches

Single & Multi processors

Principle of locality

How to manage these resources?