Sunteți pe pagina 1din 24

Sistemul de operare

UNIX - LINUX

Conf. univ. drd. Gavrilă Alexandru


Sistemul de operare UNIX

 Prezentare generală
 Mic istoric UNIX
 Principalele caracteristici
 Structura SO UNIX
◼ Nucleul
◼ Sistemul de fişiere
◼ Shell-ul
 Drepturi de acces la fişiere
 Comenzi UNIX
SO UNIX – Prezentare generală

 Este în prezent unul dintre cele mai utilizate sisteme de


operare pentru servere din lume, existând numeroase versiuni:
System V Rel 4.0, System V Rel 5.0, SunOS, Solaris, AIX, BSD,
Linux – versiune creată special pentru PC-uri
 Dispune de o interfaţă relativ simplă şi de un mare număr de
programe utilitare care acoperă multitudinea necesităţilor
 Permite lucrul simultan la mai multe terminale conectate la
acelaşi calculator
 Este un sistem portabil, deoarece doar nucleul este scris în
limbaj de asamblare, restul codului fiind scris în C, ceea ce face
implementarea sa pe alte sisteme mai uşoară
 Este folosit pe scară largă în universităţi, ceea ce face ca
absolvenţii acestora să îl răspândească mai departe în toată
lumea.
SO UNIX – Mic istoric
 Prima versiune a fost elaborată în 1969 de Ken Thompson şi
Dennis Ritchie la Bell Laboratories din New Jersey.
 Limbajul în care a fost scris a fost: “BCPL (Basic Combined
Programming Language)“, ce ulterior a fost schimbat în “B”

Ken Thompson şi
Dennis Ritchie, 1970

 În 1971 a apărut “UNIX PROGRAMMER'S MANUAL [by] K.


Thompson [and] D. M. Ritchie” ce includea peste 60 de comenzi
UNIX
 În 1973, UNIX era deja instalat pe mai mult de 16 situri, şi după
apariţia unei descrieri a sa în revista “Communications of the
ACM“, au început să apară nenumărate cereri pentru el
SO UNIX - Principalele caracteristici

 Iniţial a fost creat pentru calculatoare de mari


dimensiuni, foarte puternice, mainframe-uri
 Este un OS multiutilizator, multiproces şi interactiv
 Are un sistem de fişiere organizate ierarhic, arborescent,
grupate în directoare
 Are un mecanism simplu de gestionare a memoriei
 Dispune de un sistem de intrare/ieşire generalizat, care
tratează identic fişierele, perifericele, memoria şi
comunicaţiile interprocese
 Permite asigurarea protecţiei informaţiilor şi a mediului
de execuţie
SO Linux – prezentare generală
 Linux este un SO gratuit bazat pe UNIX
 A fost creat de Linus Torvalds, pe vremea când
era încă student în Finlanda: Anunţul public al
lansării Linux suna aşa:
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby,
won't be big and professional like gnu) for
386(486) AT clones.
 De la lansarea sa, a fost permanent îmbunăţit de
o mulţime de voluntari de pe întreaga planetă
 Deşi numele Linux reprezintă practic doar nucleul
SO, majoritatea se referă prin Linux la nucleu,
aplicaţiile de sistem şi la aplicaţiile utilitare în
ansamblu
 Există multe firme care au plecat de la kernelul
Linux şi au adăugat totalitatea aplicaţiilor
necesare unui utilizator obişnuit, rezultând astfel
o distribuţie Linux. Exemple de distribuţii:
RedHat, Fedora, Suse, SlackWare, Debian, etc.
Caracteristici SO Linux

 Stabilitate foarte bună, datorită faptului că este bazat pe


UNIX
 Oferă multitasking preemptiv
 Lucrează cu memorie virtuală (protejată, paginată)
 Shared libraries – biblioteci partajate dinamice
 Majoritatea driverelor sunt incluse în Kernel → rapiditate,
dar există şi posibilitatea ca acestea să fie încărcate
dinamic la nevoie
 Suport pentru reţele TCP/IP
 Suport multiprocesare SMP – mai multe procesoare
 Open Source – doritorii pot modifica sursele sistemului
după dorinţă, pentru a obţine o nouă versiune
îmbunătăţită.
Structura SO UNIX - Nucleul

 Nucleul sau Kernelul reprezintă partea centrală a SO care


monitorizează gestiunea proceselor, memoria, intrările şi
ieşirile
 Rulează cu drepturi hardware speciale (kernel mode)
 Controlează şi mediază accesul la hardware
 Implementează noţiuni abstracte de:
