Está en la página 1de 51

Sistemas Operativos

Curso 2013 Estructura de los sistemas operativos

Agenda

Componentes de un sistema operativo. Servicios del sistema operativo (system services). Llamados a sistema (system calls). Estructura del sistema. Mquinas virtuales

Sistemas Operativos | Curso 201 | Estructura de los

sistemas operativos 2! "

Componentes del sistema operativo

#or su comple$idad un sistema operativo de%e ser& en su dise'o& modulari(ado en varios componentes)
*dministraci+n de procesos. *dministraci+n de memoria. Su%sistema de Entrada!Salida. *dministraci+n de almacenamiento secundario. Su%sistema de arc,ivos. Su%sistema de red. Sistema de protecci+n.

Sistemas Operativos | Curso 201 | Estructura de los sistemas

operativos ! "

Administracin de procesos: Proceso

-n pro.rama en la memoria / C#- / acceso a dispositivos / recursos constitu0en un proceso. -n pro.rama es una entidad pasiva& mientras que un proceso es una entidad activa. Cada proceso cuenta con un contador de pro.rama (PC program counter) que determina la pr+1ima instrucci+n de c+di.o a e$ecutar. El proceso necesita de ciertos recursos (C#-& memoria& arc,ivos& 0 dispositivos de E!S) para reali(ar su tarea.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

"! "

Administracin de procesos

El sistema al%er.ar muc,os procesos compitiendo por los recursos 0 ser el responsa%le de proveer de medios o servicios para que realicen su tarea)
Crear 0 destruir procesos. Suspensi+n 0 reanudaci+n de procesos. #roveer mecanismos para la cooperaci+n (sincroni(aci+n) 0 comunicaci+n entre los procesos. #roveer mecanismos para prever la .eneraci+n de dead-locks o lo.rar salir de ellos.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

2! "

Administracin de memoria

La memoria principal es un arre.lo de pala%ras o bytes. Es un repositorio de datos de rpido acceso compartido por los C#-s 0 los dispositivos. La memoria es un rea de almacenamiento com3n a los procesadores 0 dispositivos del sistema d+nde se almacenan pro.ramas& para su e$ecuci+n& 0 datos. El vincular pro.ramas a direcciones a%solutas es 4uertemente dependiente del ,ard5are i.ual que la posi%ilidad de reu%icaci+n. El sistema de%er administrar el lu.ar li%re 0 ocupado& decidir que proceso podr comen(ar cundo es car.ado en memoria.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

6! "

Administracin de memoria

