Top Banner
Cursul 4 Utilizatori s , i procese Utilizarea Sistemelor de Operare (USO) 16 octombrie 2017 Departamentul de Calculatoare CSE Dep Cursul 4, Utilizatori s , i procese 1/52
45

Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Feb 14, 2018

Download

Documents

lydien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Cursul 4Utilizatori s, i procese

Utilizarea Sistemelor de Operare (USO)16 octombrie 2017

Departamentul de Calculatoare

CSE Dep Cursul 4, Utilizatori s, i procese 1/52

Page 2: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Moto

Multitasking: A polite way of telling someone you haven’t heard aword they said.

CSE Dep Cursul 4, Utilizatori s, i procese 2/52

Page 3: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Dezvoltarea programelor

fișcod sursă

fișier

cod sursă

fișier

obiect

fișier

obiect

fișier

executabilpachet

software

fișier

de datefișier de

configurare

bibliotecă

compilare

compilare

linking

dezvoltator

utilizator

CSE Dep Cursul 4, Utilizatori s, i procese 3/52

Page 4: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Dezvoltarea programelor

http://blog.codinghorror.com/whos-your-coding-buddy/

CSE Dep Cursul 4, Utilizatori s, i procese 4/52

Page 5: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

In aceasta saptamana la USO

I WoUSO ruleaza la https://wouso.cs.pub.ro/

I miercuri, 18 octombrie 2017, ıncepe laboratorul 4: Utilizatoris, i procese

I tema 0 are termen joi, 19 octombrie 2017, 23:55I ıntrebat, i, ıntrebat, i, ıntrebat, iI folosit, i forumulI ajutat, i colegii pe forumI https://ocw.cs.pub.ro/courses/uso/regulament

I sect, iunea ,,Recomandari de comunicare electronica”I sect, iunea ,,Realizarea temelor”

I tema 1 va aparea joi, 19 octombrie 2017

I slide-urile cursului 5: Administrarea sistemului de fis, iere vor fipublicate vineri, 20 octombrie 2017

I luni, 23 octombrie 2017, la cursul 5 va avea loc lucrarea decurs 1, cu ıntrebari din cursurile 2, 3 s, i 4

I https://ocw.cs.pub.ro/courses/uso/punctaj

CSE Dep Cursul 4, Utilizatori s, i procese 5/52

Page 6: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Suport de curs

I Suport (Introducere ın sisteme de operare)I Capitolul 5 – ProceseI Sect, iunea 3.1I Sect, iunea 4.5I Sect, iunea 10.2.3I Sect, iunea 10.2.4I Sect, iunea 10.3.3 (paragraful ,,sudo”)

CSE Dep Cursul 4, Utilizatori s, i procese 6/52

Page 7: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

De ce exista conturi s, i de autentificare?

I organizare

I separarea resurselor

I securitate

I privacy

I sa existe mai mult, i utilizatori pe un sistem (chiar simultan,cum este fep.grid.pub.ro

Spunem ca un sistem dispune de mai mult, i utilizatori, estemultiuser

CSE Dep Cursul 4, Utilizatori s, i procese 8/52

Page 8: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Ce poate face o aplicat, ie ıntr-un sistem?

I o aplicat, ie (sau ,,ceva care ruleaza”) este numita proces

I un proces ruleaza cu permisiunile utilizatorui care a pornit-o

I cand Dan lanseaza un proces acesta nu poate s, terge fis, iere aleCorinei s, i viceversa

I exista mai mult, i utilizatori ıntr-un sistem s, i mai multe procesecare t, in de utilizatori

I unii utilizatori sunt ,,ascuns, i” (nu te pot, i autentifica) pentruca anumite procese sa ruleaze cu permisiunile acelora

I o aplicat, ie care instaleaza pachete pe un telefon mobil va rulacu un anumit utilizator ,,ascuns”

I ın felul acesta nu apar probleme ıntre diversele procese

Intr-un sistem, utilizatorii reprezinta modul prin care se asiguraseparat, ia permisiunilor ıntre procese.

CSE Dep Cursul 4, Utilizatori s, i procese 9/52

Page 9: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Privilegii de utilizator

I utilizator obis,nuit/neprivilegiatI procesele lansate de acesta pot opera doar cu resursele saleI nu poate afecta mersul proceselor altor utilizatoriI prompt-ul se ıncheie cu $

I utilizator privilegiat (administrator, root)I procesele lansate de acesta pot modifica ıntre sistemulI poate afecta mersul proceselor altor utilizatoriI controleaza toate resursele sistemuluiI prompt-ul se ıncheie cu #

I sisteme de operare moderne permit privilegii separate (nutotale) anumitor utilizatori; de ce?

CSE Dep Cursul 4, Utilizatori s, i procese 10/52

Page 10: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Ce este un utilizator?

I perspectiva umanaI persoana care foloses, te un sistem de calcul

I perspectiva sistemului de operareI cont pe un sistemI entitate de tip agent – executa act, iuni ın cadrul sistemuluiI acces, drepturi (limitari, privilegii), act, iuni, proprietate

(ownership)I ın general identificat printr-un nume (username) s, i un

identificator (UID: user identifier)I procesele sunt create ın cadrul unui utilizator

CSE Dep Cursul 4, Utilizatori s, i procese 12/52

Page 11: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Operat, ii realizate de utilizatori

I autentificare (login)I furnizarea unor date de autentificare (credent, iale, credentials)I parola, semnatura digitala, amprenta

I deconectare (logout)

I schimbare credent, iale (parola, detalii de acces)

I schimbarea utilizatorului curent (switch user)

I rularea de procese cu permisiunile utilizatorului

CSE Dep Cursul 4, Utilizatori s, i procese 13/52

Page 12: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Parola

I forma obis,nuita de obt, inere a accesului (login)

I s, ir de caractere tiparibileI considerente de securitate

I fara cuvinte comune (din dict, ionar)I fara date de nas, tereI daca se noteaza, de avut grija unde se noteazaI ınlocuire periodicaI caractere speciale, numere, majuscule

Treat your password like your toothbrush. Don’t let anybody else use it,and get a new one every six months.

Clifford Stoll

CSE Dep Cursul 4, Utilizatori s, i procese 14/52

Page 13: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Schimbarea utilizatorului

ın linia de comanda, comanda su (substitute user)

Folosirea comenzii su

razvan@valhalla:~$ su

Password:

root@valhalla:/home/razvan# exit

razvan@valhalla:~$ su -

Password:

root@valhalla:~# logout

razvan@valhalla:~$ su - so

Password:

so@valhalla:~$

CSE Dep Cursul 4, Utilizatori s, i procese 15/52

Page 14: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Act, iuni privilegiate

I act, iunile neprivilegiate pot fi executate de tot, i utilizatoriiI parcurgerea ierarhiei de fis, iereI rularea de programeI conexiuni de ret,ea

I act, iunile privilegiate pot fi executate doar de anumit, iutilizatori

I gestiunea utilizatorilor (adaugare, s, tergere utilizatori)I gestiunea pachetelorI configurarea ret,eleiI configurarea parametrilor de bootI configurarea nucleului

CSE Dep Cursul 4, Utilizatori s, i procese 16/52

Page 15: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Utilizator privilegiat

I ın general, exista un utilizator sau seturi de utilizatoriprivilegiat, i cu drepturi depline ın sistem

I Unix: utilizatorul rootI prompt-ul ıncepe cu #

I Windows: utilizatorul Administrator, grupulAdministrators

I accesul unui utilizator strain la un cont privilegiat ınseamnacompromiterea sistemului

I trebuie folosit cat mai rar contul privilegiatI pe Unix, se poate folosi su sau sudo

CSE Dep Cursul 4, Utilizatori s, i procese 17/52

Page 16: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

sudo

I substitute user do

I rularea unor comenzi cu drepturi altui utilizator

I de obicei se ruleaza cu drepturi de root

I este solicitata parola utilizatorului care ruleaza comanda

Exemple de cazuri de utilizare sudo

$ sudo apt-get install package-name # install package-name

$ sudo su # open root shell

$ sudo bash # open root shell

I configurat ın /etc/sudoers

I putem configura granular privilegii: un utilizator poate rulaprivilegiat doar anumite comenzi

CSE Dep Cursul 4, Utilizatori s, i procese 18/52

Page 17: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Operat, ii cu utilizatori

Realizate de tot, i utilizatorii

I informat, ii despre utilizatori s, i grupuri

I /etc/passwd, /etc/group

I comenzile id, w, who, whoami, users, finger, pinky, last

Realizate de utilizator privilegiat

I adaugarea sau s, tergerea unui utilizator: adduser, deluser

I schimbarea parolei unui utilizator (poate fi realizata de unutilizator neprivilegiat pentru sine): passwd

I crearea sau s, tergerea unui grup de utilizatori

I adaugare sau s, tergerea unui utilizator ıntr-un grup

I oferirea sau revocarea de privilegii unui utilizator (de exempluın /etc/sudoers)

I mai multe ın cursul 12: Elemente de securitate

CSE Dep Cursul 4, Utilizatori s, i procese 19/52

Page 18: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Legatura utilizatori-procese

I un utilizator este un identificator (UID)

I act, iunile ın sistem se fac prin procese care t, in de un anumeutilizator

I un utilizator este autentificat ın sistem → exista un processhell al carui camp UID este al utilizatorului

I o comanda rulata de un utilizator = shell-ul curent, alutilizatorului, creeaza un proces nou, tot al utilizatorului

I ın sistem, un utilizator este reprezentat de o suma de procese

CSE Dep Cursul 4, Utilizatori s, i procese 21/52

Page 19: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Cum creeaza un utilizator procese?

I deschid aplicat, ii

I dublu click ın GUI

I rularea unei comenzi ın linia de comanda

I Alt+F2 (ın Linux) sau Buton de Windows + R (ın Windows)

I cand oricare dintre ei se autentifica se pornesc procesele destartup (interfat,a grafica pentru GUI sau shell-ul pentru CLI)

CSE Dep Cursul 4, Utilizatori s, i procese 22/52

Page 20: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Procese

I concept fundamental ın sisteme de operare, se refera laact, iune

I procesul poate fi numit aplicat, ie, task sau, nu foarte corect,,,program”

I un program aflat ın execut, ie (instant, a a unui program)I o aplicat, ie deschisa (care ruleaza)I act, iune ın cadrul sistemului de operareI program este, strict tehnic, executabilul din care se nas, te

procesul

CSE Dep Cursul 4, Utilizatori s, i procese 23/52

Page 21: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Procese (detaliat)

I unitatea de lucru ın SOI det, ine informat, ii despre

I ce se ruleaza (codul obt, inut din program/executabil)I cum se ruleaza un program ın SOI cand trebuie rulate part, i de cod din cadrul unui programI ce resurse sunt folosite la rularea unui program

I denumit s, i task sau job

I ia nas, tere dintr-un executabil, se ıncarca executabilul ınmemorie

CSE Dep Cursul 4, Utilizatori s, i procese 24/52

Page 22: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Resurse folosite de un proces

I un identificator la nivelul sistemului: PID (process identifier)

I procesor (ruleaza instruct, iuni pe procesor)

I memorie (instruct, iunile s, i datele sunt ın memorie)

I spat, iu pe disc (daca lucreaza cu fis, iere)

I dispozitive de intrare/ies, ire (placa de ret,ea, USB devices etc.)

CSE Dep Cursul 4, Utilizatori s, i procese 25/52

Page 23: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Operat, ii cu procese

I crearea sau pornirea unui proces

I terminarea, oprirea sau ıncheierea unui proces

I vizualizarea listei de procese

I inspectarea unui proces

I modificarea atributelor unui proces

I comunicarea ıntre procese

CSE Dep Cursul 4, Utilizatori s, i procese 26/52

Page 24: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Ce poate face s, i ce nu poate face un proces?

I depinde ce privilegii s, i permisiuni are pe resurse

I un proces sau nu poate crea un fis, ier; un proces poate sau nupoate trimite pachete pe ret,ea

I privilegiile unui proces sunt date de utilizatorul ce det, ineprocesul

I orice proces apart, ine unui utilizator

CSE Dep Cursul 4, Utilizatori s, i procese 27/52

Page 25: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Vizualizare procese ın Unix/Linux

I comanda ps (process status)

Vizualizarea proceselor din terminalul curent

razvan@anaconda:~$ ps

PID TTY TIME CMD

10388 pts/2 00:00:00 bash

10478 pts/2 00:00:00 ps

CSE Dep Cursul 4, Utilizatori s, i procese 29/52

Page 26: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Vizualizare procese ın Unix/Linux (cont.)

Vizualizarea tuturor proceselor din sistem

razvan@anaconda:~$ ps -e

PID TTY TIME CMD

1 ? 00:00:00 init

2 ? 00:00:00 ksoftirqd/0

3 ? 00:00:00 events/0

4 ? 00:00:00 khelper

5 ? 00:00:00 kacpid

...

3798 ? 00:00:08 soffice.bin

10388 pts/2 00:00:00 bash

10415 ? 00:00:00 sshd

10479 pts/2 00:00:00 ps

CSE Dep Cursul 4, Utilizatori s, i procese 30/52

Page 27: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Vizualizare procese ın Unix/Linux (cont.)

Vizualizare personalizata

razvan@anaconda:~$ ps -o pid,ppid,tty,rss,cmd -e --sort rss

PID PPID TT RSS CMD

3263 1 ? 380 /usr/sbin/squid -D -sYC

2770 2746 ? 388 hald-addon-storage: polling /dev/hdc

2737 1 ? 392 /usr/bin/dbus-daemon --system

1075 1 ? 400 udevd --daemon

3355 1 tty1 416 /sbin/getty 38400 tty1

3356 1 tty2 416 /sbin/getty 38400 tty2

[...]

3364 1 tty6 416 /sbin/getty 38400 tty6

3057 1 ? 432 /usr/bin/xfs -daemon

3380 3377 ? 436 git-daemon --verbose --base-path=/var/cache /var/cach

2733 1 ? 448 /usr/sbin/courierlogger courierpop3login

3636 1 ? 456 gpg-agent --daemon

[...]

367 3313 ? 5188 /usr/sbin/apache

2827 2804 ? 5336 /usr/bin/python /var/lib/mailman/bin/qrunner --runner

[...]

2823 2804 ? 6652 /usr/bin/python /var/lib/mailman/bin/qrunner --runner

32488 3313 ? 10340 /usr/sbin/apache

3313 1 ? 10488 /usr/sbin/apache

CSE Dep Cursul 4, Utilizatori s, i procese 31/52

Page 28: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Ierarhia de procese

I identificatorul unui proces – PID (process ID) (un numar)

I orice proces are un proces parinte (s, i numai unul) (except, ieinit)

I un proces este creat dintr-un alt proces

I ın linia de comanda un proces este creat din procesul shell(din procesul care cites, te comanda utilizatorului)

I rezulta o ierarhie de proceseI un proces are un proces parinteI un proces are 0 sau mai multe procese copilI ın Unix, procesul init este radacina ierarhiei

CSE Dep Cursul 4, Utilizatori s, i procese 32/52

Page 29: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Ierarhia de procese (cont.)

Vizualizarea ierarhiei de procese ın Unix cu ps -H

razvan@anaconda:~$ ps -H -o pid,ppid,comm -C init,sshd,bash,ps

PID PPID COMMAND

1 0 init

3048 1 sshd

29263 3048 sshd

29266 29263 sshd

29267 29266 bash

32688 3048 sshd

32691 32688 sshd

32692 32691 bash

32733 3048 sshd

32736 32733 sshd

32737 32736 bash

487 32737 ps

CSE Dep Cursul 4, Utilizatori s, i procese 33/52

Page 30: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Ierarhia de procese (cont.)

Vizualizarea ierarhiei de procese ın Unix cu pstree

razvan@anaconda:~$ pstree -p

init(1)-+-Xprt(3144)

|-apache(3313)-+-apache(27892)

| |-apache(28002)

| |-apache(28037)

| |-apache(28038)

[...]

|-sshd(3048)---sshd(32733)---sshd(32736)---bash(32737)---pstree(571)

CSE Dep Cursul 4, Utilizatori s, i procese 34/52

Page 31: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Utilitarul top

I vizualizarea dinamica (ın timp real) a funct, ionarii sistemuluiI memoria ocupataI ocuparea procesoruluiI informat, ii despre procese

I monitorizarea proceselor s, i sistemului

I utilitarul htop: culori, scroll vertical s, i orizontal, cautare etc.

CSE Dep Cursul 4, Utilizatori s, i procese 35/52

Page 32: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Crearea unui proces

I un proces este creat din cadrul unui proces existent

I ın Unix, init este ,,strabunul” tuturor proceselorI fazele crearii

I copierea (,,clonarea”) procesului parinteI alocarea resurselor necesare pentru noul proces (PID, tabela de

fis, iere, zone de memorie etc.)I ıncarcarea ın memorie a executabilului asociat noulul proces

(faza se numes, te “loading”)I actualizarea resurselor (zone de memorie, fis, iere deschise)I ulterior se ruleaza procesul (se executa instruct, iuni pe procesor)

CSE Dep Cursul 4, Utilizatori s, i procese 37/52

Page 33: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Terminarea unui proces

I la terminarea unui procesI toate informat, iile aferente disparI resursele (memorie, fis, iere) sunt eliberate

I Cand un proces moare, se s, terge fis, ierul executabil asociat?I Cand se termina un proces?

I se ajunge la sfars, itul zonei de cod a executabiluluiI se apeleaza exit (sau o funct, ie asemanatoare)I act, iune nevalida, condit, ii anormale (abnormal termination):

generarea unei except, ii (acces nevalid la memorie sau altaresursa)

I este terminat de utilizator sau alt proces

CSE Dep Cursul 4, Utilizatori s, i procese 38/52

Page 34: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Terminare fort,ata a unui proces

I procesul executa o act, iune nevalida (condit, ie anormala) →sistemul de operare termina procesul

I nu mai sunt resurse ın sistem → sistemul de operare terminaprocesul

I rat, iuni particulare → utilizatorul sau alt proces terminaprocesul (utilizatorul tot printr-un proces, de obicei shell-ul)

I terminarea fort,ata a procesului ınseamna transmiterea uneinotificari catre acesta (unui ,,glont,”)

I notificarea este trimisa de sistemul de operare sau de un altproces

I notificarea se numes, te semnal (signal) pe Linux s, i except, ie(exception) pe Windows)

