Aritoni Ovidiu Sisteme de operare 1 Introducere



Yüklə 486,94 Kb.
səhifə5/27
tarix12.01.2019
ölçüsü486,94 Kb.
#96236
1   2   3   4   5   6   7   8   9   ...   27

C. Shell – ul


MINIX este un sistem de operare care duce afară apelurile sistem. Editoarele, compilatoarele, ansambloarele, link-editoarele, interpretoarele de comenzi nu sunt o parte a sistemelor de operare, chiar dacă sunt importante şi des utilizate.Cu riscul crearii confuziei intr-o oarecare masura in acesta sectiune vom analiza pe scurt shell(interpretor) care desi nu face parte din sitemul de operare utilizeaza foarte multe parti ale acestuia si de aceea serveste ca un bun exemplu pentru modul in care pot fi utilizate apelurile sistem .

Shellul este de asemena interfaţa primară dintre utilizator ce stă în faţa unui terminal şi sistemul de operare.

Când orice alt utilizator se login-ează, shell-ul este pornit. Shell consideră terminalul atât standard input cât şi standard output. El porneşte prin tastarea pe prompter a unui caracter ca un dollar ($) care spune utilizatorului că shell – ul aşteaptă o comandă. Dacă se tastează


$ date
de exemplu, shell creează un proces fiu şi rulează programul date ca şi fiu. În timp ce procesul date rulează shellul îl aşteaptă pentru a termina. Când procesul fiu a terminat, shell tipăreşte din nou prompterul şi încearcă să citească următoarea line de comandă.

Utilizatorul poate specifica ca fişierul standard output să fie redirectat spre un fişier de exemplu:

date > file

Similar, fişierul standard input poate fi redirecţionat aşa după cum urmează

sort file 2
care invocă programul sort care să preia din file 1 şi să trimită lui file 2.
Output-ul unui program poate fi utilizat ca şi input pentru alt program, conectat cu primul printr-un pipe. Astfel
cat file1 file2 file3 /sort>/dev/lp
invocă programul cat pentru a concatena 3 fişiere şi să trimită outputul programului sort care va aranja toate liniile în ordine alfabetică.

Outputul programului sort este redirectat în fişierul /dev/lp, care este un nume tipic pentru fişierele special de tip caracter pentru imprimantă. (Prin convenţie, toate fişierele speciale sunt reţinute în directorul /dev).

Dacă un utilizator pune semnul & după o comandă, shell-ul nu aşteaptă să fie terminată comanda, şi afişează imediat prompterul utilizator. Prin urmare comanda:
cat file1 file2 file3 /sort>/dev/lp &

porneşte sortarea fişierelor în background, în timp ce utilizatorul continuă să lucreze normal în paralel ce sortarea se efectuează. Shell-ul are un număr mare de proprietăţi interesante, dar nu avem specificul necesar dezbaterii acestui subiect în această carte. Pentru mai multe detalii citiţi referinţele despre shell-ul sistemului de operare UNIX.




4.Structuri de sisteme de operare

A. Sisteme monolitice


De departe, cea mai comună organizare, acestei abordări i se poate da numele de marele dezastru. Structura este aceea că nu există structură. Sistemul de operare este scris ca şi o colecţie de procedeuri dintre care fiecare poate apela pe oricare din celelalte oricând e nevoie. Când această tehnică este folosită fiecare procedură din sistem are o interfaţă bine definită în termeni de parametri şi rezultate şi fiecare este liberă să apeleze oricare altă procedură dacă cea din urmă furnizează calcule folositoare de care are nevoie cea dintâi.

Pentru a construi programul obiect al sistemului de operare atunci când această manieră este folosită trebuie să compilezi toate procedurile individual sau fişierele ce conţin procedurile şi apoi să le legi pe toate împreună într-un singur fişier-obiect cu un link-editor.

În termeni de ascundere a informaţiei fiecare procedură este vizibilă oricărei alte proceduri (opus unei structuri ce conţine module sau pachete în care mare parte de informaţie este ascunsă în interiorul modulului în care doar punctele de intrare special desemnate pot fi apelate din exteriorul modulului.).





fig 1-16. Cum poate fi facut un appel sistem : (1) programul utilizator se ataseaza kernel-ului. (2) sistemul de operare determina numarul serviciului solicitat. (3) sistemul de operare apeleaza procedura de serviciu. (4) controlul se intoarce la programul utilizator
Oricum chiar în sistemul monolitic este posibil să ai o structură mică. Serviciile (apelurile sistemului) furnizate de SO sunt necesare pentru a pune parametrii în locuri bine definite ca de exemplu în registre sau pe stivă, şi apoi pentru a executa o instrucţiune capcană specială cunoscută ca Kernell-call sau apelul superviserului (superviser-call). Această instrucţiune schimbă maşina de la modul user la modul Kernel şi transferă controlul la sisteme de operare, arătat ca eveniment (în figura 1.16)

Multe dintre CPU au două moduri: Kernel mod pentru sisteme de operare în care toate instructiunile sunt permise şi user mod pentru programele user în care I/O şi alte instrucţiuni nu sunt permise.

Apoi sistemul de operare examinează parametrii apelării pentru a determina care apelare trebuie efectuată. (vezi fig. 1.16) apoi, sistemul de operare indexează într-un tabel ce conţine un pointer în celula K către procedura care efectuează apelul sistem K. Acestă operaţie arătată în figura 1.16 identifică procedura de serviciu, care este apoi apelată. Când sarcina şi apelul sistem sunt terminate controlul este înapoiat programul user aşa că poate combina executarea cu declaraţia următorului apel de sistem. (pasul 4)

Organizarea sugerează structura de bază pentru SO:

1.Un program principal care apelează procedura de serviciu cerută;

2.Un set de proceduri de serviciu care îndeplinesc apelurile sistem;

3.Un set de proceduri utilitare care ajută procedurile serviciu.

În acest model pentru fiecare apel sistem există o procedură de serviciu care are grijă de el. Procedeurile utilizate fac lucruri de care au nvoie câteva proceduri de serviciu ca de exemplu transmiterea datelor de la programele user. Această împărţire a procedurilor în 3 straturi este arătată în figura 16 :



fig 1-17. Un model simplu de structurare pentru un sistem monolitic

Yüklə 486,94 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   27




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin