+ All Categories
Home > Documents > 26 februarie 2009 - Home - Cursuri Automatica si...

26 februarie 2009 - Home - Cursuri Automatica si...

Date post: 03-Sep-2019
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
32
Transcript
Page 1: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

Cursul 1

1Introducere26 februarie 2009

Page 2: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 2

Introducere

� Prezentarea general a cursului�� The kernel world� Arhitectura Linux� Arhitectura Windows NT

Page 3: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 3

Echipa

� Octavian Purdil , R zvan Deaconescu, Drago T tulea, George � � � �Milescu

� Mult succes în noul semestru!

Page 4: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 4

Where do we stand?

application programming (EGC, SPG, PP, SPRC, IOC, etc.)

system programming (PC, SO, PT)

kernel programming (PSO)kernel space

user space

Page 5: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 5

Administrative

� Site: http://cs.pub.ro/~pso� Wiki

� 10 puncte teme de cas�� Linux, Windows, Linux si Windows� Punctajul > 5 puncte e corelact direct proportional cu nota de la examen� Tema copiat -> punctaj 0 la toate temele�

� 2 puncte activitate la laborator� nu se puncteaz doar prezen a� �

� 3 puncte �examen�� Teste la curs (~9)� 3 întreb ri, open book�� Testeaz în elegerea conceptelor� �

� Condi ii de promovare: nota finala 4.5, nota minima examen 3�

Page 6: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 6

Obiectivele cursului

� Prezentarea structurii interne a unui sistem de operare� Target: sisteme de operare de uz general � Structura i componentele unui kernel monolitic�

� Procese, FS, Networking� Memory management

� Exemplificare pe Linux i NT�

Page 7: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 7

Obiectivele laboratorului/temelor

� Însu irea cuno tin elor necesare implement rii de device drivere� � � �� În elegerea în profunzime a cuno tin elor prin rezolvarea de � � �

exerci ii�

Page 8: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 8

Cursuri necesare

� Programare: C� SDA: tabele de dispersie, arbori balansa i�� PLAS: lucrul cu regi tri i instruc iuni de baz (adun ri, � � � � �

compara ii, salturi)�� CN: TLB/CAM, cache� PC, RC: ethernet, IP, socke i�� SO: procese, fi iere, thread-uri, memorie virtual� �

Page 9: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 9

Despre curs

� ~ 12 cursuri� interactiv

� participa i la discu ii� �� întreba i atunci când nu a i în eles� � �

� destul de �dens�, se recomand c lduros parcurgerea suportului � �bibliografic înainte i dup curs� �

Page 10: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 10

Despre curs (2)

� Introducere� Procese� Scheduling� Apeluri de sistem� Traps� Spa iul de adres� �� Memorie virtual�

� Memorie fizic�� Block I/O� Sisteme de fi iere (1)�� Sisteme de fi iere (2)�� SMP� Securitate� Networking

Page 11: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 11

Despre laborator

� Device Drivers (C)� 20 min prezentare / 80 minute lucru� se puncteaz activitatea�� learn by doing� maxim 15 puncte pe laborator� bonusul poate compensa activitatea slab la alte laboratoare i � �

cel mult un laborator pierdut (absen )��

Page 12: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 12

Despre teme

� Monitorizare apeluri de sistem� Driver pentru portul serial� Software RAID� Driver pentru un sistem de fi iere simplu�� Statefull firewall

Page 13: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 13

Despre teme (2)

� necesare: aprofundare API (laborator) i concepte (curs)�� teste publice� suport de testare� relativ pu in cod de scris dar relativ dificile�� dificultatea const în acomodarea cu noul mediu�� sunt deja afi ate pe site! :-)�

Page 14: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 14

Bibliografie curs

� Linux Kernel Development, 2nd edition, Robert Love, Novel Press 2005

� Windows Internals 4th edition, David A. Solomon & Mark E. Russinovich, Microsoft Press 2005

� Understanding the Linux Kernel, 3rd edition, Daniel P. Bovet & Marco Cesati, O'Reilly 2005

� Linux Networking Architecture, Klaus Wehrle, Frank Pahlke, Hartmut Ritter, Daniel Muller, Marc Bechler, Prentice Hall 2004

� Understanding Linux Network Internals, Christian Benvenuti, O'Reilly 2005

Page 15: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 15

Bibliografie laborator

� Linux Device Drivers, 3nd edition, Alessandro Rubini & Jonathan Corbet, O'Reilly 2006

