You are on page 1of 26

Estructura de Sistemes Operatius, Apunts 2n Exàmen

Tema 1: Rendiment de l’Entrada/Sortida


Rendiment

 Hem aconseguit:
o Uniformitat en el tractament
 Quin preu?
o Eficiència en el tractament?
 Problemes a resoldre a nivell de software:
o Dispositiu no compartibles
o Diferents tipus de dades en l’accés i el tractament
o Diferents velocitats en l’accés als dispositius
o Ordre en el servei de les peticions d’E/S

Dispositius no compartibles

 Crida al sistema: obrir


 Dispositius virtuals: spoolers
 Implementació dels spoolers
o Manegador de dispositiu virtual
o Zona de memòria per emmagatzemar informació
o Manegador o manegadors reals del dispositiu físic
Cua pròpia (buffer)

Disc Únic que crida a impressora


(té accés directe), pot ser
compartible

Spooler

Impressora 1 Impressora 2

S’emmagatzema a disc per si


el procés en sí desapareix!

Procés 1
obrir (impr. 1) Procés 2
doio obrir (impr. 1)
doio doio
doio tancar
tancar

El Sistema Operatiu posa els processos a la cua de RDY. Qui executa el planificador d’E/S? El
manegador:
inicialitzacions;
for (;;)
{
wait(pet_pend) // aquest semàfor/cua està al DD
iorb = planificador_E/S //quan desencuem iorb
...
}

primer(cua_iorbs) si és FCFS

primer (cua_ordenada_per_prioritats) si anés per prioritats

(el doio posa coses a la cua, si és una cua ordenada per prioritats, les posaria per prioritats)

(1 planificador per a cada dispositiu)

Diferents tipus de dades en l’acés i el tractament

 Les crides al sitema tenen un tractament de caràcters i els dispositius tenen accés de
blocs
 Eficiència en l’accés
o Un accés al dispositiu varies execucions de la crida al sistema

-Ús de buffers: acumulació de entrades/sortides per a ser tractats

-Ús de cachés: predicció d’ús de les dades posteriors

Diferents velocitats en l’accés als dispositius

-Ús de buffers: acumulació de lectures/escriptures per a ser tractats a una velocitat diferent en
l’entrada o la sortida.

Tipus de buffers

Diferència entre buffer i caché pel manegador?

La caché potser no utilitza tota la informació que conté (només un tros, per exemple).

El buffer tracta tota la informació (es tracta tot, seqüencial).

 Buffer simple: una cua.


 Buffer doble: dos buffers, primer omplim un i mentre aquest s’utilitza, es va omplint el
segon.
 Buffer circular: hi ha un punter de lectura i un d’escriptura
Ordre en el servei de les peticions d’E/S

 Volem
o Uniformitat en el tractament
 Però també eficiència?
o FCFS és millor?
o I si les peticions tenen prioritat?
 Planificació de l’Entrada i Sortida
o Segons les característiques físiques dels dispositius
o Segons les característiques de les peticions

Estructura física dels discs

 Temps d’accés=
o Temps de búsqueda
o Temps de latència
o Temps de transferència

Tema 2: Millores en el rendiment de l’Entrada/Sortida


Planificació del disc

 FCFS (First Come First, Served). És la forma de planificació més senzilla, per ordre d’arribada.
No proporciona el servei més ràpid. Un cop arriba una petició, es fixa el seu lloc dins de la
cua d’espera i no pot ser desplaçada per l’arribada d’una altra amb prioritat més alta. La
FCFS és acceptable quan la càrrega en un disc és lleugera. Però a mida que creix la càrrega,
la FCFS tendeix a saturar el dispositiu i els temps de resposta s’incrementen. Ofereix una
variança petita, però té temps d’espera molt grans.

 SSF (Shortest Seek First ~ Primer la búsqueda més propera). Ordena segons la pista més
propera on jo estic. Així no s’ha de desplaçar tant de braç. Les del mig són les que es
tractaran més ràpid. S’utilitza, per exemple, en bases de dades.

o De totes les peticions atèn primer aquella que es troba més propera de la petició
que està processant. És a dir, atèn primer a la petició que requereix el menor
moviment del capçal de lectura/escriptura des de la seva posició actual.

 Scan. Com els ascensors, van pujant i van parant als pisos que has tructat. Va tractant les
peticions que va trobant mentre el braç es va movent d’un extrem a l’altre.
o L’algorisme també rep el nom de l’algorisme de l’ascensor perquè es comporta com
a tal: va atenent les sol·licituds que es va trobant en el sentit en el que es van
desplaçant els capçals de lectura/escriptura pel disc. Quan no hi ha més sol·licituds
en aquell sentit, o s’arriba a l’extrem, s’inverteix el sentit per a fer el mateix una
altra vegada però anant cap a l’altre costat. Per tant, en aquest algorisme és
necessari tenir un bit que indiqui el sentit del moviment.
o SCAN: els capçals es mouen d’un extrem a un altre del disc, atenen les sol·locituds
que es va trobant. Temps de servei acotats, i més variables als extrems que al centre.
 Cscan (Circular Scan). Només va servint cap a un sentit, a diferència de scan, el cscan va més
ràpid d’extrem a extrem.
o Els capçals es mouen del primer cilindre a l’últim atenent sol·licituds, i retornen al
principi.
 1. Temps d’espera més uniformes.
 2. El retorn consumeix relativament poc temps, perqiè es fa sense parades.

 Scan look ó cscan look. Va fins on hi ha peticions. Els capçals no es mouen fins l’extrem, sinó
fins la última sol·licitud pendent en el sentit del moviment. El braç només arriba fins la última
sol·licitud en cada direcció i després canvia de direcció immediatament, sense primer anar
fins l’extrem del disc (es diuen així perquè “miren” si hi ha una sol·licitud abans de continuar
en una direcció donada).
 Scan-n passos ó cscan-n passos. (... paquets i ordenant, així que primer tracti els que arriben
abans). El braç del disc es mou d’un costat a un altre com a Scan, però només dóna servei a
aquelles peticions que es troben en espera quan comença un recorregut particular. Les
peticions que arriben durant un recorregut són agrupades i ordenades per a un servei òptim
durant el recorregut de regrés. Ofereix un bon rendiment de la capacitat d’execució i de la
mitja dels temps de resposta. La seva característica més significativa és una menor variança
dels temps de resposta que les planificacions SSF i Scan convencionals. La Scan de n-passos
evita la possibilitat de postergació indefinida que té lloc si un gran n úmero de peticions que
arriben al cilindre que està sent servit i guarda aquestes peticions per a ser servides durant
el recorregut de regrés.