I anumite tipuri de notificare sunt doar pentru anunt, , nu sunt,,gloant,e” (nu termina procesul)

CSE Dep Cursul 4, Utilizatori s, i procese 39/52

Page 35: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Semnale

I ın Unix

I mecanisme de notificare prin care se indica unui procesI ıncheierea unei operat, ii sau atingerea unei stari (notificare)I o condit, ie deosebita ın funct, ionare (de ex. accesarea unei zone

invalide de memorie)

Lista de semnale ın Unix

razvan@anaconda:~$ kill -l

1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL

5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE

9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2

13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD

18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN

22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ

26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO

30) SIGPWR 31) SIGSYS

CSE Dep Cursul 4, Utilizatori s, i procese 40/52

Page 36: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Semnale (cont.)

I comanda kill poate fi folosita pentru transmiterea unuisemnal

I denumire nefericita: nu toate semnalele termina procesul

Terminarea unui proces cu semnalul SIGKILL

razvan@anaconda:~$ ps

PID TTY TIME CMD

10388 pts/2 00:00:00 bash

10422 pts/2 00:00:00 netcat

10424 pts/2 00:00:00 ps

razvan@anaconda:~$ kill -KILL 10422

[1]+ Killed netcat

razvan@anaconda:~$ ps

PID TTY TIME CMD

