lab4_2014
DESCRIPTION
Curs Utilizarea Sistemelor de OperareTRANSCRIPT
-
Lab4
-
Comenzi de lucru cu memoria
vmstat
Monitorizeaza memoria virtuala
vmstat s
vmstat 1 100
Explicatia pe slide-ul urmator
-
Comenzi de lucru cu memoria
Procs r : procese runnable B : procese blocate
Memory Swpd : Spatiu swap folosit Free: RAM liber Buff : RAM folosit pentru
buffer Cache : RAM filesystem
cache
Swap Si : swapped de pe disc /sec So : swapped pe disc /sec
IO: Bi : Blocks primite de pe disc Bo : Blocks scrise pe disc
System In: Intreruperi /sec Cs: schimbari de context /sec
CPU Us : timp de rulare user code.
(non-kernel code) Sy : timp de rulare kernel
code Id: Idle time Wa: Timp in asteptare IO
vmstat
-
Comenzi de lucru cu memoria
free
afiseaza memoria libera si cea ocupata
buffers = RAM folosit pentru stocarea de date temporare preluate din I/O (ex: HDD, retea .)
swap = memorie virtuala extensie in memoriasecundara a memoriei principale
-
Comenzi de lucru cu memoria
free
free mt Afisaza memoria in MB si un total
free ms 5 Afisaza un nou tabel odata la 5 secunde
-
Comenzi de lucru cu memoria
cat /proc/meminfo
Afisaza continutul fisierului meminfo
-
Comenzi de lucru cu memoria
cat /proc/cpuinfo
Afisaza continutul fisierului meminfo
-
Comenzi de lucru cu memoria
w
Afisaza date despre processor
JCPU timpul folosit pe procesor de proceselelansate din terminalul curent
PCPU timpul folosit de procesul curent
-
Comenzi de lucru cu memoria
pmap
Examineaza harta memoriei si bibliotecile
RSS: resident set size - paginile incarcate in memoria principala (RAM)
PSS proportional set size - RAM incluzand sipaginile in comun
Dirty: memorie ce nu va fi pusa in comun
-
Comenzi de lucru cu memoria
-
Comenzi utile
arch afisaza arhitectura
sistemului
df spatiul folosit
du Spatiul ocupat de
fisier / director
du b /etc
lspci afisaza pci
strace Afisaza accesarile
strace bash ->exit
uname Afisaza informatii
sistem
uname -a
-
Comenzi de lucru cu memoria
pidstat
pidstat -r
O eroare de paginare apare cand un proces acceseaza o pagina ce nu se gaseste in memoria
major fault - se cere acces la disc. Kernel-ul va cautamai intai in cache si RAM
minor fault alocare de paginare.
VSZ - Virtual Memory Size memoria accesata de process incluzand memoria virtuala si cea alocata bibliotecilorcomune
-
Comenzi de lucru cu memoria
-
Compilare
GNU Compiler Collection = gcc
Include: C, C++, Objective-C, Fortran, Java, Ada, siGo
Biblioteci
http://gcc.gnu.org/
#include "iostream.h"
int main()
{
cout
-
Compilare
Exemplu program
#include
int main(){int i;printf("Valoare din memorie: %d", i);printf("Introduceti i: ");scanf("%d", &i);printf("\nAti introdus: %d", i);
return 0;}
-
Compilare
main este de tipul int, implicit return 0 de la final. nu toate compilatoarele sunt rigide, multe
accepta void main() sau main().
incercati cele 3 moduri si notati diferentele
scanf() completati gresit scanf("%d", i)
In mod normal: Memory fault (core dumped) => SO protejeaza memoria
printf() afiseaza ? comportament indiferent de SO.
-
Permisiuni de utilizare a fisierelor
chmod
Comanda ls l afiseaza
Sunt descrise 3 permisiuni
read cu valoarea asociata 4
write cu valoarea asociata 2
execute cu valoarea asociata 1
rw: 4+2 = 6
Sunt descrise 3 categorii: user, group, others
-rw-r--r--
-
Permisiuni de utilizare a fisierelor
Exemple:
chmod 777 test
chmod ugo+rwx best
chmod u+x fest
chmod -R g+rwx /dur
Permisiune pentru user read+write+execute = 4+2+1 =7
Permisiune grup
Permisiune other
Asociaza toatepermisiunile pentrufisierul best
Parametrul -R = recursivAsociaza toate permisiunilepentru grup pentru toatefiserele din directorul dur
-
Utilizarea fisierelor
Primul character - identificatest ca fisier.Initial drepturile pentru fisierultest sunt: read si write pentru user Read pentru grup Read pentru other
Drepturile pentru fisierul test sunt: read si write execute pentru
toate categoriile de utilizatori
-
Editoare de text
NANO
Comenzile din meniul de la bazapaginii se acceseazaapasand tastaCTRL si literaspecificata.Salvarea se face apasand CTRL +X selectand y si apoiintroducand numelefiserului.
-
Editoare de text
viComenzile se introduc prinapasarea tasteti ESC urmata de tasta:Editorul se inchide folosindEsc urmat in meniul de la baza editorului de :q.
Alte comenzi:exit vi and save changes: ESC + :wq! nume_fisierexit vi without saving changes: ESC + :q!
Fisierul se salveaza folosindEsc urmat in meniul de la
baza editorului de :w urmat de numele fisierului.
Un fisier existent se editeazafolosindEsc urmat in meniul de la
baza editorului de i.
-
Shell script
Pas 2
Schimba permisiunea: chmod +x test chmod 755 test
# Primul script#clearecho Lab USO"
Pas 3
Executa: bash test sh test ./test
. = executa/ = director curent
Pas 1Creaza fisier cu:Editor de text nano
nano testSalvare: CTRL + X
Comanda cat > test
-
Shell script
Exemplu: introduceti urmatorul exemplufolosind un editor de text
# login, data & timp#clearecho "Hello $USER"echo Azi = ";dateecho Numar de utilizatoril : " ; who | wc -lecho "Calendar"calexit 0
Comentariu
Afisaza valoarea variabilei USER
Numara liniile din rezultatul comenzii who
-
Shell script
#!/bin/bash
echo Unu" a=1
echo Doiecho $a
Definire variabila
Afisara variabila
Ce rezultate obtinenti
Scriptul va fi rulat folosind bash
-
Shell script
echo Cuvant "read varecho Cuvant: $var"echo 2 cuvinte"read var1 var2echo Cuvinte: \$var1\ \$var2\"echo Default? "readecho "$REPLY"echo Matrice? read -a matriceecho "${matrice[0]}, ${matrice[1]} "
Se citeste o variabila de la tastatura
Se citesc 2 variabile de la tastatura separate de spatiu
Se citeste o variabila de la tastatura si este salvata in variabila REPLY
Se citesc variabile de la tastatura si sunt salvate sub forma de matrice
-
Shell script
Sintaxa IFSintaxa simpla IF if [ ];then
fi
Sintaxa IF ELSEIf [ ]; then
else
fi
Sintaxa IF ELSE -ELIFIf [ ]; then
elif [ ]; then
else
fiSintaxa IF ELSE -ELIF
If [ ]; then
else
If [ ]; then
fi
fi
-
Shell script
Sintaxa IF
Sintaxa parametri IF-eq = egal-ne = diferit-gt = mai mare strict-lt = mai mic strict
Sintaxa parametri IF-d = director-e =exista fisier
-
Shell script
#!/bin/basha=2b=1if [ $a -eq $b ]; thenecho Egal"else echo diferit"fi
Se verifica egalitatea a doua variabile definite mai sus
-
Shell script
#!/bin/basha=2b=1if [ $a -eq $b ]; thenecho Egal"elif [ $a -gt $b ]; thenecho a>b"else echo b>a"fi
Se verifica egalitatea a doua variabile definite mai sus folosind structura if-elif-else
-
Shell script
Se verifica egalitatea a doua variabile primite de la tastatura.Variabilele se introduce separate de tasta ENTER
-
Shell script
Se creaza un fisier cu numele pic-data_curenta.jpg
Sleep 2 ruleaza script-ul la fiecare 2 secunde.
Se poate opri folosindcomanda CTRL + C
-
Shell script
Se defineste variabila file cu valoarea adreseirelative ./file adicafisierul file din directorulcurrent.
-e verifica existentafisierului in director.
-
Shell script