Millora en l’accés al disc

 Múltiples components en paral·lel


 Peticions de disc paral·leles i independents
 Petició en paral·lel si el bloc està distribuït
 Organització de les dades
 Redundància que aporta fiabilitat
 RAID. Standart pel disseny de BD amb múltiples discs

Discos no òptics

Una unitat de disc dur (HDD: Hard Disk Drive) és el dispositiu d’emmagatzematge de dades que
empra un sistema de grabació magnètica per a emmagatzemar arxius digitals. Es composa d’un
o més plats o discs rígids, units per un mateix eix que gira a gran velocitat dins d’una caixa
metàlica sellada. Sobre cada plat, i en cada una de les seves cares, es situa un capçal de
lectura/escriptura que flota sobre una fina làmina d’aire generada per la rotació dels discs. És
memòria no volàtil.
Estructura d’un disc magnètic

A és una pista del disc

B és un sector geomètric

C és un sector d’una pista

D és un grup de sectors o clúster

Hi ha el mateix número de sectors en


cada pista. Gira a velocitat constant.

Taccés = Tbúsqueda + Tlatència + Ttransferència

Tbúsqueda  depèn de la posició del braç (el S.O. pot influir aquí! De com ordena les
peticions).
Tlatència  quant tardem en arribar al sector (depèn de la velocitat que roda el disc).
Ttransferència  de disc a memòria (depèn de la mida del bus).

RAIDs

 L’esquema consta de 7 nivells (del 0 al 6)


 RAID. Conjunt de discs físics tractats com a únic dispositiu lògic pel S.O.
 Dades distribuïdes pels diferents discs
 Redundància de dades per emmagatzemar la informació de paritat que permeti
recuperar la informació en cas de fallida d’un disc
RAID  Sistemes de varios discos que treballen en paral·lel o distribuït, etc. Cada un està
orientat depenent del nivell. Manegats per 1 únic manegador. (0 – 6) Hi haurà redundància de
dades per detectar errors o corregir-los, aporta seguretat.

Amb l’ús de múltiples discos, existeixen vàries formes que es poden organitzar les dades. La
indústria ha acordat un sistema estàndard per al disseny de base de dades sobre múltiples
discos, anomenat RAID (Vector Redundant de Discos Independents), aquest esquema consta de
set nivells que distingueixen diferents arquitectures de disseny, compartint tres característiques
comunes:

 RAID és un conjunt d’unitats de disc físic vistes pel S.O. com una sola unitat lògica.
 Les dades estan distribuïdes a través de les unitats físiques del vector.
 La capacitat del disc redundant s’utilitza per a emmagatzemar informació de paritat, que
garantitza la recuperabilitat de dades en cas de falla del disc.

La estratèdia RAID reemplaça unitats de disc de gran capacitat per múltiples discs de menor
capacitat i distribueix les dades que després són accedides simultàniament a ells per múltiples
discos, això millora el rendiment de les E/S i augmenta la seva capacitat. Per a compensar la
disminució de la fiabilitat, RAID fa ús de la informació de paritat emmagatzemada, que permet
la recuperació de les dades perdudes com a conseqüència d’una falla del disc.
Els beneficis d’un RAID respecte a un únic disc són: major integritat, major tolerància a fallides,
major throughput (rendiment) i major capacitat.

RAID 0

 No hi ha redundància
 Les dades distribuïdes pels discs en bandes
 Les bandes són: blocs físics o sectors
 Les bandes s’assignen de forma rotatòria a discs consecutius
 Peticions d’E/S en paral·lel si hi ha diferents discs
 Gran transferència de dades si blocs grans

Nivell 0 (Data Striping, Striped Volume): Un RAID 0 distribueix les dades equitativament entre
dos o més discos sense infomració de paritat que proporcioni redundància. És important
senyalar que el RAID 0 no era un dels nivells RAID orifinals i que no és redundant. El RAID 0
s’utilitza normalment per a proporcionar un alt rendiment d’escriptura ja que les dades
s’escriuen en dos o més discos de forma paral·lela, encara que un mateix fitxer només està
present una vegada en el conjunt. Una bona implementació d’un RAID 0 dividirà les operacions
de lectura i escriptura en blocs d’igual tamany, per lo que distribuirà la informació
equitativament entre els dos discos.
No hi ha redundància. Bandes: blocs (quants sectors són un bloc físic). Si tinc 3 discos:

1 2 3

Posa les bandes de forma rotatòria a discos consecutius. Els usuaris i les dades del sistema estan
distribuïts en bandes que poden ser blocs físics, sectors o alguna altra unitat. Al conjunt de
bandes consecutives lògicament, se li denomina franja. Presenta l’avantatge de que si una única
sol·licitud d’E/S està formada per múltiples bandes contigües, aquestes podran gestionar-se en
paral·lel reduïnt la transferència d’E/S.

RAID 1

 Duplica totes les dades


 Les dades es poden servir de qualsevol dels 2 discs
 Escriptures s’han d’actualitzar en els dos discs en paral·lel
 Recuperació de fallida senzilla
 Molt cost

Nivell 1. “El mirall”, duplica totes les dades, si s’espatlla un disc no es perd informació perquè
té un altre. 1 petició/disc. Cada banda se correspon amb dos discos físics independents.

Aspectes positius:

o Un sol·licitud de lectura pot utilitzar qualsevol dels dos discos que contenen les
dades sol·licitades i que suposi menor temps sumant el de búsqueda i la latència de
gir.
o Una sol·licitud d’escriptura requereix la actualització de les bandes corresponents a
ambdós discos, només es pot fer en paral·lel. Quan s’actualitza una sola banda, el
software de gestió del vector de disc primer ha de calcular i actualitzar els bits de
paritat i després la banda real.
o Quan una unitat falla, les dades encara estan disponibles des de la segona unitat.