#ara lo.rar la multipro.ramaci+n es necesario mantener varios pro.ramas en memoria al mismo tiempo. E1isten varios esquemas para la administraci+n de la memoria 0 requieren distinto soporte del ,ard5are. El sistema operativo es responsa%le de las si.uientes tareas)
Mantener que partes de la memoria estn siendo utili(adas 0 por qui7n. 8ecidir cuales procesos sern car.ados a memoria cuando e1ista espacio de memoria disponi%le. *si.nar 0 quitar espacio de memoria se.3n sea necesario.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

9! "

Subsistema de entrada/salida

El sistema operativo de%er encapsular 0 ocultar las caracter:sticas espec:4icas de los di4erentes dispositivos de almacenamiento 0 o4recer servicios comunes para todos los medios de almacenamiento. #ara ello proveer de)
-n con$unto de servicios que provean la inter4ase con el su%sistema e implementen t7cnicas de cache& buffering 0 spooling. -na inter4ase cliente con el sistema operativo para los mane$adores de dispositivos o device drivers que permitir interactuar (mediante car.as dinmicas o no) con cualquier modelo de dispositivo. Device drivers espec:4icos. Monta$e 0 desmonta$e (Mount/Dismount) de dispositivo.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

;! "

Administracin de almacenamiento secundario

La memoria principal es voltil 0 demasiado peque'a para .uardar todos los datos 0 pro.ramas que son necesarios para el 4uncionamiento del sistema. La ma0or:a de los sistemas actuales utili(an discos como principal medio para .uardar toda la in4ormaci+n. El sistema operativo es responsa%le de las si.uientes actividades en administraci+n de almacenamiento secundario)
*dministrar el espacio li%re. *si.naci+n del lu.ar de la in4ormaci+n. *l.oritmos de plani4icaci+n de disco.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

<! "

Subsistema de arc ivos

#roporciona una vista uni4orme de todas las 4ormas de almacenamiento en los di4erentes dispositivos implementando el concepto de arc,ivo como una colecci+n ar%itraria de bytes u otras clases o or.ani(aciones ms so4isticadas. =mplementar los m7todos de)
*%rir& Cerrar& E1tender Leer& Escri%ir Crear 0 %orrar directorios

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

10! "

!ed

En un sistema distri%uido (no se comparten 4:sicamente memoria ni dispositivos) los con$untos de procesos interact3an a trav7s de un canal de comunicaci+n en el conte1to de una red de comunicaci+n.
En .eneral se .enerali(a el concepto de dispositivo virtual implementando un mane$ador (driver) que encapsula el acceso a dispositivos remotos.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

11! "

Sistema de proteccin

En un sistema multiusuario donde se e$ecutan procesos en 4orma concurrente se de%en tomar medidas que .aranticen la ausencia de inter4erencia entre ellos. #or protecci+n nos re4erimos a los mecanismos por los que se controla al acceso de los procesos a los recursos. El mecanismo de%e incorporar la posi%ilidad de de4inir re.las de acceso 0 ase.urar su veri4icaci+n en toda ocasi+n que corresponda.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

12! "

Servicios del SO

El sistema %rindar un entorno de e$ecuci+n de pro.ramas d+nde se dispondr de un con$unto de servicios que sern accesi%le mediante una inter4ase %ien de4inida. Servicios %sicos que de%e %rindar un sistema operativo)
E$ecuci+n de pro.ramas. Operaciones de Entrada!Salida. Manipulaci+n de sistemas de arc,ivos. Comunicaci+n entre procesos. Manipulaci+n de errores (e1cepciones).

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

1 ! "

E"ecucin de programas

El sistema de%e ser capa( de car.ar un pro.rama a memoria 0 e$ecutarlo.

El pro.rama de%er poder en al.3n momento 4inali(ar su e$ecuci+n& 0a sea de 4orma normal o anormal (indicando un error).

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

1"! "

Operaciones de entrada/salida

-n pro.rama en e$ecuci+n necesitar de operaciones de Entrada!Salida para acceder a un arc,ivo o dispositivo. #or e4iciencia 0 protecci+n los usuarios no accedern directamente al dispositivo. El sistema de%er proveer un mecanismo de acceso.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

12! "

#anipulacin del sistema de arc ivos


Se de%er proveer acceso al sistema de arc,ivos. Las operaciones m:nimas sern)


Crear& %orrar& leer& escri%ir& a%rir& cerrar

Sistemas Operativos | Curso 201 | Estructura de los sistemas

operativos 16! "

Comunicacin entre procesos


Es desea%le que los procesos puedan comunicarse. Se de%er proveer mecanismos de comunicaci+n entre ellos 0a sea que est7n en el mismo computador (a trav7s de memoria compartida)& o en di4erentes computadores (a trav7s de trans4erencias de paquetes de red entre los sistemas operativos involucrados). >am%i7n de%e permitir la sincroni(aci+n de procesos que tra%a$an en con$unto.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

19! "

$eteccin de errores

El sistema de%er tomar decisiones adecuadas ante eventuales errores que ocurran)
?allo en un dispositivo de memoria. ?allo en la 4uente de ener.:a. ?allo en un pro.rama. Etc.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

1;! "

Servicios del SO

Otros servicios de prop+sito .eneral que de%er %rindar el sistema operativo son)
*si.naci+n de recursos. Conta%ili(aci+n. #rotecci+n.

-na ve( que estn de4inidos los servicios que %rindar el sistema operativo& se puede empe(ar a desarrollar la estructura del sistema.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

1<! "

%lamados al sistema

Los llamados al sistema (system calls) son una inter4a(& provista por el n3cleo& para que los procesos de usuarios accedan a los di4erentes servicios que %rinda el sistema operativo. *l principio los system calls esta%an desarrollados en len.ua$e de la arquitectura de la mquina. En los sistemas modernos estn pro.ramados en len.ua$es de pro.ramaci+n de alto nivel como C o C//.
Los servicios son invocados por los procesos en modo usuario& cuando e$ecutan lo ,acen en modo monitor& 0 al retornar vuelven al modo usuario.

>:picamente a los system calls se les asocia un n3mero que los identi4ica (en Linu1 son apro1imadamente 20).

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

20! "

%lamados al sistema

La llamada a un system call inclu0e las si.uientes tareas)


Car.ar los parmetros en el lu.ar adecuado (stack o re.istros). Car.ar el n3mero de system call en al.3n re.istro espec:4ico (E$) ea1 en =ntel). =nvocar a la interrupci+n por so4t5are (trap) adecuada (system call handler). El ,ard5are cam%ia el %it de modo a monitor e invoca al mane$ador de la interrupci+n que controla que el n3mero de system call pasado en el re.istro sea menor que el ma0or del sistema 0& 4inalmente& invoca al system call correspondiente. El valor retornado por el system call es puesto en un re.istro espec:4ico (E$.) ea1 en =ntel).

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

21! "

%lamados al sistema

E1isten

4ormas de pasar los parmetros al sistema operativo)

* trav7s de los re.istros) Se utili(an un con$unto de re.istros para pasar los parmetros. >iene el pro%lema de la cantidad de parmetros es 4i$a 0 que restrin.e el tama'o del valor.

En =ntel se utili(an 2 re.istros) e%1& ec1& ed1& esi& 0 edi.

-n %loque de memoria apuntado a trav7s de un re.istro. En el stack del proceso que reali(a el llamado. El proceso .uarda los parmetros con operaciones push so%re el stack 0 el sistema operativo los saca con la operaci+n pop.

8e la misma 4orma se pueden reci%ir los datos de respuesta

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

22! "

%lamados al sistema

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos 2 ! "

%lamados al sistema

Los system calls se clasi4ican en distintos tipos)


Control de procesos

Car.ar& e$ecutar& 4inali(ar& a%ortar& conse.uir atri%utos& car.ar atri%utos& esperar por tiempo& esperar por un evento o se'al& conse.uir o li%erar memoria& etc. Crear& %orrar& a%rir& cerrar& leer& escri%ir& conse.uir o car.ar atri%utos& etc. Aequerir o li%erar un dispositivo& leer o escri%ir& %uscar o car.ar atri%utos de un dispositivo& etc. Conse.uir o car.ar la ,ora del sistema& datos del sistema& de procesos& etc. Crear o destruir cone1iones& enviar o reci%ir mensa$es& etc.

@esti+n de arc,ivos

@esti+n de dispositivos

@esti+n de in4ormaci+n del sistema

Comunicaciones

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

2"! "

Estructura del sistema


La estructura interna de los sistemas operativos pueden ser mu0 di4erentes.

Se de%en tener en cuenta)


Metas de los usuarios) ser ami.a%le& intuitivo& con4ia%le& se.uro& rpido& etc. Metas del sistema) 4cil de dise'ar& implementar 0 mantener& tam%i7n 4le1i%le& con4ia%le 0 e4iciente.