10388 pts/2 00:00:00 bash

10425 pts/2 00:00:00 ps

razvan@anaconda:~$

CSE Dep Cursul 4, Utilizatori s, i procese 41/52

Page 37: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Semnale (cont.)

I pkill, killall: comenzi pentru semnale catre grupuri deprocese

CSE Dep Cursul 4, Utilizatori s, i procese 42/52

Page 38: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Legatura procese-utilizatori

I un utilizator este un identificator (UID)

I act, iunile ın sistem se fac prin procese care t, in de un anumeutilizator

I un utilizator este autentificat ın sistem → exista un processhell al carui camp UID este al utilizatorului

I o comanda rulata de un utilizator = shell-ul curent, alutilizatorului, creeaza un proces nou, tot al utilizatorului

I ın sistem, un utilizator este reprezentat de o suma de procese

CSE Dep Cursul 4, Utilizatori s, i procese 44/52

Page 39: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Procese

I pornite de utilizator

I pornite de sistem (t, in de utilizatori ,,ascuns, i”)

I ps, top, htop: vizualizare procese

I proceselor le este ıncheiata execut, ia prin semnale

CSE Dep Cursul 4, Utilizatori s, i procese 45/52

Page 40: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Cuvinte cheie

I proces

I PID

I Task Manager