Desventatja:

o El seu cost requereix dos vegades l’espai de disc del disc lògic que suporta.

Un RAID 1 crea una còpia exacta (o mirall) d’un conjunt de dades en dos o més discos. Això
resulta útil quan volem tenir més seguretat desaprofitant capacitat, ja que si perdem un disc,
tenim l’altre amb la mateixa informació. Un conjunt RAID 1 només pot ser tan gran com el més
petit dels seus discos. Un RAID 1 consisteix en dos discos en mirall, el que incrementa
exponencialment la fiabilitat respecte a un sol disc, és a dir, la probabilitat de fallida del conjunt
és igual al producte de les probabilitats de fallida de cada un dels discos (per a que el conjunt
falli és necessari que ho fagin tots els seus discos).

Addicionalment, donat que totes les dades estan en dos o més discos, amb hardware
habitualment independent, el rendiment de la lectura s’incrementa aproximadament com
múltiple linial del número de còpies, és a dir, un RAID 1 pot estar llegint simultàniament dues
dades diferents en discos diferents, pel que el seu rendiment es duplica. Com el RAID 0, el temps
mig de lectura es redueix, ja que els sectors a buscar poden dividir-se entre els discos, baixant
el temps de búsqueda i pujant la tasa de transferència. En RAID 1, a l’escriure, el conjunt es
comporta com un únic disc, donat que les dades han de ser escrits en tots els discos del RAID 1,
per tant, el rendiment d’ecriptura no millora.

RAID 2 i 3

 Accés paral·lel
 Capçal en la mateixa posició en tots els discs
 Bandes molt petites (un byte o paraula)
 RAID 2 menys discs que RAID 1
 Codi de correció d’error calculat amb els bits de cada disc i emmagatzemat als múltiples
discs de paritt.
 Codi Hamming, corregeix 1 bit erroni, detecta 2

Diferències RAID 2 i RAID 3

 RAID 2 en llocs on hi ha molts fallos de disc


 RAID 3 un únic disc redundant
 Calcula el bit de paritat pel conjunt de bits d’una mateixa posició en tots els discs

Nivell 2 i 3. El capçal (braç) de cada un dels discs estan a la mateixa posició. Una única petició
per tots els discos. Gasta menys disc que RAID 1. Quan faci l’accés puc estar fent servir 1 petició
(doio) cada vegada, però s’ha augmentat la velocitat de transferència. Si faig lectura/escriptura
he de fer-ho a tots els discs.

Nivell 2. Utilitza divisió a nivell de bits amb un disc de paritat dedicat i utilitza un codi de
Hamming per a la correcció d’errors. S’utilitza rara vegada en la pràctica. Un dels seus efectes
secundaris és que normalment no pot atendre vàries peticions simultànies, degut a que per
definició qualsevol simple bloc de dades es dividirà per tots els seus membres del conjunt,
residint la mateixa direcció dins de cada un d’ells. Així, qualsevol operació de lectura o escriptura
exigeix activar tots els discos del conjunt, sol ser una mica lent perquè es produeix colls
d’ampolla. Són discs paral·lels però no són independents (no es pot llegir i escriure al mateix
temps). Serà eficient quan es produeixin molts errors al disc.

Nivell 3. Divideix les dades a nivell de bytes en lloc de a nivell de blocs. Els discs són
sincronitzats per la controladora per a funcionar al uníson. Aquest és l’únic nivell RAID original
que actualment no s’utilitza. Permet tasses de transferència extremadament altes.
RAID 4 a RAID 6

 Accés independent dels discs


 Bandes grabs
 RAID 4 una banda de paritat es calcula bit a bit utilitzant les bandes de cada disc de
dades i emmagatzemar-les al dics de paritat

Nivell 4 a 6. Si s’espatlla un disc, ho detectarem però no es recupera. Hi ha 1 disc de paritat


(RAID 4). Al RAID 5 no, es rota. Així s’evita el coll d’ampolla en el disc de paritat.
PARITAT: Informació redundant que s’associa a un bloc de la informació. La paritat és un valor
calculat utilitzar per a reconstruir dades després d’un error.

RAID 4 (IDA, accés independent amb discs dedicats a la paritat), utilitza divisió a nivell de blocs
amb un disc de paritat dedicat. Necessita un mínim de 3 discs físics. El RAID 4 és semblant al
RAID 3, excepte perquè divideix a nivell de blocs en comptes de nivell de bytes. Això permet
que cada membre del conjunt funcioni independentment quan es sol·licita un únic bloc.

Per exemple, una petició del bloc “A1” seria servida pel disc 0. Una petició simultània del
bloc “B1” hauria d’esperar, però una petició de “B2” podria atendre’s concurrentment.

Nivell 5 (distribuït amb paritat). És una divisió de dades a nivell de blocs que distribueix la
informació de paritat entre tots els discs membre del conjunt. El RAID 5 ha aconseguit
popularitat gràcies a el seu baix cost de redundància. Generalment, el RAID 5 s’implementa
amb suport hardware per al càlcul de la paritat, necessitaria mínim de 3 discs per a ser
implementat.
Per exemple, una petició de lectura del bloc “A1” seria servida pel disc 0. Una petició de lectura
simultània del bloc “B1” hauria d’esperar, però una petició de lectura de “B2” podria atendre’s
concurrentment ja que seria servida pel disc 1.
Al igual que el RAID 4, es diferencia en la distribució de les bandes de paritat a través de tots els
discs, per tant evita el potencial coll de botella en la E/S del sistema RAID 4 que té només un disc
de paritat.

Diferències

 RAID 5 organització igual a RAID 4


 Distribueix les bandes de prioritat entre tots els discs utilitzant esquema rotatori
 Evita coll d’ampolla en el disc de paritat

RAID 6

 2 càlculs de paritat diferents


 Tenim 2 discs de paritat
 Poden fallar dos discs de dades d’usuari

