Sunteți pe pagina 1din 25

Curs 2

1 Sistem de operare-concepte:
• Procese
• Managementul memoriei
• Fișiere
2 Apeluri de sistem
3 Structura sistemului de operare
1.1. Procese

Arbore de procese
1.2. Conflicte

(a) Un conflict potențial. (b) Un conflict


1.3. Fisiere(1)

Sistem de fișiere standard la Linux


1.3. Fisiere(2)

• Înainte de montare, fișierele dispozitivului sunt inaccesibile


mount /dev/cdrom /mnt/cdrom
• /mnt/cdrom este punctul de montare.
• Punctele de montare implicite pentru diferite
dispozitive sunt definite în fișierul /etc/fstab. Dacă nu
aveți asociat punct de montare identificați dispozitivul
utilizând comanda fdisk –l și apoi vă creați punctul de
montare utilizând comanda mkdir.
• După montarea dispozitivului pe /b,
–Fișierele aflate pe dispozitiv pot fi accesate prin /b
1.3. Fisiere(3)

Două procese interconectate printr-o conductă


2. Apel de sistem
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
Categories Windows Unix

CreateProcess() ExitProcess() fork() exit()


Process control
WaitForSingleObject() wait()

loctl()
Device SetConsoleMode() ReadConsole()
read()
manipulation WriteConsole()
write()
Open()
CreateFile() ReadFile() WriteFile() Read()
File manipulation
CloseHandle() write()
close!)
getpid()
Information GetCurrentProcessID() SetTimer()
alarm()
maintanence Sleep()
sleep()
Pipe()
CreatePipe() CreateFileMapping()
Communication shm_open()
MapViewOfFile()
mmap()

SetFileSecurity() Chmod()
Protection InitlializeSecurityDescriptor() Umask()
SetSecurityDescriptorGroup () Chown()
Visual complexity Linux Apache
Visual complexity Windows IIS
3.1. Structura SO

Structura unui sistem monolitic


3.2. Structura SO

SO stratificat
3.3. Structura SO -virtualizare

Structura VM/370 with CMS(Conversational Monitor System)

Fig 1. VMM/Hypervisor runs on hardware. Examples: Fig 2. VMM/Hypervisor is 'hosted' as an application in


VMware ESX, Xen another OS. Examples: VMware Workstation,
Parallels, VirtualBox
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 produs în mod utilizator.
3.5. Structura SO-microkernel

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

The client-server model

Modelul client server (a)

Modelul client server pe un sistem distribuit (b)


De știut...

1. Ce reprezintă un proces?
2. Dați exemplu de conflict.
3. De ce avem nevoie de memorie virtuală?
4. Descrieți pe scurt sistemul de protecție al
fișierelor în Unix.
5. Ce este file descriptor?
6. Ce tipuri de fișiere Unix cunoașteți?
7. Ce reprezintă memoria tampon?
8. Caracterizați o conductă.
De știut
9. Descrieți figura
De știut...
10. Dați exemplu de apeluri de sistem pentru managementul proceselor.
11. Dați exemplu de apeluri de sistem pentru managementul fișierelor.
12. Dați exemplu de apeluri de sistem pentru managementul
directoarelor.
13. Ce înseamnă a monta un sistem de fișiere?
14. Ce reprezintă lseek?
15. Ce reprezintă Win32API?
16. Care sunt diferențele fundamentale dintre Windows și Unix?
17. Caracterizați structura unui SO monolitic.
18. Caracterizați structura unui SO stratificat.
19. Ce reprezintă o mașină virtuală?
20. Caracterizați structura unui exokernel și unui microkernel.
21. Caracterizați structura unui SO monolitic.
22. Caracterizați structura unui SO bazat pe modelul client server.
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-ht
ml.html#SECTION000110000000000000000
• Gh. Dodescu, Sisteme de operare, Ed. Economică, 2003,
pag 18-34.
• Tutorial comanda mount
https://linuxconfig.org/howto-mount-usb-drive-in-linux

S-ar putea să vă placă și