Está en la página 1de 71











Introducción
,1*(1,(5Ë$(1,1)250È7,&$
6LVWHPDVGH2SHUDFLyQ

81,9(56,'$'1$&,21$/(;3(5,0(17$/'(*8$<$1$

6LVWHPDVGH2SHUDFLyQ 81(*
6LVWHPD,QIRUPiWLFR

6LVWHPDVGH2SHUDFLyQ 81(*
6LVWHPD,QIRUPiWLFR

• Hardware (lo tangible):


i. La computadora.
ii. Los periféricos y accesorios (impresora, ratón,
dispositivos de almacenamiento, etc.).
• Software (lo intangible):
i. Sistema operativo.
ii. Aplicaciones finales.
iii. Datos/información
• Usuarios:
i. Usuarios de aplicaciones.
ii. Programadores de aplicaciones.
6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHO&RPSXWDGRU

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHO&RPSXWDGRU

• Los dispositivos de E/S se conectan al bus


a través de controladores.
• La CPU se comunica con los controladores
a través de instrucciones especiales o de
direcciones concretas de memoria.
• Cada controlador tiene un búfer local; la
CPU lee/escribe datos en allí.
• El controlador notifica a la CPU la
finalización de una operación o la llegada de
nuevos datos mediante una interrupción.
6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHO&RPSXWDGRU

• Cuando llega una señal de interrupción a la


CPU, ésta suspende lo que está haciendo y
ejecuta una rutina de servicio de
interrupción (RSI).
• Antes de ejecutar la RSI, hay que guardar el
estado de la CPU, para que pueda reanudar
lo que estaba haciendo después de
completar la RSI.
• La CPU sabe qué dispositivo ha interrumpi-
do porque le pregunta a todos (SROOLQJ).
6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHO&RPSXWDGRU

• Cuando el dispositivo es encuestado por la


CPU le envía por el bus un número de
identificación ⇒ interrupciones vectorizadas
⇒ vector de interrupciones.
• La CPU utiliza una tabla en memoria (vector
de interrupciones) con las direcciones de las
distintas RSI que puede ejecutar.
• La CPU usa el número recibido como índice
del vector de interrupciones ⇒ ejecuta la
RSI que corresponde.
6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHO&RPSXWDGRU

6LVWHPDVGH2SHUDFLyQ 81(*
'HILQLFLyQGH6LVWHPD2SHUDWLYR

• Un SOP es un programa que controla la


ejecución de los programas de aplicación y
que actúa como interfaz entre el usuario del
computador y el hardware del mismo
(Stallings).
• El SOP es el único programa que se está
ejecutando en todo momento en el
computador (denominado núcleo o kernel),
siendo el resto programas de aplicación
(Silberschatz-1).
6LVWHPDVGH2SHUDFLyQ 81(*
'HILQLFLyQGH6LVWHPD2SHUDWLYR

• Un SOP es todo aquello que te entrega el


vendedor cuando le pides un Sistema
Operativo (Silberschatz-2).
• Un SOP puede ser contemplado como una
colección organizada de extensiones de
software del hardware, consistente en
rutinas de control que hacen funcionar un
computador y proporcionan un entorno para
la ejecución de los programas (Milenkovic).

6LVWHPDVGH2SHUDFLyQ 81(*
'HILQLFLyQGH6LVWHPD2SHUDWLYR

• Es un conjunto de programas y datos


(software) que controla a la computadora y
a los diferentes trabajos que ésta realiza.
• Es el software que gestiona los recursos de
la computadora (CPU, memoria,
dispositivos de E/S, red, etc.).
• Es el software que hace posible la
comunicación e interacción entre los
usuarios y el hardware.
• Es el ambiente de trabajo por defecto.
6LVWHPDVGH2SHUDFLyQ 81(*
'HILQLFLyQGH6LVWHPD2SHUDWLYR

• Desde el punto de vista de la cantidad de


usuarios que se pueden atender al mismo
tiempo: monousuario ó multiusuario.
• Desde el punto de vista de la cantidad de
tareas que se pueden ejecutar al mismo
tiempo: de tarea única ó multitarea.
• Desde el punto de vista de la ubicación de
todos sus componentes: centralizado ó
distribuido.

6LVWHPDVGH2SHUDFLyQ 81(*
$PELHQWHGH7UDEDMR

• Forma o medio mediante el cual un usuario


se comunica con la computadora. Por lo
general se le suele llamar Interfaz de
Usuario.
• Dos tipos:
1) Modo texto (ejemplo: CP/M, BTOS, MS-
DOS).
2) Modo gráfico (ejemplo: MS-Windows,
Mac OS, X-Windows, etc.).

6LVWHPDVGH2SHUDFLyQ 81(*
$PELHQWHGH7UDEDMR0RGR7H[WR

• La interacción del usuario con la


computadora se realiza mediante el ingreso
(vía teclado) de comandos, la mayoría de
las veces largos y complejos.
• Los usuarios deben aprender a usar este
tipo de lenguaje ⇒ sintaxis + semántica.
• Cada comando puede ser en sí mismo un
programa.
• Ejemplos: dir, cd, rd, ren, copy, net, ipconfig,
etc.
6LVWHPDVGH2SHUDFLyQ 81(*
$PELHQWHGH7UDEDMR0RGR*UiILFR

• Proviene del concepto de GUI (de sus siglas


en inglés *UDSKLFDO8VHU,QWHUIDFH).
• GUI es un concepto que se deriva del
paradigma orientado a objetos.
• La interacción del usuario con la
computadora se realiza mediante
manipulaciones gráficas en la pantalla ⇒
mucho más amigable para el usuario.
• Uso de otros dispositivos de entrada (ratón,
lápiz óptico, WRXFKVFUHHQ, etc.).
6LVWHPDVGH2SHUDFLyQ 81(*
$PELHQWHGH7UDEDMR0RGR*UiILFR

• Algo de historia:
a) 1982: Apple Computer introdujo LISA, primera
PC que utilizó un ambiente gráfico y el ratón.
b) 1984: Apple Computer liberó la Macintosh; se
introduce el concepto de ventanas.
c) 1985: Microsoft liberó el ambiente Windows
para ser utilizado con MS-DOS. La interfaz
fue creada imitando el Mac OS de Apple.
d) 1985: Quarterdeck Office System lanzó al
mercado DESQview, primer software con
capacidades de multitarea y ventanas para
MS-DOS.
6LVWHPDVGH2SHUDFLyQ 81(*
$PELHQWHGH7UDEDMR0RGR*UiILFR

e) 1990: Microsoft introdujo Windows 3.0 y se


convirtió en la interfaz gráfica más popular
para PC.
f) 1992: Microsoft introdujo Windows 3.1, la
interfaz gráfica más utilizada a nivel mundial.
g) 1995: Microsoft introdujo Windows 95;
Windows deja de ser una interfaz gráfica para
MS-DOS para convertirse en un sistema
operativo en sí mismo.
h) 2000s: Windows evoluciona (98, NT,
Millenium, Server, XP, Vista).

6LVWHPDVGH2SHUDFLyQ 81(*
$PELHQWHGH7UDEDMR0RGR*UiILFR

i) 2000s: Luego de una debilidad en el


mercado, Apple vuelve con fuerza al mercado
con la Mac y el Mac OS; aunque Mac OS
evoluciona siempre mantiene la misma
filosofía interfaz.
j) 2000s: Dada la importancia de la comunidad
de software libre y la gran cantidad de
usuarios en Linux, emerjen una gran cantidad
de ambientes gráficos: X-Windows,
Mandrake, Ubuntu, Gnome, KDE, Suse, etc.

6LVWHPDVGH2SHUDFLyQ 81(*
$UUDQTXHGHO6LVWHPD2SHUDWLYR

• Lo primero que ocurre en una PC al


encenderse es ejecutar el test de
autodiagnóstico (POST – 3RZHU2Q6HOI
7HVW). Es un programa que está en el BIOS
(%DVLF,QSXW2XWSXW6\VWHP) que asegura y
prueba que los componentes esenciales
estén presentes y funcionando
adecuadamente.

6LVWHPDVGH2SHUDFLyQ 81(*
$UUDQTXHGHO6LVWHPD2SHUDWLYR

• Si el POST no encuentra ningún error, se


procede a la carga en memoria y ejecución
del Sistema Operativo (SOP). A este
proceso se le conoce como “Boot” (viene
del verbo en inglés WRERRWXS que se puede
traducir como inicializar).
• Específicamente el SOP arranca producto
de una rutina en ROM llamada %RRW6WUDS.
El código completo se almacena en algún
medio de almacenamiento secundario.
6LVWHPDVGH2SHUDFLyQ 81(*
$UUDQTXHGHO6LVWHPD2SHUDWLYR

• Lo que se carga (en la RAM) es el núcleo


(software básico de control) del SOP
• En la carga del SOP se instalan todas las
RSI en el vector de interrupciones.
• Cuando el SOP termina de cargarse, queda
en espera o bien cede el control a algún
programa de usuario que se configure para
arrancar inicialmente con el encendido de la
PC.

6LVWHPDVGH2SHUDFLyQ 81(*
$UUDQTXHGHO6LVWHPD2SHUDWLYR

• El núcleo (NHUQHO / FRUH) del SOP debe estar


siempre en la RAM y siempre se mantiene
en ejecución. Un mal funcionamiento de
este software provoca necesariamente un
reinicio del PC (UHERRW).
• Por lo general ocupa las posiciones de
memoria más bajas de la RAM (segmento
de memoria de bajo nivel) ⇒ acceso más
rápido.

6LVWHPDVGH2SHUDFLyQ 81(*
$UUDQTXHGHO6LVWHPD2SHUDWLYR

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• En un principio el SOP era sólo un


fragmento de código que se enlazaba con
los programas; se cargaba todo en memoria
y se ejecutaba con el programa.
• Los primeros SOP reales fueron los
sistemas por lotes (EDWFK):
a. Monitor residente almacenado en memoria.
b. Los trabajos (MRE) se cargaban en memoria
(tarjetas perforadas).
c. Las tarjetas de control en el archivo de
entrada indicaban qué hacer.
6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

d. Se dispone de un lenguaje para el control de


tareas (JCL – -RE&RQWURO/DQJXDJH)
e. El objetivo principal era sacar más provecho a
la máquina gracias a una mejor organización
del trabajo.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

e. Se empiezan a considerar aspectos de


protección:
i. Proteger la memoria ocupada por el monitor
residente.
ii. Impedir accesos directos a la E/S.
iii. Evitar que una tarea deje bloqueado al sistema.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• A medida que se diseñaron y usaron los


SOPs, se hizo evidente que podrían
simplificarse si se modificaba el diseño del
hardware → La 2da generación de
computadoras introdujeron el concepto de
interrupción.
• El problema de la lentitud de la E/S en
comparación con la CPU:

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

a. Operación fuera de línea (RIIOLQH):


ƒ El computador central dialoga directamente sólo
con dispositivos rápidos (cintas magnéticas).
ƒ Un pequeño computador (satélite o canal) se
encarga de las transferencias con dispositivos
lentos (tarjetas, impresoras).
ƒ No hace falta recompilar los programas antiguos
→ independencia del dispositivo.
b) Uso de búferes:
ƒ Las transferencias de E/S se realizan a través de
un área intermedia de memoria.
ƒ La operación se realiza sólo cuando el dispositivo
está preparado.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

ƒ Permite solapar operaciones de E/S de una tarea


con instrucciones de CPU de esa misma tarea.
ƒ No resuelven del todo el problema; sólo permiten
amortiguar picos de alta actividad de E/S.
ƒ Si la E/S es muy lenta, los búferes de entrada se
vacían y los de salida se congestionan.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

F 6SRROLQJ (6LPXOWDQHRXV3HULSKHUDO2SHUDWLRQ
2Q/LQH):
ƒ Surge gracias a la aparición de los discos → se
utiliza como un enorme búffer.
ƒ La operación de E/S se hace sobre el disco en
lugar del dispositivo.
ƒ Permite solapar la E/S de un proceso ya terminado
con las operaciones en CPU de otro proceso.
ƒ Introduce una estructura de control (MRESRRO); el
SOP puede elegir el trabajo más adecuado.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• Aparece la necesidad de manejar la


concurrencia ⇒ SOP multiprogramados:
a. Optimizan la productividad (WKURXJKSXW).
b. Varios trabajos ejecutables cargados en
memoria.
c. Aumenta la complejidad del SOP:
ƒ Planificación de la CPU.
ƒ Planificación del uso de dispositivos.
ƒ Gestión de memoria.
ƒ Protección.
ƒ Solución a situaciones de interbloqueo.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

d. Los dispositivos de E/S pueden operar


asíncronamente (el SOP continúa mientras la
E/S se desarrolla).
e. Necesidad de interrupciones y/o DMA ('LUHFW
0HPRU\$FFHVV).

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• Multiprogramación + interactividad = tiempo


compartido (WLPHVKDULQJ).
• Los sistemas por lotes no son interactivos
(el usuario no interviene durante la
ejecución de su trabajo).
• El tiempo debe ser lo suficientemente
grande para que sea percibido por el
usuario y lo suficientemente pequeño para
atender rápidamente a todos los usuarios.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• La CPU reparte su tiempo entre los distintos


procesos.
• Los usuarios tienen la impresión de poseer
una computadora particular.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• La aparición del PC en los 80’s provocó la


necesidad de otro tipo particular de SOP:
a. Destinados al uso individual.
b. Máxima importancia a la facilidad de uso
(interfaz); del modo texto al modo gráfico.
c. Bajos tiempos de respuesta.
d. Con tecnología de los SOPs para grandes
computadoras pero sin necesidad de ciertos
servicios (protección, multiprogramación, etc.).
e. El SOP evoluciona a medida que evoluciona
el hardware (CPU, memoria, etc.).

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• Nacen los sistemas paralelos o


multiprocesadores:
a. Pueden ejecutar varias instrucciones de forma
simultánea.
b. Estrechamente acoplados; los procesadores
comparten una memoria común.
• Sistemas distribuidos:
a. Múltiples procesadores conectados mediante
una red.
b. Sistemas débilmente acoplados (no se
comparte memoria y reloj).
6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

c. Escalable hasta millones de procesadores


(Internet).
d. Aumento considerable de la complejidad en la
administración de recursos.
e. Actualmente se está trabajando mucho en la
tecnología de *ULG&RPSXWLQJ.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• Sistemas de tiempo real:


a. Para poder ejecutar satisfactoriamente tareas
que han de completarse en un plazo prefijado
(control industrial, multimedia, etc.).
b. Dos tipos:
i. Crítico: siempre se deben cumplir los plazos;
adecuados para la industria.
ii. No críticos: intentan cumplir los plazos pero no hay
garantía de ello; adecuados para sistemas
multimedia.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

• Sistemas para WID (:LUHOHVV,QIRUPDWLRQ


'HYLFHV):
a. Código lo suficientemente reducido para este
tipo de dispositivos pequeños y móviles.
b. Debe gestionar muy bien los escasos
recursos, en particular la potencia eléctrica y
la memoria.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

*HQHUDFLyQ 2EVHUYDFLRQHV
I: 1945 – 1955 • No hay SOPs como tal.
• Instrucciones codificadas a mano.
• Desaprovechamiento inadecuado de la CPU.
II: 1955 – 1965 • Primeros intentos serios de desarrollar un SOP.
• Procesamiento por lotes (EDWFK).
• El SOP es un programa de control para planificar trabajos.
III: 1965 – 1980 • Aparece la multiprogramación.
• Muchas computadoras diferentes con SOPs diferentes.
• SOPs complejos.
• Dispositivos virtuales como las técnicas de SPOOL.
• Multiprocesamiento (sistemas compuestos de varios
procesadores).
IV: 1908 – 2000 • SOPs para Computadoras personales.
• SOPs para redes de computadoras.
• SOPs distribuidos.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

*HQHUDFLyQ 2EVHUYDFLRQHV
V: 2000 – … • SOPs para computadoras de bolsillo (PDA, teléfonos
móviles, etc.).
• SOPs especializados para el manejo de multimedia y
entornos gráficos.
• SOPs especializados para avances tecnológicos en las
comunicaciones (WIFI, Bluetooth, etc.).

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

$xR 3URGXFWR 2EVHUYDFLRQHV


1950 SOP Primeros SOPs.
1964 OS/360 Introducido con la IBM 360; fue uno de los SOP
más estudiados y difundidos.
1970 UNIX Desarrollado en los Laboratorios Bell por Dennis
Ritchie y Ken Thompson.
1974 MVS (Multiple Virtual Storage); desarrollado por IBM para
grandes sistemas computacionales (mainframes).
1976 CP/M (Control Program for Microcomputers); desarrollado
por Digital Research; primer SOP que se convirtió
en un estándar en el mundo de las PC.
1981 MS-DOS (MS Disk Operating System); desarrollado por
Microsoft mediante convenio con IBM.

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

$xR 3URGXFWR 2EVHUYDFLRQHV


1983 Proyecto GNU Iniciado por Richard Stallman con el propósito de
crear un SOP similar y compatible con UNIX y los
estándares POSIX.
1985 GNU-GPL (General Public License); desarrollado por Richard
Stallman con el objeto de difundir el software
libremente bajo la Fundación del Software Libre
(FSF) que él mismo desarrolló.
1991 Linux Desarrollado por Linus Torvalds con el propósito de
servir de núcleo de SOP bajo las premisas del
proyecto GNU y licencia GPL. Un año después se
empiezan a crear las primeras distribuciones.
1995 Windows 95 Desarrollado por Microsoft; primer SOP modo
gráfico para PC no producida por Apple Computer.
Posteriormente evoluciona en otra serie de
productos (98, ME, 2000, NT, XP, Vista, etc.).

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

Evolución de los SOPs


de Microsoft

6LVWHPDVGH2SHUDFLyQ 81(*
+LVWRULD\(YROXFLyQ

Evolución
de UNIX

6LVWHPDVGH2SHUDFLyQ 81(*
&RPSRQHQWHVEiVLFRV

6LVWHPDVGH2SHUDFLyQ 81(*
&RPSRQHQWHVEiVLFRV

• Gestión de procesos:
a. Proceso: instancia de un programa en
ejecución.
b. Necesita tiempo de CPU, una porción de
memoria, archivos, E/S, etc.
c. El SOP es responsable de:
i. Crear/destruir procesos.
ii. Suspender/reanudar procesos.
iii. Suministrar los mecanismos para sincronizar y
comunicar procesos.
iv. Repartir la CPU entre los procesos activos.

6LVWHPDVGH2SHUDFLyQ 81(*
&RPSRQHQWHVEiVLFRV

• Gestión de memoria principal:


a. Memoria principal: almacenamiento de acceso
directo para la CPU y los dispositivos de E/S;
es escasa y volátil.
b. El SOP es responsable de:
i. Conocer qué zonas de memoria están libres y
cuáles están ocupadas.
ii. Decidir qué procesos hay que cargar cuando haya
memoria libre.
iii. Reservar y liberar zonas de memoria según se
solicite.
iv. Utilizar el almacenamiento secundario como una
extensión de la memoria principal (memoria virtual).
6LVWHPDVGH2SHUDFLyQ 81(*
&RPSRQHQWHVEiVLFRV

• Gestión de archivos:
a. Archivo: colección de información con nombre;
entidad básica de almacenamiento persistente
⇒ se almacenen en dispositivos de E/S.
b. El SOP es responsable de:
i. Manipular archivos: crear, borrar, leer, escribir, etc.
ii. Manipular directorios (casos particulares de
archivos).
iii. Ubicar los archivos es los dispositivos de
almacenamiento secundario.
iv. Automatizar ciertos servicios: copia de seguridad,
versiones, estadísticas de uso, etc.

6LVWHPDVGH2SHUDFLyQ 81(*
&RPSRQHQWHVEiVLFRV

• Gestión de entrada/salida:
a. Manejador de dispositivo: módulo que gestiona
un tipo de dispositivo; encapsula el
conocimiento específico del dispositivo
(inicialización, interrupciones, etc.).
b. El SOP es responsable de:
i. Proporcionar una interfaz uniforme para el acceso a
los dispositivos (independencia del dispositivo).
ii. Proporcionar manejadores para los dispositivos.
iii. Tratar automáticamente los errores más comunes.
iv. Utilizar cachés para los dispositivos de
almacenamiento.
v. Planificar de forma óptima las peticiones a disco.
6LVWHPDVGH2SHUDFLyQ 81(*
&RPSRQHQWHVEiVLFRV

• Sistema de protección:
a. Protección: abarca los mecanismos destinados
a controlar el acceso de los usuarios a los
recursos, según los privilegios que se definan.
b. Suele ser un mecanismo general a todo el
SOP (no se localiza en un único módulo).
c. El SOP es responsable de:
i. Definir el esquema general de protección: clases de
usuarios, clases de permisos/privilegios, etc.
ii. Definir mecanismos de acceso a los recursos:
contraseñas, llaves, capacidades, etc.
iii. Controlar el acceso a los recursos, denegando el
acceso cuando no esté permitido.
6LVWHPDVGH2SHUDFLyQ 81(*
&RPSRQHQWHVEiVLFRV

• Intérprete de órdenes:
a. Permite a un usuario que éste pueda dialogar
directamente con el SOP.
b. Ejemplos: JCL en sistemas por lotes,
command.com en MS-DOS, shell en UNIX.
c. Proporciona una interfaz básica para:
i. Cargar/abortar programas.
ii. Introducir datos a los programas.
iii. Trabajar con archivos.
iv. Trabajar con redes

6LVWHPDVGH2SHUDFLyQ 81(*
&DUDFWHUtVWLFDVGHXQ³EXHQ´623

• Eficiente: determinado por el consumo de


recursos, en particular de CPU; hay que
estar consiente que es un proceso más.
• Fiable: se refiere a:
a) Robustez: responder de forma predecible a
condiciones de error, incluidos fallas en el
hardware.
b) Protegerse activamente a sí mismo y a los
usuarios de acciones accidentales o
malintencionadas.

6LVWHPDVGH2SHUDFLyQ 81(*
&DUDFWHUtVWLFDVGHXQ³EXHQ´623

• Extensible: tener la capacidad de adicionar


nuevas funcionalidades producto de la
aparición continua de nuevo hardware; en
lugar de hacer un nuevo SOP, se pretende
tener un sistema que pueda extenderse.

6LVWHPDVGH2SHUDFLyQ 81(*
1~FOHR

• Se suele llamar núcleo (NHUQHO) al software


del SOP que reside permanentemente en
memoria y que atiende las llamadas al
sistema y demás eventos básicos.
• Se distingue de los demás programas del
sistema porque estos últimos utilizan los
servicios del núcleo para funcionar.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

• La estructura interna, arquitectura u


organización de un SOP puede ser alguna
de las siguientes:
1) Sistema monolítico:
ƒ Es la arquitectura más simple para un SOP.
ƒ Es un núcleo compacto que contiene todas las
rutinas del SOP.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

• La estructura interna, arquitectura u


organización de un SOP puede ser alguna
de las siguientes:
1) Sistema monolítico:
ƒ Es la arquitectura más simple para un SOP.
ƒ Es un núcleo compacto que contiene todas las
rutinas del SOP.
ƒ Corresponde la primera generación de SOPs.
ƒ El modelo de obtención de servicios es la llamada a
procedimiento.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ Son difíciles de comprender ya que está todo


compactado ⇒ difícil de modificar y mantener.
ƒ No son fiables ⇒ la falla de algún módulo puede
provocar la “caída” del sistema (pantalla azul de
Windows, por ejemplo).

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

2) Sistema por capas:


ƒ El sistema se construye en niveles jerárquicos cada
uno de los cuales aprovecha los servicios del nivel
inferior.
ƒ Es más modular y escalable que el monolítico.
ƒ Cada capa del sistema consiste en la
implementación de un objeto abstracto (datos +
operaciones).

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ Uno de sus problemas es la sobrecarga de


comunicación entre las distintas capas.
ƒ Por lo general los sistemas se modelan de esta
forma pero no se construyen así.
ƒ Un ejemplo es el sistema THE con seis niveles:
• L5: programas.
• L4: buffering.
• L3: consola del operador.
• L2: gestión de memoria paginada.
• L1: planificación de procesos.
• L0: hardware.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ Ejemplo: MS-DOS

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ Ejemplo: UNIX

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ Ejemplo: OS/2

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

3) Máquinas virtuales:
ƒ Mediante software, se proporciona a los programas
la emulación de un hardware que no existe.
ƒ El software emulador convierte las peticiones
hechas a la máquina virtual en operaciones sobre la
máquina real.
ƒ Se pueden ejecutar varias máquinas virtuales al
mismo tiempo (por ejemplo mediante tiempo
compartido).
ƒ Los recursos reales se reparten entre las distintas
máquinas virtuales.
ƒ Sigue el enfoque de capas para su diseño.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ El SOP da la ilusión de múltiples procesos


ejecutándose en su propia CPU con su propia
memoria.
ƒ Dado el aislamiento de cada máquina virtual, la
compartición de recursos no es fácil.
ƒ Son difíciles de implementar a la perfección debido
a la complejidad de crear un duplicado exacto del
hardware.
ƒ Ejemplos: IBM VM (SOP que ofrecía a cada usuario
su propia máquina virtual monotarea), Java
(lenguaje de programación), VMWare (PC capaz de
ejecutar varias sesiones de SOPs diferentes),
Nachos (SOP que se ejecuta en una máquina
virtual MIPS cuyo emulador corre sobre UNIX).
6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

4) Modelo Cliente-Servidor:
ƒ El SOP consiste en un conjunto de módulos
autónomos que tiene a disposición del resto una
serie de servicios.
ƒ Un módulo se puede ver como un servidor de
servicios que atiende las peticiones de otros
módulos (clientes) y que a su vez, puede ser cliente
de otros módulos (servidores).
ƒ Es extensible.
ƒ El modelo jerárquico es un caso particular.
ƒ Propio de los sistemas distribuidos.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

5) Modelo Micronúcleo:
ƒ Idea: trasladar todos los componentes no
esenciales del núcleo implementándolos como
programas del sistema y de nivel de usuario.
ƒ Funciones básicas del micronúcleo:
i. Administración mínima de procesos.
ii. Administración de memoria a bajo nivel.
iii. Servicio de comunicaciones entre procesos.
ƒ El resto de las funciones son módulos Cliente-
Servidor.
ƒ Es fácil extender el sistema.
ƒ Se adapta a los usuarios → flexible.
ƒ Es portable entre plataformas de hardware.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ Si un servicio falla el resto del SOP permanece


intacto → fiabilidad.
ƒ Uno de los problemas es determinar el tamaño del
núcleo.
ƒ Otro problema es determinar dónde se deben
ejecutar las operaciones que no son del núcleo.

6LVWHPDVGH2SHUDFLyQ 81(*
(VWUXFWXUDGHXQ623

ƒ Ejemplo: Windows NTTM.

6LVWHPDVGH2SHUDFLyQ 81(*
'LVHxDUXQ623

• Definición de objetivos y especificaciones:


1) Hardware.
2) Tipo de procesamiento: lotes, tiempo
compartido, monousuario, multiusuario, etc.
3) Requisitos a cumplir: fácil de usar, seguro,
rápido, flexible, etc.
4) Definición de mecanismos y políticas:
ƒ Mecanismo: define cómo se realiza algo (ej: gestión
de interrupciones).
ƒ Política: define qué se debe realizar (ej: tiempo
compartido).

6LVWHPDVGH2SHUDFLyQ 81(*
'LVHxDUXQ623

• Lo más complicado de la programación de


un SOP son las pruebas. Lo más
conveniente es usar emulaciones.

6LVWHPDVGH2SHUDFLyQ 81(*