Nivell 6. Amplia el nivell RAID 5 afegint un altre bloc de paritat, pel que divideix les dades a nivell
de blocs i distribueix els dos blocs de paritat entre tots els membres del conjunt. Avantatge:
disponibilitat de dades és extremadament alta, però per una altra part sofreix una important
penalització d’escriptura, perquè cada escriptura afecta a dos bloca de paritat.

Cachés de disc

 Equivalent a les memòries cachés però per software


 Proximitat de referència en l’accés a les dades
 Algorisme Least Recently Used (LRU)
 Implementa en pila de punters a la caché

-Buffer. Temporal, tracta totes les dades. Millores (+ planificadors, RAIDs) rendiment dels
dispositius, pot acumular més peticions.

-Cache. Emmagatzema per si de cas torna a demanar.

Caches de disc: Equivalent a les memòries cachés. Amb les cachés aconsegueixo disminuir el
temps d’accés (ja que no accedeixo a disc, sinó a memòria).

Manegador de disc mira la caché.


Apunts cutres

Algorisme LRY  el que fa més temps que s’ha utilitzat.

Algoritmes de planificació de disc  els utilitza el MANEGADOR (quan decideixi l’ordre en que
volem tractar els iorbs).

(Lectura/Escriptura mínima de disc: sector).

(“Tècniques d’interleaving”  “saltar sectors”).

Si peticions síncrones  el manegador pot tenir tants processos com peticions. Agafa l’iorb
segons l’algorisme de planificació que estigui utilitzant.

Ex. FCFS  agafa el primer iorb de la cua.

Amb SSF recorre tota la cua per veure quin procés tinc més a prop, NO CAL recórrer tota la cua:
si troba una petició a la mateixa pista que està l’agulla.

Algorismes scan  com un ascensor, per a ús massiu del disc.

-scan  de punta a punta, mentre moc el braç poster apareix una petició

-cscan  en un sol sentit

-scan-look  no mira fins al final

-cscan-look  no mira fins al final i només en una direcció

-scan n-passos aconsegueixo que la cua sigui més petita, millora en l’algorisme
(“sé el temps en llegir totes les peticions”).

Servidor amb moltes peticions (com de bases de dades)  anirà millor SSF

Àrea de swap al centre del disc (memòria virtual)

Als PCs  utilitza FCFS

Linux  scan-look-n passos

Si tenim SSD, són molt més ràpids perquè... Té límits d’escriptura, és a dir, hem d’anar repartint-
les pel disc, mitjançant algorismes de gestió de memòria (que aplicarà el disc), next fit pels SSD.

Si té x peticions a tractar, si tots els accessos valen igual, per tant, té sentit FCFS.
Si té un número finit de peticions, descarta d’alli dades que no s’hagin de sobreescriure sovint,
com programes, aplicacions, ...

El manegador ha de ser asíncron si comparteix més dun disc. Farà tantes interrupcions com
discos. Si el fitxer està distribuït entre 2 discos, l’usuari pot fer petició a un i després a l’altre.

Exàmen 8 gener de 2016

1.- (1 punt) Un sistema operatiu disposa d'un dispositiu no compartible, Quins problemes ens
pot ocasionar? Què s'hauria de modificar per tal de millorar l'accés a aquest dispositiu?
Només pot accedir 1 procés cada vegada. Millorar amb spooler (pot ser d’impressora), amb un
manegador virtual, anem agafant (duna cua?) els processos que volen accedir.
6.- (2 punts) En un moment determinat, en un disc de 100 pistes amb el capçal a la pista 50 i
anant en direcció a les pistes creixents hi ha les següents peticions de lectures que es
corresponen a les pistes: 26 ,67 ,89 ,3 ,45 ,78 ,18 ,82, 6, 98, 2, 16, 60.

a) (1 punt) En quin ordre seran ateses les peticions anteriors en els següents algorismes.
Shortest Service Time First, Scan-Look, C-Scan-Look-n-passos on n=8.

 SSTF
o 45, 60,
 Scan Look
 Cscan Look n-passos (n = 8)

b) (1 punt) En la seqüència anterior, en el moment en que s'està tractant la pista 82,


arriben noves peticions a les següents pistes: 88, 15, 92, 23, 67, 56. Escriu la nova
seqüència segons els mateixos algorismes anteriors.

7.- (3 punts) En un sistema operatiu amb un planificador de curt termini multiprogramat FCFS, i
dos dispositius diferents no compartibles, molt lents. Hi ha implementat un sistema amb un únic
manegador que tracta els dos dispositius. Per tal de millorar l'experiència de l'usuari, es vol
implementar un spooler per a tractar aquests dispositius. Responeu les següents preguntes,
justificant totes les respostes que feu.

a) (0,5 punts) Que ens aportarà l'spooler al sistema?

b) (0,5 punts) Expliqueu com serà el funcionament d'aquests dispositius amb l'spooler.

c) (0,5 punts) Quins elements dels existents es necessitaran modificar i com els modificarieu?

d) (0,5 punts) Quins elements nous es necessitaran implementar?

e) (1 punts) Modifiqueu usant pseudocodi, el sistema per tal d'afegir l'spooler.

16 desembre de 2014

7. Tenim un sistema que controla 4 dispositius propis no compartibles i molt lents que s'usen
únicament per a fer còpies de seguretat. La còpia està ben identificada de manera que per fer
la còpia es poden usar els 4 dispositius de manera indistinta. Es vol usar un sistema d'spooler
implementat entre la crida doio i el manegador. La crida doio enmagatzema les peticions en un
disc i avisa al manegador de la petició, i el manegador llegeix del disc i realitza la còpia als
dispositius físics. La rutina d'interrupció s'activarà únicament quan s'hagi acabat de fer tota la
còpia sol·licitada. Disposem de la rutina síncrona: Escriure_disc(buffer, mida) que retorna
l'adreça del bloc de dades on ha deixat les dades. I la rutina asíncrona: Fer_còpia(AdreçaBD,
mida, dd) que inicia la còpia de la informació que hi ha a l'AdreçaBD del disc al dispositiu del qual
passem el descriptor.

