Cursul 4 - Procese si utilizatori -...

Post on 21-Oct-2019

5 views 0 download

Transcript of Cursul 4 - Procese si utilizatori -...

Cursul 4Procese s, i utilizatori

Utilizarea Sistemelor de Operare (USO)28 octombrie 2016

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 1/53

Moto

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 2/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 3/53

Dezvoltarea programelor

http://www.gridshore.nl/wp-content/uploads/code-quality-measurement.jpg

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 4/53

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”)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 5/53

Cuprins

Utilizarea unui sistem de operare

Procese

Vizualizarea proceselor

Lucrul cu procese

Utilizatori

Sumar

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 6/53

Corina s, i Dan folosesc sisteme de operare

I fiecare are un laptop (Dan cu Mac OS X, Corina cu Windowss, i Linux)

I fiecare are un dispozitiv mobil (Dan are iOS, Corina areAndroid)

I ın calitate de student, i, amandoi au cont pefep.grid.pub.ro, un server care ruleaza Linux

I Corina are un frate mai mic care foloses, te laptop-ul sau

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 7/53

Cum folosesc Corina s, i Dan sistemul?

I se autentifica folosind cont pe laptop s, i pe fep.grid.pub.ro

cu un cont s, i o parola

I pe dispozitivul mobil exista un mod de accesare (cod, pattern)I ın cadrul sistemului de operare pornesc aplicat, ii s, i le folosesc

I clickI dublu clickI linie de comandaI Alt+F2

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 8/53

Cum folosesc Corina s, i Dan sistemul?

I se autentifica folosind cont pe laptop s, i pe fep.grid.pub.ro

cu un cont s, i o parola

I pe dispozitivul mobil exista un mod de accesare (cod, pattern)I ın cadrul sistemului de operare pornesc aplicat, ii s, i le folosesc

I clickI dublu clickI linie de comandaI Alt+F2

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 8/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 9/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 9/53

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.

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 10/53

Cuprins

Utilizarea unui sistem de operare

Procese

Vizualizarea proceselor

Lucrul cu procese

Utilizatori

Sumar

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 11/53

Cum creeaza Dan sau Corina 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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 12/53

Cum creeaza Dan sau Corina 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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 12/53

Cum creeaza Dan sau Corina 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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 12/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 13/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 13/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 14/53

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.)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 15/53

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.)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 15/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 16/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 16/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 17/53

Cuprins

Utilizarea unui sistem de operare

Procese

Vizualizarea proceselor

Lucrul cu procese

Utilizatori

Sumar

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 18/53

Vizualizare procese ın Windows Explorer

I Task Manager

I ALT+CTRL+DEL sau CTRL+SHIFT+ESC

I lista cu procesele active din sistem

I numele executabilului, al utilizatorului, utilizarea procesoruluis, i memoria ocupata (configurabil)

I terminarea proceselor nedorite

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 19/53

Vizualizare procese ın Unix

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 20/53

Vizualizare procese ın Unix (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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 21/53

Vizualizare procese ın Unix (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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 22/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 23/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 24/53

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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 25/53

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.

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 26/53

Cuprins

Utilizarea unui sistem de operare

Procese

Vizualizarea proceselor

Lucrul cu procese

Utilizatori

Sumar

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 27/53

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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 28/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 29/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 29/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 29/53

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 executabilului

I 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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 29/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 29/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 29/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 29/53

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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 30/53

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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 30/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 31/53

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:~$

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 32/53

Semnale (cont.)

I pkill, killall: comenzi pentru semnale catre grupuri deprocese

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 33/53

Cuprins

Utilizarea unui sistem de operare

Procese

Vizualizarea proceselor

Lucrul cu procese

Utilizatori

Sumar

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 34/53

Reamintim: 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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 35/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 36/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 36/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 36/53

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

Un utilizator este identificat de un UID (user id)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 37/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 38/53

Schimbarea utilizatorului

I fast user switching ın mediul graficI nu presupune logoutI Windows + L ın Windows (Fast User Switching)

I ı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:~$

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 39/53

Schimbarea utilizatorului

I fast user switching ın mediul graficI nu presupune logoutI Windows + L ın Windows (Fast User Switching)

I ı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:~$

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 39/53

Schimbarea utilizatorului

I fast user switching ın mediul graficI nu presupune logoutI Windows + L ın Windows (Fast User Switching)

I ı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:~$

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 39/53

Schimbarea utilizatorului

I fast user switching ın mediul graficI nu presupune logoutI Windows + L ın Windows (Fast User Switching)

I ı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:~$

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 39/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 40/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 41/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 42/53

Grupuri

I colect, ie de utilizatori

I ,,partajarea” privilegiilor

I utile pentru acordarea unor permisiuni mai multor utilizatoride acelas, i tip

I un utilizator poate face parte din mai multe grupuri

I daca nu ar exista grupuri, ar trebui definite permisiuni pentrufiecare utilizator ın parte → probleme de scalabilitate

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 43/53

Operat, ii cu utilizatori s, i grupuri

I neprivilegiateI informat, ii despre utilizatori s, i grupuri

I privilegiateI adaugare utilizatorI s, tergere utilizatorI adaugare, s, tergere grupI adaugare, s, tergere utilizator la grupI schimbare proprietat, i ale utilizatorului, grupului

I parolaI nume de utilizatorI home folder

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 44/53

Cuprins

Utilizarea unui sistem de operare

Procese

Vizualizarea proceselor

Lucrul cu procese

Utilizatori

Sumar

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 45/53

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, alutilizatoruli, creeaza un proces nou, tot al utilizatorului

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 46/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 47/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 48/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 49/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 50/53

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)

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 51/53

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

I grup de utilizatori

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 52/53

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

Automatica si Calculatoare Cursul 4, Procese s,i utilizatori 53/53