8ise'o del sistema)


Sistema monol:tico. Sistema en capas. Sistema con micron3cleo (microBernel).

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

22! "

Sistema monol&tico

Co se tiene una estructura de4inida. El sistema es escrito como una colecci+n de procedimientos& que pueden ser invocados por cualquier otro. Co e1iste Docultaci+n de in4ormaci+nE& 0a que cualquier procedimiento puede invocar a otro. Si %ien todo procedimiento es p3%lico 0 accesi%le a cualquiera& es posi%le tener %uenos dise'os 0 lo.rar& de esa 4orma& %uena e4iciencia en el sistema. E$.) MSF8OS.
Los componentes pueden invocar procedimientos de cualquiera.

E$.) Linu1
Linu1 es un n3cleo monol:tico que a lo.rado un %uen dise'o orientado a o%$etos (sistema modular).

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

26! "

Sistema en capas

Se or.ani(a el dise'o en una $erarqu:a de capas construidas una encima de la otra. Los servicios que %rinda cada capa son e1puestos en una inter4ase p3%lica 0 son consumidos solamente por los de la capa de arri%a. La capa 0 es el ,ard5are 0 la C
es la de procesos de usuario.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos 29! "

Sistema en capas

Genta$as)
Modularidad. 8epuraci+n 0 veri4icaci+n de cada capa por separado.