a) (1 punt) Feu el pseudocodi de la crida DOIO, que emmagatzemi les peticions al disc abans de
fer la petició al manegador?

b) (2 punts) Feu el pseudocodi del manegador i de la RSI


Tema 3: Integració dels Dispositius
En què consisteix?

Per què?

Què s’ha de tenir en compte?

 Instal·lació
 Manteniment
 Escalabilitat
 Cost
 Monitorització
 Rendiment

Integració de dispositius en S.O.

El S.O. tracta els dispositius uniformement

 Dispositius virtuals
 Manegadors generals

Integració d’arquitectures hard

Ús del mateix S.O. en diferents arquitectures

 Windows 8
 Executable en PC, tablets, telèfons

Màquina virtual

Integrem diversos sistemes operatius donant la sensació de ser màquines diferents.

Tecnologies de virtualització

 Intel -> Intel VT


o Particions o màquines virtuals
 Traducció d’adreces de memòria per hardware
 Cloud Computing
o Software com servei (SaaS)
o Plataforma com servei (PaaS)
o Infraestructura com servei (IaaS)
 Núvols públics, provats, híbrits

Cloud Computing SaaS

Software com a servei (SaaS)

 Utilitza la web per donar servei a aplicacions manegades per terceres parts
 Elimina la necessitat d’instal·lar i executar aplicacions al computador personal
 Les empreses s’estalvien el manteniment i el suport
 Reemplaça el programari del dispositiu
 Exemple: Google Gmail, Cisco WebEx

Cloud Computing PaaS

Plataforma com a servei (PaaS)

 És utilitzada per aplicacions i proveeix components software al núvol


 Proporciona l’entron per desenvolupar aplicacions a mida
 Facilita el desenvolupament, testeig i execució d’aplicacions
 Proporciona virtualització de servidors, emmagatzemament, aplicacions PaaS
 Les aplicacions són manegades pels propis desenvolupadors.
 Exemples: Dropbox

Cloud Computing IaaS

Infraestructura com a servei (IaaS)

 Models self service per accedir, manegar dades remotes


 Ofereixen computació, emmagatzemament, serveis de xarxes
 S’estalvien la compra de hardware, el manteniment, el acondicionament del hardware
 Els usuaris són responsables de manegar les seves aplicacions
 Arreglen l’increment temporal de càrrega
 Exemples: firewalls, Amazon Web Service, Google Compute Engine

Tema 4: Seguretat
 Requeriments de seguretat
o Confidencialitat. No es pot saber què hi ha, no podem accedir a depèn quins fitxers,
ni el nom, ni si existeix o no, res.
o Integritat. Els documents no es poden modificar (no modificar, que la informació que
hem deixat segueixi sent la mateixa) per persones que no tenen permís.
o Disponibilitat. Si un fitxer és nostre, l’hem de tenir disponible, i el mateix en les
màquines, per exemple, el S.O. només disponible per a certes persones.
o Autenticació. El S.O. està segur que la persona que l’utilitza és qui diu ser.

 Tipus de perill
o Intercepció. Quan ja se sap que existeix un fitxer, qualsevol cosa que afecta a la
confidencialitat.
o Modificació. Qualsevol cosa que afecta a la integritat.
o Interrupció. Qualsevol cosa que afecta a la disponibilitat (ex. aturem daemon si el S.F.
està en xarxa, etc).
o Fabricació. Qualsevol cosa que afecta a la autenticació, ex. creem compte fals que
tingui permís (ex. utilitzar MAC address per fer creure al router que la teva màquina
és una altra).

Components d’un S.O.

 Hardware
o Disponibilitat. Habitualment té problemes de magnetismes, per evitar: caixa de
Faraday, parallamps a l’edifici, controlador de tensió, més eines....
 Software