◼ Procese, fişiere, dispozitive (device)
 Planifică şi alocă resursele pentru:
◼ Procesor, memorie, disk, descriptori
 Impune securitatea şi protecţia fişierelor şi utilizatorilor
 Răspunde cerinţelor utilizatorilor pentru cereri de sistem
(system calls)
Structura SO UNIX – Exemplu de nucleu
SO Linux – Instalarea şi iniţializarea
 Instalarea SO LINUX se face prin rularea unui program
special livrat pe dischete, CD, sau direct de pe un alt server
 Programul de instalare realizează următoarele task-uri:
 Partiţionează suprafaţa discului – este nevoie de:
◼ o partiţie swap, de obicei de 2 x memoria RAM
◼ una sau mai multe partiţii pentru date (ext2, ext3, JFS,
ReiserFS)
 Creează un utilizator cu drepturi depline asupra sistemului –
ROOT
 Salvează configuraţia şi reiniţializează sistemul
SO Linux – Instalarea şi iniţializarea
 Încărcarea SO Linux se face cu ajutorul unui Boot
Loader, de obicei Lilo sau mai recent Grub
 Lilo poate fi instalat pe primul sector al HDD (MBR) sau
pe primul sector al unei partiţii, caz în care este nevoie
de un Boot Manager care să-l încarce de pe disc
 Exemplu de fişier de configuraţie Lilo: (lilo.conf)
Structura SO UNIX - Sistemul de fişiere

 În accepţiunea UNIX, un fişier reprezintă o succesiune de


octeţi, iar fişierele sunt organizate într-o structură ierarhic
arborescentă formată din directoare
 Tipuri de fişiere:
◼ Obişnuite
◼ Director
◼ Speciale
◼ Tip conductă
 În sistemul de fişiere ext2, numele unui fişier poate fi de
maxim 255 caractere, şi se face diferenţă între litere mici şi
litere mari
 Calea de acces cuprinde o succesiune de directoare, şi începe
cu directorul rădăcină: /
 Exemple de directoare UNIX:
/bin, /etc, /dev, /home, /tmp, /usr, /doc, /mnt ...
Drepturi de acces UNIX

 UNIX este un sistem de operare multiutilizator, ce asigură


protecţia fişierelor la accese neautorizate
 Drepturile de acces sunt în număr de 3:
◼ Drept de citire (r) → codificat 1
◼ Drept de scriere (w) → codificat 2
◼ Drept de execuţie (x) → codificat 4
 Există 3 categorii de utilizatori:
◼ Proprietar (u)
◼ Grup (g)
◼ Ceilalti utilizatori (o)
 Sistemul de protecţie al accesului la un fişier se bazează pe
confruntarea drepturilor utilizatorului cu drepturile de acces la
fişierul respectiv → 9 caractere (3 drepturi * 3 categorii de utilizatori)
sau 3 cifre:
◼ fis1.txt → rwxr-x--- → 750
◼ fis2.txt → rwxr--r-- → 711
SO LINUX – Listă comenzi

 La comenzile UNIX se face diferenţă între litere mici şi


litere mari → CAT ≠ cat şi Dir ≠ dIr
 După tipul utilizatorilor, 2 categorii de comenzi:
◼ Comenzi neprivilegiate → orice utilizator
 Comenzi pentru lucrul cu directoarele
 Comenzi pentru gestiunea fişierelor
 Comenzi pentru utilizarea imprimantelor şi terminalelor
 Comenzi pentru gestiunea proceselolor
 Comenzi informaţionale
◼ Comenzi privilegiate → doar root

 Sintaxa generală a unei comenzi UNIX:


nume_comandă [opţiuni] [<nume fişier>] ...
Comenzi pentru lucrul cu directoarele

 pwd → tipăreşte numele directorului curent (calea)


 cd → schimbă directorul curent cu unul nou
cd [<cale_acces>] <nume_director>
 ls → listează conţinutul unuia sau mai multor
directoare
ls [opţiuni] [<cale_acces>][<nume_director>] ...
 mkdir → creează un nou director
mkdir [<cale_acces>]<nume_director>
 rmdir → şterge un director
rmdir [<cale_acces>][<nume_director>]
Comenzi pentru gestiunea fişierelor

 cat → afişează conţinutul / concatenează / creează un


anumit fişier
cat nume_fişier
cat fis1 fis2 > fis3
cat >> fis_nou
 pr → pregăteşte fişierele pentru a fi tipărite