8esventa$as)
*lto costo de de4inici+n de cada capa en la etapa de dise'o. Menos e4iciente 4rente al sistema monol:tico 0a que su4re de overhead al pasar por cada capa.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

2;! "

Sistema en capas
E$.) en capas H OS!2.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos 2<! "

Sistema con micron'cleo (micro)ernel*

Se constitu0e de un n3cleo que %rinde un mane$o m&nimo de procesos+ memoria 0& adems& provea de una capa de comunicacin entre procesos. La capa de comunicaci+n es la 4uncionalidad principal del sistema. Los restantes servicios del sistema son construidos como procesos separados al micron3cleo que e$ecutan en modo usuario. El acceso los servicios del sistema se reali(a a trav7s de pasa$e de mensa$es.

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

0! "

Sistema con micron'cleo

Genta$as)
*umenta la porta%ilidad 0 escala%ilidad 0a que encapsula las caracter:sticas 4:sicas del sistema #ara incorporar un nuevo servicio no es necesario modi4icar el n3cleo. Es ms se.uro 0a que los servicios corren en modo usuario.
El dise'o simple 0 4uncional t:picamente resulta en un sistema ms con4ia%le.

E$. Iindo5s C>

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos


1! "

#,-uinas .irtuales

Se puede ver como una e1tensi+n de los sistemas multipro.ramados pero a ms %a$o nivel Los procesos no solamente tra%a$an so%re el sistema operativo como si 4ueran el 3nico proceso en el sistema sino que tienen una copia virtual del ,ard5are de la C#Las mquinas virtuales corren como procesos a nivel de usuario 0 el administrador de MGs

(hypervisor) implementa un modo usuario virtual 0 un modo administrador virtual >am%i7n se implementan discos virtuales so%re los discos reales para las mquinas virtuales 8os modos %sicos
>ipo 1) el administrador corre directamente so%re el ,ard5are >ipo 2) el administrador corre como un proceso so%re un sistema operativo normal

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos 2! "

#,-uinas virtuales: bene/icios

Se.uridad
Los procesos en cada mquina virtual son completamente independientes de los procesos en las otras

?acilidad de desarrollo
Se pude correr un sistema operativo de test en una mquina virtual sin correr ries.os con el sistema real

?le1i%ilidad
Correr un sistema operativo de una arquitectura en una mquina di4erente

*lta disponi%ilidad
En caso de 4alla de una MG se puede levantar otra rpidamente en otro ,ard5are

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

! "

#,-uinas virtuales: desventa"as

Los tiempos de las operaciones pueden tardar ms que en un sistema real


>iempo adicional por traducir las operaciones

>iempo de respuesta de la mquina mu0 poco predeci%le por uso del sistema operativo de %ase u otras MGs
Co apropiado para sistemas de tiempo real

Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos

"! "

También podría gustarte