o Disponibilitat. Pot passar que desapareixi un fitxer, per protegir-nos  còpies
de seguretat de la nostra informació.
o Integritat. Pot afectar un virus (modifica un fitxer). Com sabem quan instal·lem
un paquet que no ha estat modificat per tercers? Amb el checksum (suma codi
del paquet), igual que el DNI (la lletra està relacionada amb els càlculs). Com
sabem que les pàgines web són les vàlides? Alguns navegadors tenen funció,
però va amb certificats. Té a veure amb la integritat perquè “on jo accedeixo és
on vull accedir”, de igual manera que “el que jo deixo romandrà igual”.
o Autenticació. Quan et prenen el password. Han de ser fàcils de recordar per no
apuntar-lo però suficientment complicat per no ser esbrinat. De manera que
s’ha de fer ús de regles pnemotècniques, en que es recordi fàcilment (com per
exemple, les primeres lletres d’una frase amb números pel mig, una paraula
d’un diccionari no.
o Privacitat. No es pot accedir a informació que no és teva.

 Dades
o Disponibilitat, privacitat, integritat

 Línies de comunicació
o Passius: fan ús
 Espionatge, monitorització tràfic
 https: vol dir que es xifra la informació
 http: passa la informació per la xarxa sense xifrar, un sniffer ho pot
detectar!
 Amb Wi-Fi no és segur, les ones van pertot arreu, si viatja sense xifrar,
problema.
o Actius: alteren l’operativa. Si una tercera persona modifica la informació o hi ha
denegació de servei. Cada vegada hi ha menys. Poden fer caure servidors:
s’atura el servidor per moltes peticions alhora, es satura. Per a evitar-ho, hem
de protegir-nos.
 Emmascarar, reenviar, modificiació, denegació de serveis

Protecció

 Degut a la compartició del S.O.


o Diferents nivells de protecció
 Elements a protegir
o Memòria: control d’accés a l’usuari, als objectes. S’usuaris i aplicacions. Els
processos no han d’accedir a zones de memòria que no li pertanyen.
o Dispositius d’E/S: discs, impressores. En Linux hi ha drets de lectura, escriptura
i execució. En Windows, a part, hi ha usuaris, drets d’administrador, etc.
o Programes (tasques). Hem de protegir-los de tot lo que és pirateria, hi ha molts
controls, molts programes venen amb el llibre per saber que tens dret. Com
s’assegura el programa que tens el llibre?
o Dades.

Per protegir la memòria, normalment es fa sobretot per hardware, per software es pot fer poca
csa.

Codi reentrant es pot executar per diferents punts.

Al segment de pila va els registres, les variables locals, adreces de retorn al programa principal i
paràmetres.

Al segment de dades hi ha variables globals.

Al segment de codi hi ha el codi (el que s’executa).

Si fem aïllament tenim per exemple 1 GB per procés, si és per compartició tenim 50 GB per tots
els processos.

Nivells de protecció

o Sense protecció
o Aïllament
o Compartició completa o sense compartició
o Compartició via límit d’accés
o Accés via capacitats dinàmiques
o Ús limitat d’un objecte

Protecció de memòria

o Seguretat
o Correcte funcionament
o Separació d’espais de memòria
o Aïllament
o Compartició

Control d’accés

o Orientat a l’usuari:
o Autenticació
 Centralitzada. Una vegada ens autentiquem a una màquina ja ens
serveix per a tots els servidors.
 Descentralitzada. Ens autentiquem en cada un dels seerveis als que
volem accedir (la més normal), com per entrar al Moodle, la màquina
virtual en sí, etc.
o Orientat a les dades:
o Accés a determinats registres
o Mètrica d’accés: llistes de control d’accés
Intrusions

o Tipus
o Usuari emmascarat. Entra amb la contrassenya correcta però no és ell.
o Usuari transgresor. Entra a un usuari que no és ell i fa coses utilitzant els seus
privilegis, que són d’un altre rang.
o Usuari clandestí. Usuari que ha entrat amb el password d’un altre i, a més,
amaga els registres de monitorització, no sabem que ha entrat!
o Tècniques d’intrusions
o Descobrir la contrassenya
o Ús de crackers
o Ús de troians
o Punxar la línia telefònica

Prevenció + detecció

o Protecció per contrassenyes


o Vulnerabilitat de les contrassenyes
o Control d’accés
o Selecció de contrassenyes

Detecció d’intrusions

o Com ho detectem?
o Auditories
o Monitorització
o Què fem?
o Expulsió
o Disuasori
o Millorar la prevenció

Software maliciós

o Porta secreta
o Bomba lògica
o Troià. Entrada camuflada, un programa que quan s’executa obre les portes per a que un
altre usuari hi entri.
o Virus
o Gusano
o Zombie

La longitud de la contrassenya la posa el S.O.

No només s’ha de monitoritzar en hores normals!

Comportament dels virus

o Fase latent. Està ahí però no fa res.


o Fase de propagació. Es va duplicant.
o Fase d’activació
o Fase d’execució

Tipus de virus
o Paràsit
o Resident a memòria
o Sector d’arranc
o Ocult
o Polimòrfic
o Virus basats en macros: correus electrònics, Word, Excel, ...

Estratègies dels antivirus

o Detecció
o Identificació
o Eliminació

Per a detectar el virus al sector d’arranc, inicialitzar en un disc o USB a part.

Tema 5: Sistema de Fitxers


FAT: antiguo, sencillo, limitado y robusto
FAT es un sistema de ficheros muy simple.

Pongamos un caso de uso: queremos acceder a un fichero en un directorio. Los ficheros-


directorio contienen el nombre del fichero, algunos atributos extendidos (si es read-only, por
ejemplo), así como el número identificador del primer clúster en el que el fichero está contenido.

Claro que habitualmente un fichero es más grande que un clúster (que apenas suele ocupar unos
cuantos kilobytes). En este caso haremos uso de la llamada file allocation table: una tabla en la
que se almacena el siguiente clúster a uno previamente dado. De este modo, si un fichero
comienza en el clúster 5, buscaremos la entrada 5 en la FAT para conocer el siguiente clúster de
ese fichero. Cuando llegamos al final la FAT pone una marca especial (algo parecido a NULL).
Esta tabla es en sí también parte del sistema de ficheros, y está en una zona del disco concreta
y establecida en el momento de formatearlo.

Esta tabla debería mantenerse siempre en la memoria RAM, dado que todas las lecturas de
ficheros requieren acceder a ella, y pueden hacerse especialmente lentas, sobre todo cuando
hablamos de acceso aleatorio (no secuencial). Esto es así porque para saber la dirección de un
clúster debemos conocer la del clúster que le precede y realizar la consulta correspondiente a
la FAT.

Existen distintas variantes de FAT: FAT12, FAT16, FAT32, exFAT, FATX (para sistemas Xbox). Son
distintas entre sí, evidentemente, aunque el concepto principal no cambia: únicamente lo hacen
algunos detalles de su implementación para adaptarse a los tiempos o a dispositivos concretos.

Per exemple, en FAT64, aquest número vol dir l’amplada (quants bits es necessiten per adreçar
la FAT). A partir d’aquí puc saber fent 264 el número de blocs que tinc al disc.
El sistema de ficheros de Linux permite al usuario crear, borrar y acceder a los ficheros sin
necesidad de saber el lugar exacto en el que se encuentran.

Quantes adreces a la FAT he de guardar? Les que em permet el disc.

2x n = BD del disc

Quants BD hi ha al disc? Depèn de la mida del disc i la mida del BD.

Mida disc / mida BD

La mida del disc influeix en el rendiment del SF? Sí. Com?

La posició dels blocs de dades al disc influeix en el rendiment? Sí.

I-nodes

En Linux no existen unidades físicas, sino ficheros que hacen referencia a ellas, integrados en
la estructura de ficheros como cualquier otro.

El sistema de ficheros de Linux consta de varias partes importantes:

 Superbloque
 Tabla de inodos
 Bloques de datos

En Linux cada bloque es de 512 bytes o de múltiplos de 512. Al igual que el cluster era la
estrella del sistema de ficheros FAT, en ext3 es el bloque.

En la siguiente tabla podemos ver un esquema del sistema de ficheros de Linux:

El bloque de carga o bloque cero de cada sistema está reservado para almacenar un programa
que utiliza el sistema para gestionar el resto de las partes del sistema de ficheros.

El superbloque o bloque uno contiene la información sobre el sistema de ficheros.

La tabla de inodos es el equivalente a las entradas de la FAT. Por cada fichero, Linux tiene
asociado un elemento en esta tabla que contiene un número. Este número identifica la
ubicación del archivo dentro del área de datos.
Cada inodo contiene información de un fichero o directorio. En concreto, en un inodo se
guarda la siguiente información:

 El identificador de dispositivo del dispositivo que alberga al sistema de archivos.


 El número de inodo que identifica al archivo dentro del sistema de archivos.
 La longitud del archivo en bytes.
 El identificador de usuario del creador o un propietario del archivo con derechos
diferenciados.
 El identificador de grupo de un grupo de usuarios con derechos diferenciados.
 El modo de acceso: capacidad de leer, escribir, y ejecutar el archivo por parte del
propietario, del grupo y de otros usuarios.
 Las marcas de tiempo con las fechas de última modificación (mtime), acceso (atime) y
de alteración del propio inodo (ctime).
 El número de enlaces (hard links), esto es, el número de nombres (entradas de
directorio) asociados con este inodo. Si múltiples nombres están enlazados, o sea,
asociados a un mismo inodo (lo que se denomina enlaces duros o simplemente enlaces)
entonces todos los nombres son equivalentes entre sí. El que fue creado en primer lugar
no tiene ningún estatus especial, al contrario de lo que ocurre con los enlaces simbólicos
o con los denominados accesos directos de Windows, donde todos dependen del
nombre original. El número de enlaces se emplea por el sistema operativo para eliminar
el archivo del sistema de ficheros, tanto el inodo como el contenido, cuando se han
borrado todos los enlaces y el contador queda a cero

El área de datos ocupa el resto del disco y es equivalente a la zona de datos en FAT. En esta
zona, como su nombre indica, están almacenados los ficheros y directorios de nuestro sistema.

Un directorio no es más que un fichero que contiene los nombres de los ficheros (o directorios)
que contiene junto con el número del inodo que contiene la información de cada uno de ellos.

Dos tipus d’accés

 Accés aleatori. Vaig exactament a la posició. X cops a la FAT (per a recórrer-la) i 1 accés a
disc.
 Accés seqüencial. Llegeix tota la informació del 1r bloc, després del segon, etc. X accessos a
disc, els de la FAT es converteixen al disc.

Si el BD és petit, el nº d’accessos canvia, i perdo menys espai.

Si BD = sector  si agafo sector  1 accés a disc

Si BD > sector  accedeixo 16 vegades a disc per portar informació.

La informació que no s’utilitza va a les cachés del disc. La mateixa caché de disc ha de ser gran
si BD és gran (i si és petit pues petit).

Si vull llegir una foto serà accés seqüencial (copiar fitxers, contingut del fitxer). Un fitxer de text
també (1r llegeix el 1r byte, després el 2n, etc). Si vull llegir una posició concreta d’un BD serà
aleatori. (Ex. anar al 3r capítol d’un llibre, una base de dades, quan es va a un camp concret, etc).

En FAT sempre és més eficient fer accés seqüencial que aleatori (per 50 accessos a la FAT he fet
50 lectures vàlides, aleatori no).

La desfragmentació millora l’accés aleatori perquè “ajunta” entrades de la FAT.


Compactació, fa que els blocs de dades del fitxer estiguin junts (consecutius). Per tant, menys
accessos fallits a la FAT. Visió física intenta ser la mateixa que la lògica (SSD no).

Exercicis resolts
1. (1 punt) En què consisteix el RAID 0 i el RAID 1? Comenta les diferències entre ells, i els
avantatges que proporciona cada un d’ells.

El RAID 0 serveix per a fer data stripping, és a dir, es distribueixen les dades, partides en petits
fragments en diferents discs per aconseguir una velocitat d’accés superior ja que podem
extreure de forma concurrent.

El RAID 1 serveix per a replicar la informació en 2 o més discs, quan lo que interessa és
augmentar el rendiment/integritat de la informació, per damunt de la capacitat. Per la qual cosa
tindrem la mateixa informació en vàrios discs.
Per tant, la diferència resideix en l’ús dels discs, en el cas del RAID 0 es distribueix la informació
sense rèplica i al RAID 1 es repeteixen les dades per a millorar la seguretat (i augmentar la
velocitat de lectura tantes vegades com discs es tinguin).

2. (1 punt) Quins avantatges ens aporta el spooling d’impressora? Quin dels problemes
d’eficiència del sistema d’Entrada/Sortida soluciona?

Gràcies al sistema de spooling, conseguim que un recurs com és la impressora, que


necessàriament ha de ser apropiat per una impressió, pugui ser utilitzat per múltiples processos
o usuaris, apilant les impresores en aquesta cua d’impressió.

Gràcies a aquest mètode salvem el problema relacionat amb la apropiació de recursos, és a dir,
el sistema d’E/S no es veurà bloquejat perquè diversos usuaris vulguin accedir al mateix recurs,
amb lo que millorem en gran mesura la eficiència.

3. (1 punt) Quins avantatges proporcionen els i-nodes en front als sistemes en FAT-32, en
l’accés aleatori al contingut d’un fitxer?

Els fitxers indexats amb i-nodes, per la seva naturalesa dinàmica, permeten la creació de hard
links, és a dir, que tot i que aquests es moguin de localitat al disc dur, l’i-node roman inamovible
i totalment accessible en qualsevol moment ja que representen un resum de tot el fitxer i la seva
localitat.

En canvi, els FAT (File Allocation Table) resulten engorroses i si un fitxer és mogut o destruit,
perdrem tota la seva localitat i desconeixerem la localització real.

4. (1 punt) Quins quatre requeriments de seguretat es volen tenir en els sistemes


informàtics? Quins tipus de perills afecten a cada un d’ells?

1. Confidencialitat  Intercepció
2. Integritat  Modificació
3. Disponibilitat  Interrupció
4. Autenticació  Fabriació

5. (1 punt) Quins tres tipus d’intrusos es poden tenir en un sistema no segur? En què
consisteix cada un d’ells?
 Usuari emmascarat. Normalment es fa passar per un usuari de sistema o un altre amb
privilegis invadint algun dels seus recursos.
 Usuari transgresor. Usuari furtiu amb uns privilegis superiors, probablement escalats
mitjançant algun exploit o vulnerabilitat del sistema.
 Usuari clandestí. Usuari que accedeix mitjançant credencials d’algú altre o per mitjans físics
al control de la màquina.

1. Per a què s’usen les cachés de disc?

La caché és un sector de memòria independent del disc dur, que es pobla amb les dades més
comunes o que el sistema prediu que seran més utilitzades per a obtenir un ascens més ràpid,
oferint així la probabilitat de que el disc dur carregui molt més ràpid si l’usuari requereix de
dades que estan a la caché, donat que els accessos són a una memòria tipus RAM, inclosa en el
receptacle del dispositiu.

2. Quina és la diferència entre les cachés i els buffers? Quan s’usen, com s’usen i com
influeixen en el rendiment del sistema?

Es defineix com a buffer a memòria d’emmagatzematge temporal d’informació entre un


dispositiu i un altre, per exemple, la computadora i la impressora, o la computadora i el disc dur.
El buffer emmagatzema les dades a mode dels denominats “paquets d’informació” per a ser
volcats al dispositiu en qüestió. Fet això, el buffer es buida i queda disponible per a rebre un
altre paquet i repeteir així el procediment.

En canvi, quan parlem de caché, es pot dir que és un conjunt de dades duplicades d’altres, amb
el proòsit d’obtenir la informació en forma més ràpida, quan el conjunt de dades originals
resulten més difícils d’accedir en temps amb respecte a la còpia en memòria caché. Quan
s’accedeix per primera vegada a una dada , aquest es copia a caché i quan es requereixi tornar
a obtenir aquesta dada s’accedirà al mateix directament a caché. D’aquesta manera s’augmenta
la velocitat del procés donat que s’evita tornar a extreure’l del mitjà en que es troba l’original.

La diferència entre el buffer i la caché és que, si bé ambós poden ser considerats com a memòries
temporals, al buffer la dada es perd una vegada utilitzat per a ser reemplaçat per un altre,
mentre que a la caché, roman mentre el procés ho requereixi accedint a ell tantes vegades com
sigui necessari.

3. Per a què s’usa un spooler? De quina manera augmenta el rendiment del sistema?

El spooler es fa servir per a gestionar peticions a dispositius que generalment actuen més lent
que una CPU, a més de permetre que aquests no s’exclusivitzin ni es bloquegin quan diversos
usuaris l’utilitzen al mateix temps, pues la CPU va deixant al buffer del spooler totes les peticions,
aconseguint que ninguna es barregi i que de cap manera ningú ocupi ni bloquegi el recurs. El
dispositiu anirà resolvent seqüencialment totes les peticions.

4. Quin és l’objectiu principal dels diferents RAIDs?

RAID 0  Stripping. Les dades es distribueixen entre tots els discs de forma que a cada disc hi
ha diferents dades, però entre tots forma els fitxers al complet.
RAID 1  Mirroring. Les dades es repliquen, és a dir, si s’introdueix una dada, es replica a la
resta de discs de forma que augmentem el temps de lectura i garantitzem que la recuperació
d’informació serà proficient.

RAID 2  Distribució a baix nivell. Les dades es distribueixen a nivell de bit amb un disc de paritat
que fa servir codis hamming per a la correcció d’errors. Pot formar un coll d’ampolla.

RAID 3  Les dades es distribueixen a nivell de byte en comptes de blocs. És un nivell que
actualment ja no s’usa.

RAID 4  Molt semblant al RAID 3, només que en lloc de dividir-se a nivell de bytes, es divideix
en forma de blocs, amb accés independent i discs dedicats a paritat.

RAID 5  Distribuït amb paritat, és a dir, tots els discs controlen paritat i permet la lectura
simultània si els blocs a llegir es troben en diferents discs.

RAID 6  És una ampliació del nivell 5 que distribueix els dos blocs de paritat entre tots els discs.

5. En què es diferencien o s’assemblen els RAID 3 i 4?

S’assemblen en l’estructura, donat que els dos fan servir discs dedicats a la paritat, a més tenen
accés independent, però el RAID 4 emmagatzema la informació en forma de blocs, pel contrari,
el RAID 3 ho fa en unitats byte.

6. Com es pot augmentar el rendiment de la lectura d’un fitxer en un sistema FAT?


Justifica la resposta.

Es podria aplicar un nivell RAID 0 si volem velocitat a tota costa, però resulta més eficient pensar
en un nivell RAID 1 per aconseguir integritat en les dades i fault tolerance.

7. Entre FAT i i-nodes, quin sistema de fitxers té un major rendiment i en quins casos?
Justifica la resposta.

Generalment, els i-nodes aportaran un major rendiment, doant que permeten comprovar la
paritat d’un disc, amb solament analitzar seqüencialment la llista d’i-nodes, a més de permetre
per exemple, que un fitxer canvïi de nom mentre un procés l’està fent servir, donat que el nom
del fitxer és independent de l’inode. Per una part l’i-node té un cost per llistar fitxers més gran,
però redueix en gran mesura el seeking d’accés al fitxer augmentant el rendiment.

8. Quins són els 4 tipus de requeriments de seguretat?

Confidencialitat, integritat, disponibilitat i autenticació.

9. Quin és el perill de intercepció, on es pot produir i com l’evitarieu?

El perill d’intercepció ve donat per una mala implementació del sistema que assegura la
confidencialitat. Normalment els problemes de confidecnialitat es produeixen en l’intercanvi
d’informació entre diferents equips o usuaris i normalment es solventa amb la implementació
de sistemes de criptografia asimètrica amb una infraestructura de clau pública i clau privada,
que aconsegueix que les dades interceptades siguin inútils per a l’atacant.

10. Què és una matriu d’accés i per a què s’usa?


La matriu d’accés es fa servir per a gestionar els permisos dels diferents usuaris/processos sobre
els diferents recursos, es representa mitjançant files i columnes, on les files són accessors i les
columnes els diferents recursos que poden ser accedits. En la intersecció columna-fila
s’introdueix el permís que es té sobre el recurs concret.

You might also like