I ps

I init

I ierarhie de procese

I pstree

I top

I creare proces

I terminare proces

I semnal

I kill

I utilizator

I UID

I parola

I privilegiat

I root

I su

I sudo

CSE Dep Cursul 4, Utilizatori s, i procese 46/52

Page 41: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Operating Systems Concepts

I edit, ia a 8-a, 2008

I Silberschatz, Galvin, Gagne

I una dintre cart, ile de capatai ın lumea sistemelor de operare

I acopera foarte bine subiectele de gestiunea proceselor s, igestiunea memoriei

I edit, ia a 9-a planificata pentru 2012

CSE Dep Cursul 4, Utilizatori s, i procese 48/52

Page 42: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Donald Knuth

I The Art of Computer ProgrammingI ıntrerupt dupa volumul trei pentru a scrie TEXI volumul 4 aproape gataI estimare pentru volumul 5 ın 2020I volumele 6 s, i 7 planificate

I analiza algoritmilor

I autorul TEX, METAFONT

I umor profesional

CSE Dep Cursul 4, Utilizatori s, i procese 49/52

Page 43: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

IBM

I International Business Machines Corporation

I fondata, ca nume, ın 1924

I una dintre cele mai mari companii din lume

I unul dintre cele mai recunoscute brand-uri

I hardware (servere), software, servicii

