(Advanced) Operating Systems - Introduction

Transcription

(Advanced) Operating Systems - Introduction
(Advanced) Operating Systems
Introduction
Kevin Marquet
INSA Lyon / IF
CITI Lab/INRIA Socrate
September 2014
Kevin Marquet
In brief
I
Associate professor
I
INRIA Socrate team, Lyon
Research :
I
I
I
Memory management ;
Embedded systems.
Link : http://kevinmarquet.net/teaching/
operating-systems/systeme-dexploitation-avances/
Semester organization
I
Lectures + practical works
I
General theme : hardware management by computer systems
(i.e Operating systems)
I
Contact : Kevin. Marquet@ insa-lyon. fr
Details
Lectures:
I
Slides ; questions ; exercises ; readings ;
I
Questions →Is this recognizable ?
I
Concept ;
I
To read: Les quatre concepts de l’informatique. G. Dowek
I
I
Questions in the various exams ;
Figures: NYI
Practical works:
I
Implementation of a mini-OS...
I
...on a Raspberry Pi !
I
First : 4 sessions in teams of 2
I
Then, work in teams of 6.
Project : detail
Timer + Gestionnaire d’interruptions
Ordonnanceur
collaboratif.
Gestionnaire de
mémoire physique
Ordonnanceur
collaboratif avec
terminaison
des processus
Gestionnaire
de mémoire
virtuelle simple
Ordonnanceur
preemptif
(round-robin)
Ordonnanceur
<que vous voulez>
t
Ordonnanceur
préemptif à
priorités fixes
Appel système
Malloc / Free
Fichier mappé
en mémoire
mini-OS seulement
Sauvegarde et
restauration
d’un contexte
d’exécution.
Boot loader
Système
de fichiers
Isolation de
processus
Fork()
Swapping
Mémoire partagée
I/O controller
Network stack
Shell
Evaluation
I
Learning outcomes:
I
I
I
I
Note de l’UE : 0.6 x <Note DS> +0.4x <Note TP>
<Note DS> :
I
I
I
I
(IF reference document);
Curricula ACM/IEEE : widely used, exhaustive, smart people;
QCM sur moodle en octobre
QCM sur moodle en décembre
DS en Janvier
<Note TP>:
I
I
sessions in teams of 2 : validation of each exercise by teachers ;
1-hour oral during the last session, in teams of 6.
NB: “Assistance” every monday 13h-14h
Operating Systems - definition
An operating system is a program that:
I
manages a computer’s hardware : CPU, memory, I/O
devices.
I
provides an abstraction of the hardware to applications/users.
I
Non precise definition.
I
I
I
Various goals : efficiency, conveniency...
Various OS : Androı̈d, iOS, Linux, VMWare...
Various mechanisms in the kernel : bootstrap, interrupts,
system calls, virtual memory, demand paging, processes,
threads, scheduler, dispatcher, swapping, drivers,
privileges, user/group identifiers, file system,
synchronization, TCP/IP stack...
Operating Systems - definition
(Kernel space / User space)
Agenda
1. Intro – OS design – Process dispatching
2. Scheduling
3. Memory Management
4. Memory Management and System calls
5. Virtual machines
6. Lecture from external people ?
7. Lecture from external people ?