pr [opţiuni] <fişier>
 wc → numără caractere, cuvinte şi / sau linii
wc [opţiuni] <fişier>
 diff → afişează diferenţele dintre două fişiere text
diff [opţiuni] <fişier1> <fişier2>
 sort → sortează liniile din unul sau mai multe fişiere
sort [opţiuni] [+poz1] [-poz2] [-o fis_ieşire] <fişier_intrare>
Comenzi pentru gestiunea fişierelor - continuare

 grep → filtrează liniile unui fişier, căutând un anumit şir


de caractere
grep [opţiuni] [şir de caractere] <nume_fişier>
 tail → tipăreşte ultima parte a unui fişier specificat
tail [nr_linii] <fişier>
 head → tipăreşte primele rânduri ale unui fişier
head [nr_linii] <fişier>
 more → afişează în mod paginat fişierele specificate
more [opţiuni] <nume_fişier>
 pg → afişează paginat fişierul; permite revenirea în fişier
pg [-<număr>] [-p<şir>] [opţiuni] [<nume_fis>]
 file → afişează informaţii despre tipul fişierului
file <nume_fis>
 find → caută un fişier
find <nume_director> … <condiţie>
Comenzi pentru gestiunea fişierelor - continuare
 rm → şterge fişierele obişnuite sau subdirectori
rm [opţiuni] <nume_fis>
 mv → muta / redenumeşte un fişier
mv <nume_fis1> <nume_fis2>
 cp → copiază fişiere
cp <nume_fis1> <nume_fis2> sau cp <nume_fis>... <nume_dir>
 crypt → cifrează un fişier pentru protejarea lui
crypt [<parola>]<nume_fis1> <nume_fis2>
 cmp → compară două fişiere
cmp <nume_fis1> <nume_fis2>
 chown/chgrp → schimbă proprietarul /grupul unui fişier
chown <noul_propr> <nume_fis>
 chmod → schimbă drepturile de acces ale unui fişier
chmod <drepturi> <nume_fis>...
Comenzi pentru utilizarea imprimantelor şi terminalelor

 lpstat → afişează informaţii despre imprimantele din


sistem
lpstat [opţiuni]
 lp → tipăreşte la imprimantă fişiere text
lp [opţiuni] [<nume_fis>]
 cancel → anulează o cerere de imprimare anterioară
cancel <identificator>
 tty → afişează numele terminalului curent
 stty → setează caracteristicile teminalului curent
stty [opţiuni]
Comenzi pentru gestiunea proceselor

 ps → afişează informaţii despre procesele curente


ps [opţiuni][<proces>]
 nice → schimbă prioritatea unui proces
nice [-<prioritate>] comandă [argumente]
 kill → opreşte un anumit proces
kill <identificator>
 sleep → suspendă temporar execuţia unui proces
sleep <timp> <proces>
 time → afişează timpul de execuţie al unui proces
time <comandă>
 test → permite testarea unei anumite expresii
test <expresie>
Comenzi informaţionale
 man → afişează capitole din manualul unei comenzi
man <comandă>
 cal → afişează calendarul pentru o anumită perioadă
cal [luna] an
 date → afişează/setează ora şi data sistemului
date [noua_dată şi oră]
 who → afişează numele utilizatorilor conectaţi la sistem
who sau w
 echo → afişează argumentele folosite de shell
echo [-n] argumente
 finger → afişează informaţii despre un anumit utilizator
finger [nume_utilizator]
 mail → prelucrează/gestionează mesajele electronice
mail [adresă_email]
Comenzi privilegiate

 chroot → schimbă directorul rădăcină pentru o anumită


comandă
chroot [dir-rădăcină][comandă]
 diskformat → formatează un disc
diskformat [opţiuni] <dispozitiv>
 shutdown → termină toate procesele
 poweroff → termină procesele şi închide calculatorul
 wall → afişează un mesaj tuturor utilizatorilor conectaţi
wall [mesaj]
 whodo → listează activitatea utilizatorilor conectaţi
 mount/umount → montează/demontează un sistem de
fişiere
mount [opţiuni] <dispozitiv> [<nume_dir>]
umount <dispozitiv> [<nume_dir>]
Bibliografie

◼ Manual: Bazele tehnologiei informaţiei şi comunicaţiilor,


Tamaş Ilie şi colectiv, Infomega, 2004
◼ www.linux.org
◼ www.linuxhq.com
◼ www.kernel.org
◼ www.distrowatch.com
◼ www.redhat.com
◼ www.slackware.com
◼ www.suse.com
◼ www.linux.ro

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