• Non ci sono risultati.

Advanced Operating Systems and Virtualization

N/A
N/A
Protected

Academic year: 2021

Condividi "Advanced Operating Systems and Virtualization"

Copied!
10
0
0

Testo completo

(1)

Advanced Operating Systems and Virtualization

Alessandro Pellegrini A.Y. 2019/2020

(2)

Basic Information

• Lecture Schedule:

– Course begins today! ☺ – Lecture slots:

Wednesday, 17.00–19.00 (Room A3, Via Ariosto);

Friday, 08.00–11.00 (Room A3, Via Ariosto).

• Office Hours:

– See on my webpage for the schedule

• Contact: pellegrini@diag.uniroma1.it

(3)

Exam Rules

• A written test (3/5 of the final mark)

• A code project (2/5 of the final mark)

– Implementation of facilities within the Linux Kernel – Instructions will be given during the course

• We will see internals from Linux 2.4/2.6/3.0/4.0/5.0

– Pick your preferred (recent) version!

– Best if you are compatible with more than one!

(4)

Course Outline

• A Primer on Modern Hardware Architectures

• x86 Initial Boot Sequence.

• Linux Kernel Boot

• Memory Management.

• System Calls Management

• Interrupt Management

• Building the Kernel

• Kernel Data Structures

(5)

Course Outline

• Virtual File System and Devices

• Userspace Initialization

• Process Startup and Management

• Scheduling Processes

• Loadable Kernel Modules

• Kernel Messaging

• Security Aspects

• Hot Patching

(6)

Reference Material

Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel . O’Reilly.

Mel Gorman, Understanding the Linux Virtual Memory Manager . Prentice Hall.

Alessandro Rubini, Jonathan Corbet, Linux Device Drivers , O’Reilly.

David A. Rusling, The Linux Kernel.

(7)

Reference Material

(8)

What you should know already

Computing Architectures

Registers, I/O, Interrupts principles, flat memory model, ...

Numerical Representations

Basic x86 assembly notation

Operating Systems Principles Threads and Processes

System Calls

Algorithms and Data Structures

Some notions on Concurrency

Synchronization, race conditions, critical sections, locks, ...

Basic knowledge of the C programming language, and how to use a compiler

(9)

Why Linux?

AOSV: Introduction

(10)

Why x86?

AOSV: Introduction

Riferimenti

Documenti correlati

However nding any way of handling resource sharing in these systems without breaking the BIP has been an open problem for long time, as long as the idea of solving it using

• swapper_pg_dir in arch/i386/kernel/head.S keeps the virtual memory address of the PGD (PDE) portion of the kernel page table. • It is initialized at compile time, depending on

You are not allowed to use any note or

Describe how the Linux kernel manages physical memory on NUMA machines,       and what is the fundamental data structure used for physical frame

Illustrate what are the steps required to       enable and use it, and the way modern operating systems rely on it to enforce       internal security from userspace

• Loads from disk the actual kernel startup image and gives control to it. Bootloader Stage 2 Loads and starts

Describe what are the reasons behind the development of the Linux kpatch       system, and illustrate how it

Introduction Portolan Desktop Outcomes Conclusions Objectives Architecture Measures Analyzer MPLS Tunnels Taxonomy ttl-propagate no ttl-propagate RFC 4950 Explicit Opaque no RFC