Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Agenda
Componentes de un sistema operativo. Servicios del sistema operativo (system services). Llamados a sistema (system calls). Estructura del sistema. Mquinas virtuales
#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.
operativos ! "
-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.
"! "
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.
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.
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.
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.
;! "
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.
<! "
#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
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.
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.
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).
1 ! "
E"ecucin de programas
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).
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.
12! "
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.
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.
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.
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).
20! "
%lamados al sistema
21! "
%lamados al sistema
E1isten
* 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.
-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.
22! "
%lamados al sistema
%lamados al sistema
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
Comunicaciones
2"! "
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).
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.
2;! "
Sistema en capas
E$.) en capas H OS!2.
Sistemas Operativos | Curso 201 | Estructura de los sistemas operativos 2<! "
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.
0! "
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.
#,-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
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
! "
>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
"! "