I Blue Gene supercomputers

I sust, inator al open source – IBM Linux Technology Center

CSE Dep Cursul 4, Utilizatori s, i procese 50/52

Page 44: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

DTrace

I dynamic tracing

I analiza dinamica (ın timp real) a aplicat, iilor s, i sistemului deoperare

I aparut ın 2005, Sun Microsystems

I ruleaza pe Solaris, Mac OS X s, i *BSD

I cand a fost apelata o funct, ie, cu ce argumente

I ,,scriptat”’ cu ajutorul unui limbaj de programare

I a primit numeroase premii de inovat, ie

I modul de kernel portat pe Linux

I echivalent pe Linux este utilitarul SystemTap (stap)

CSE Dep Cursul 4, Utilizatori s, i procese 51/52

Page 45: Cursul 4 - Utilizatori si proceseelf.cs.pub.ro/uso/res/cursuri/curs-04/curs-04-handout.pdf · privilegiat doar anumite comenzi CSE Dep Cursul 4, Utilizatori s,i procese 18/52. Operat,

Resurse utile

I Silberschatz, Galvin, Gagne – Operating System Concepts, 7th Edition(chapter 3: Processes)

I Andrew Tanenbaum – Modern Operating Systems, 2nd Edition (chapter2: Processes and Threads)

I http://en.wikipedia.org/wiki/Process_(computing)

I http://en.wikipedia.org/wiki/Category:Unix_signals

I http://computer.howstuffworks.com/operating-system5.htm

CSE Dep Cursul 4, Utilizatori s, i procese 52/52