� Programming the Windows Driver Model, 2nd edition, Walter Oney, Microsoft Press, 2002

� The Windows 2000 Device Driver Book, 2nd edition, Art Baker & Jerry Lozano, Prentice Hall, 2001

� Linux Kernel in a Nutshell, Greg Kroah-Hartman, O'Reilly 2005

Page 16: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 16

Bibliografie

� UTLK: capitolul 1� LKD: capitolul 1� WI: capitolele 1 i 2�

Page 17: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 17

Arhitectura unui sistem de operare

� Aplica ii�� Sistem de operare

� Shell, utilitare de baz�� Kernel

Page 18: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 18

User vs Kernel

� Module de execu ie�� Kernel mode� User mode

� Protec ia la memorie�� Kernel-space� User-space

Kernel Space

User Space

3GB

Spa

iul d

e ad

res

(mem

orie

virt

ual

)�

��

Page 19: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 19

Contexte de execu ie�

� Context process� Cod ce ruleaz în user-space �� Cod ce ruleaz în kernel-space în urma unui apel de sistem efectuat de un �

anumite proces

� Context întrerupere� Codul ruleaz ca urmare a apari iei unei întreruperi� �� Întotdeauna ruleaz în kernel space�

Page 20: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 20

Monolitic vs microkernel

MemoryServer

ClientApp

Network Server

ProcessServer

FileServer

DisplayServer

Microkernel

Hardware

request

reply

User ModeKernel Mode

App App

System services

Hardware

OS procedures

User Mode

Kernel Mode

Page 21: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 21

Monolitic vs microkernel (2)

� Linux� Unix� Windows� Mac OS X

� Minix 3.0� QNX

Page 22: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 22

Pot fi kernelele monolitice modulare?

� Componente selectate la compilare� Module kernel � înc rcare dinamic� �� Stratificarea (logic ) a codului�� Interfa a dintre straturi este hard coupled: macrou-uri, func ii � �

inline, pointeri la func ii�� Performan e foarte bune�� Nu exist protec ie� �

Page 23: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 23

Kernele hibride?

Many operating systems and kernel experts have dismissed the label as meaningless, and just marketing: Linus Torvalds said of this issue:

"As to the whole 'hybrid kernel' thing - it's just marketing. It's 'oh, those microkernels had good PR, how can we try to get good PR for our working kernel? Oh, I know, let's use a cool name and try to imply that it has all the PR advantages that that other system has'."

Page 24: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 24

Spa iu de adres� �

� Spa iul de adres fizic� �� RAM-ul + periferice

� Spa iu de adres (virtual)� �� Modul în care procesorul vede memoria: o zon continu de memorie de � �

4GB (32biti)� Spa iul de adres al unui proces� �

� Modul în care un proces vede memoria� Spa iul de adres kernel� �

� Zona din spa iul de adres care este rezervat kernelului sau� �� Spa iul de adres dedicat kernelelui� �

Page 25: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 25

Multi tasking/programming/processing

� Sisteme de operare ce permit execu ia simultan a mai multor � �procese

� Mod de implementare� Cooperativ � Preemptiv

Page 26: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 26

Kernel preemptibil

� Un kernel este preemptibil dac un proces poate fi preemptat �chiar i atunci când ruleaz în kernel.� �

Page 27: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 27

Pageable kernel memory

� Memorie folosit exclusiv de kernel (cod, variabile globale, stiv , � �memorie alocat dinamic) care poate fi swap-at .� �

Page 28: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 28

Stiva kernel

� Fiecare proces are asociat o stiv kernel, folosit pentru a � � �men ine starea procesului pe durata execu ie în kernel space� �

� Dimensiunea stivei este redus (4KB � 12 KB)�

Page 29: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 29

Portabilitate

� Exist cel pu in trei straturi în kernelele moderne:� �� Cod dependent de arhitectur (C & ASM)�� Cod independent de arhitectur (C):�

� core � device drivere

Page 30: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 30

SMP vs ASMP

Page 31: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 31

Scalabilitate

� Modul în care cresc performan ele relativ la num rul de � �procesoare din sistem

� Fine grained vs Loose grained locking� Algoritmi lock free � Complexitatea algoritmilor

Page 32: 26 februarie 2009 - Home - Cursuri Automatica si Calculatoareandrei.clubcisco.ro/cursuri/4so2/cursuri2009/01.Introducere.pdf · Punctajul > 5 puncte e corelact direct proportional

26.02.2009 32

Intreb ri�

?


Recommended