Skip to content

Latest commit

 

History

History
119 lines (90 loc) · 7.58 KB

so.md

File metadata and controls

119 lines (90 loc) · 7.58 KB

Sisteme de Operare - Andrei Baranga

Grupa 231 (22.01.2017) via Florentina Ciolacu

  1. Sisteme de gestiune a fișierelor în Windows.
  2. Tabele de gestiune a fișierelor.
  3. 4 atribute ale i-nodului.
  4. Arhitecturi multiprocesor.
  5. Scrieți o funcție int myFunct(char *fis, char *info, int m) care suprascrie șirul info în fișierul cu numele dat de fis, începân cu poziția m. Funcția va returna -1 în caz de eroare.
  6. Scrieți o funcție int myFunct(char * *fin, int nr, char *fout) care concatenează conținutul celor nr fișiere date de fin în fișierul cu numele dat de fout. Funcție va returna -1 în caz de eroare.

Grupa 235 (29.01.2017)

  1. Enumerați cele 3 mecanisme de comunicare de la IPC System V.
  2. Enumerați două apeluri de sistem pentru gestiunea fișierelor și două apeluri de sistem pentru gestiunea proceselor.
  3. Enumerați 3 componente după arhitectura lui Von Neumann.
  4. Dați signatura apelului de sistem care creează un proces fiu.
  5. Scrieți o funcție int myFunct() care așteaptă terminarea tuturor proceselor fiu și returnează 0 dacă toate procesele s-au terminat normal și -1 altfel.
  6. Scrieți o funcție int myFunct(MYSTRUCT *p, int n) unde MYSTRUCT are două câmpuri - char *nume și int prioritate, iar vectorul p are n elemente. Funcția va crea un proces fiu care execută procesul cu prioritatea maximă și returnează pid-ul procesului în caz de succes și -1 în caz de eroare.

Grupa 233 (05.02.2017) via Iulia Mustea

  1. Dați signatura apelului semop.
  2. Numiți algoritmul folosit de UNIX pentru planificarea proceselor.
  3. Enunțați problema celor 5 filosofi.
  4. Care este teoria matematică folosită la deadlock?
  5. Scrieți funcția int myFunct(char *fis, int *val) unde fis este numele unui fișier binar. După apelul funcției, val va conține adresa poziției minimului din fișier. Funcția va returna 0 în caz de succes și -1 în caz de eroare.
  6. Scrieți funcția int myFunct(char *fis, int *val) unde fis este numele unui fișier ce conține numere întregi separate prin spații și \n. După apelul funcției, val va conține adresa poziției minimului din fișier. Funcția va returna 0 în caz de succes și -1 în caz de eroare.

Grupa 235 (08.02.2016) via Ciprian Olariu

  1. Dati signatura apelului de sistem care blocheaza/deblocheaza portiuni de fisiere.
  2. Numiti teoria matematica care sta in spatele detectiei situatiei de deadlock.
  3. Numiti algoritmul folosit in UNIX pentru planificarea proceselor.
  4. Numiti o tehnica de inlocuire a paginilor din memorie.
  5. Scrieti o functie int myFunct(char *fis, int m, int *n) care deschide fisierul BINAR cu numele fis si citeste de la pozitia m din fisier *n valori intregi. Functia va calcula minimul dintre aceste valori si il va returna. In caz de eroare, in pointerul n se va stoca valoarea -1, altfel 0.
  6. Scrieti o functie int myFunct(char *fis) care deschide fisierul BINAR cu numele fis si dintre numerele intregi din el le va sterge pe cele de valoare maxima. Functia intoarce -1 in caz de eroare, alfel 0. P.S.: Este permisa folosirea unui fisier auxiliar (care sa nu existe deja in director si care sa fie sters inainte de return), dar nu este permisa maparea fisierului in memorie.

Seria 23 restanță 06.02.2015

  1. Numiți o extensie de arhive.
  2. Numiți cele 3 feluri de permisii ale fișierelor.
  3. Numiți 4 apeluri de sistem.
  4. Scrieți o funcție int myFunct(int *pid, int *sig, int n), în care ambii vectori sunt de lungime n, primul reprezintă o listă de identificatori de procese, al doilea reprezintă o listă de semnale. Pentru fiecare proces i din pid, trimiteți semnalul i din sig. Dacă unul dintre apeluri nu a mers, returnați numărul de semnale care au fost trimise. Dacă toate au mers, returnați n.
  5. Scrieți o funcție int myFunct(key_t cheie, void (*f)()) care primește cheia de la un semafor și o funcție. Decrementați semaforul, apelați funcția, incrementați la loc. Dacă nu a mers vreun apel, returnează -1, altfel return 0.

grupa 241 (2014)

1. Dacă o pagină are 512 octeți, câte pagini sunt în 1MB?
2. Care sunt politicile de înlocuire ale paginilor?
3. Ce este fragmentarea discului?
4. Care sunt părțile componente ale unui hard disk?
5. Scrieti o functie în C `int myFunct(char *dir)` care returneaza suma mărimilor fișierelor din acel director.
6. Scrieți o funcție în C `int myFunct(char *fis)` care citește acel fișier și scrie un număr de octeți astfel încât mărimea acelui fișier modulo 256 să fie 0.

Solutii.

grupa 234 (2014)

Subiecte SO 234:

1. Signatura apelului sistemului unix princare se citesc date dintr-un fisier;
2. Se considera variabilele:
- int a,b;
Scrieti o secventa de cod care interschimba valorile celor doua variabile fara a folosi o variabila auxiliara.
3. Enuntati problema filozofilor;
4. Enumerati tipurile de IPC SystemV;
5. Scrieti o functie c int myfunc(int semid, void (*f)());
care apeleaza functia data de f decrementand in prealabil semaforul cu identificatorul intern dat de semid., dupa apel, incrementeaza semaforul. Se returneaza 0 in caz de succes si -1 in caz de eroare.
6. Scrieti o functie c int myfunc(char *fis, char *s, int nr);
care creaza fisierul cu numele dat de fis si il umple cu valorile lui s de nr ori. In caz de eroare se returneaza -1 si 0 in caz de succes.

seria 24 (2014)

Subiecte SO de azi:
- cand un fisier e sters complet
- tipuri de interfete cu utilizatorul
- multiprocesor (nu stiu daca tipuri de arhitecturi)
- o problema cu semnale
- functie care sa calculeze nr de aparitii al unui sir intr-un fisier

Grupa 234 2015

Poză cu subiectele via Theodor Stanbeca

Solutii

Alte subiecte

Cursuri

Utile

Recomandări @palcu

Aici e adresa cu întreg folderul.