Curs 2 1 Sistem de operare-concepte: 2 Apeluri de sistem Procese Managementul memoriei Fișiere 2 Apeluri de sistem 3 Structura sistemului de operare
1.1. Procese Arbore de procese
(a) Un conflict potențial. (b) Un conflict 1.2. Conflicte (a) Un conflict potențial. (b) Un conflict
Sistem de fișiere pentru un departament al unei universități 1.3. Fisiere(1) Sistem de fișiere pentru un departament al unei universități
1.3. Fisiere(2) Înainte de montare, Fișierele dispozitivului sunt inaccesibile După montarea dispozitivului pe /b, Fișierele aflate pe dispozitiv pot fi accesate prin /b
Două procese interconectate printr-o conductă 1.3. Fisiere(3) Două procese interconectate printr-o conductă
2.1. Cum se realizează un apel de sistem Sunt necesari 11 pași pentru a realiza un apel de sistem read (fd, buffer, nbytes)
2.2. Apeluri de sistem pentru managementul proceselor Scheletul unui shell: while (TRUE) { /* repeat forever */ type_prompt( ); /* display prompt */ read_command (command, parameters) /* input from terminal */ if (fork() != 0) { /* fork off child process */ /* Parent code */ waitpid( -1, &status, 0); /* wait for child to exit */ } else { /* Child code */ execve (command, parameters, 0); /* execute command */ }} Cp fis1 fis2 main(argc, argv,envp) argc=3;argv[0]=cp, argv[1]=fis1, argv[2]=fis2;envp=0
2.3. Apeluri de sistem pentru managementul fișierelor
2.4. Apeluri de sistem pentru managementul directoarelor mount(“/dev/fd0, “/mnt”, 0) (c)
2.5. Alte apeluri de sistem
2.6. Apeluri de sistem UNIX/Windows
Structura unui sistem monolitic 3.1. Structura SO Structura unui sistem monolitic
3.2. Structura SO SO stratificat
Structura VM/370 with CMS(Conversational Monitor System) 3.3. Structura SO Structura VM/370 with CMS(Conversational Monitor System)
3.4. Structura SO Exokernel: Un sistem care oferă fiecărui utilizator o clonă a SC efectiv, dar având la dispoziție un subset de resurse; Sarcina exokernelului este de a aloca resurse pentru mașinile virtuale și de a verifica încercările de utilizare a resurselor astfel alocate Avantajul metodei este separarea multiprogramării (existentă la nivel de exokernel) de codul sistemului de operare utilizator dar cu supaăncărcare mai mică. Microkernel: Ideea este ca întreg SO să fie dezvoltat pe module care rulează în mod utilizator și doar un singur modul numit microkernel să ruleze în mod kernel MINIX este un exemplu [3/pag. 65-67]
3.5. Structura SO Modelul client server (a) The client-server model Modelul client server (a) Modelul client server pe un sistem distribuit (b)
De știut... Ce reprezintă un proces? Dați exemplu de conflict. De ce avem nevoie de memorie virtuală? Descrieți pe scurt sistemul de protecție al fișierelor în Unix. Ce este file descriptor? Ce tipuri de fișiere Unix cunoașteți? Ce reprezintă memoria tampon? Caracterizați o conductă.
De știut 9. Descrieți figura
De știut... Dați exemplu de apeluri de sistem pentru managementul proceselor. Dați exemplu de apeluri de sistem pentru managementul fișierelor. Dați exemplu de apeluri de sistem pentru managementul directoarelor. Ce înseamnă a monta un sistem de fișiere? Ce reprezintă lseek? Ce reprezintă Win32API? Care sunt diferențele fundamentale dintre Windows și Unix? Caracterizați structura unui SO monolitic. Caracterizați structura unui SO stratificat. Ce reprezintă o mașină virtuală? Caracterizați structura unui microkernel. Caracterizați structura unui SO bazat pe modelul client server.
Întrebare Care din următoarele NU este un tip de nucleu de sistem de operare? exokernel microkernel endokernel monolitic
Răspuns corect: C
Întrebare Ce componentă invocă un apel de sistem? utilizatorul hardware-ul nucleul biblioteca standard C
Răspuns corect: D
Întrebare Ce componentă este invocată în cadrul unui apel de sistem? utilizatorul hardware-ul nucleul biblioteca standard C
Răspuns corect: C
Întrebare La ce se referă DMA? dispozitive de I/E procese memorie cache deadlock
Răspuns corect: C
Întrebare Care din următoarele rulează în spațiul utilizator? componenta de networking a unui SO gestiunea memoriei planificatorul de procese shell-ul unui utilizator
Răspuns corect: D
Bibliografie A. Tanembaum, Modern Operating Systems, Prentice Hall 2001, pag 34-70. A. Silberschatz, P. Galvin, Operating System Concepts, John Wiley and Sons Inc., 2005, pag 39-71(capitolul 2) A. Tanembaum, Modern Operating Systems, Prentice Hall, 2007, pag 38-82. http://www.cs.cmu.edu/~mihaib/articole/nucleu/nucleu-html.html#SECTION000110000000000000000 Gh. Dodescu, Sisteme de operare, Ed. Economică, 2003, pag 18-34.