estructura de los sistemas operativos
TRANSCRIPT
Conocer la estructura queconforma un sistemaoperativo y la forma enque se desempeña
En la parte inferior está el hardware que, en muchos casos, también secompone de dos o más capas. La capa más baja contiene losdispositivos físicos, que consisten en chips de circuitos integrados,alambres, fuentes de potencia, tubos de rayos catódicos y otrosaparatos físicos similares. La forma en que éstos se construyen y susprincipios de funcionamiento pertenecen al campo del ingenieroelectrónico
A continuación (en algunas máquinas) viene una capa de
software primitivo que controla directamente estos dispositivos y
ofrece una interfaz más limpia a la siguiente capa. Este software,
llamado microprograma, suele estar almacenado en memoria de sólo
lectura.
Lenguaje de máquina es el sistema de códigos directamente interpretable
por un circuito micro programable, como el microprocesador de una
computadora o el micro controlador de un autómata (un PLC) . Este lenguaje
está compuesto por un conjunto de instrucciones que determinan acciones a
ser tomadas por la máquina. Un programa de computadora consiste en una
cadena de estas instrucciones de lenguaje de máquina (más los datos).
Núcleo o Kernel.
Administrador de memoria.
Sistema de entrada/salida.
Administrador de archivos.
Interprete de Comandos (Shell)
Es el módulo de más bajo
nivel de un sistema
operativo, pues descansa
directamente sobre el
hardware de la
computadora. Entre las
tareas que desempeña se
incluyen el manejo de las
interrupciones, la
asignación de trabajo al
procesador y el
proporcionar una vía de
comunicación entre los
distintos programas.
Este módulo se encarga
de asignar ciertas
porciones de la memoria
principal (RAM) a los
diferentes programas o
partes de los programas
que la necesiten, mientras
el resto de los datos y los
programas se mantienen
en los dispositivos de
almacenamiento masivo.
Este componente presenta
al usuario la E/S de datos
como una cuestión
independiente del
dispositivo; es decir, para
los usuarios, todos los
dispositivos tienen las
mismas características y
son tratados de la misma
forma, siendo el sistema
operativo el encargado de
atender las particularidades
de cada uno de ellos (como
su velocidad de operación).
Se encarga de mantenerla estructura de los datosy los programas delsistema y de losdiferentes usuarios (quese mantienen enarchivos) y de asegurar eluso eficiente de losmedios dealmacenamiento masivo.
Es un programa informático quetiene la capacidad de traducirlas órdenes que introducen losusuarios, mediante un conjuntode instrucciones facilitadas porél mismo, directamente alnúcleo y al conjunto deherramientas que forman elsistema operativo. Las órdenesse introducen siguiendo lasintaxis incorporada por dichointérprete
Llamadas al Sistema◦ Procesos
◦ Archivos
Permiten a los programas comunicarse con el S. O. y solicitarle servicios.
A cada llamada le corresponde un procedimiento.
Los programas siempre deben revisar los resultados de una llamada al
sistema para ver si ocurrió un error.
Tipos de llamadas al Sistema :◦ Para administración de procesos
◦ Para Señales
◦ Para Administración de Archivos
◦ Para Administración de Directorios
◦ Para Protección
◦ Administración del Tiempo
Es el concepto central de todos los S. O.
Es básicamente un programa en ejecución.
Consta del programa ejecutable, sus datos y pila,
contador y otros registros, además de la
información necesaria para ejecutar el programa.
La información de control relacionada con los
procesos se almacena en la tabla de procesos:
◦ Es administrada por el S. O.
◦ Posee un arreglo de estructuras, una por cada
proceso existente en ese momento.
Un proceso (suspendido) consta de:
◦ Un espacio de dirección.
◦ Los datos pertinentes de la tabla de procesos.
Un proceso puede crear procesos hijo y estos
nuevos procesos hijo pueden a su ves crear mas
procesos, conformando un árbol de procesos.
Una de las funciones principales del S. O. es brindar independencia de
dispositivo.
Muchos S. O. soportan el concepto de directorio como una forma de
agrupar archivos.
Los directorios se estructuran jerárquicamente, por lo que a cada archivo le
corresponde una ruta de acceso.
Existen distintos esquemas de seguridad de archivos en los distintos S. O.
Sistemas monolíticos
Los sistemas por Capas
Las maquinas virtuales
Los Sistemas Cliente Servidor
Sistemas monolíticos:
Es muy común: no
existe estructura
propiamente dicha o es
mínima.
El S. O. es una
colección de
procedimientos que se
pueden llamar entre sí
Cada procedimiento tiene una interfaz biendefinida en términos de parámetros yresultados.
Para ejecutar los servicios del S. O. (llamadas alsistema)
Sistemas con capas:
Es una generalización del modelode estructura simple para unsistema monolítico.
Consiste en organizar el s. o.como una jerarquía de capas,cada una construida sobre lainmediata inferior.
5 - Operador
4 - Programas del Usuario
3 - Control de Entrada - Salida
2 - Comunicaciones Operador - Proceso
1 - Administración de la Memoria y del Disco
0 - Asignación del Procesador y
Multiprogramación
Tabla 1.1: Estructura del S.O. en capas
"THE".
Capa 0:
◦ Trabaja con la asignación del procesador.
◦ Alterna entre los procesos cuando ocurren las interrupciones o expiran
los cronómetros.
◦ Proporciona la multiprogramación básica.
Capa 1:
◦ Administra la memoria.
◦ Asegura que las páginas (porciones de memoria) requeridas de los
procesos lleguen a memoria cuando fueran necesarias.
Capa 2:
◦ Administra la comunicación entre cada proceso y la consola del
operador.
◦ Por sobre esta capa, cada proceso tiene su propia consola de operador.
Capa 3:
◦ Controla los dispositivos de e / s y almacena en buffers los flujos de
información entre ellos.
◦ Por sobre la capa 3 cada proceso puede trabajar con dispositivos
abstractos de e / s en vez de con dispositivos reales.
Capa 4:
◦ Aloja los programas del usuario.
◦ Los programas. del usuario no tienen que preocuparse por el proceso,
memoria, consola o control de e / s.
Capa 5:
◦ Localiza el proceso operador del sistema.
Máquinas virtuales:
Se separan totalmente las funciones de multiprogramación y de máquina extendida.
Existe un elemento central llamado monitor de la máquina virtual que:
Se ejecuta en el hardware.
Realiza la multiprogramación.
Proporciona varias máquinas virtuales a la
capa superior.
Las máquinas virtuales instrumentan copias
“exactas” del hardware simple, con su modo
núcleo / usuario, e / s, interrupciones y todo
lo demás que posee una máquina real.
Pueden ejecutar cualquier S. O. que se
ejecute en forma directa sobre el hardware.
Las distintas máquinas virtuales pueden
ejecutar distintos S. O. y en general así lo
hacen.Soportan periféricos virtuales.
Modelo cliente - servidor:
Una tendencia en los S. O.
modernos es la de explotar
la idea de mover el código
a capas superiores y
mantener un núcleo
mínimo
Implantar la mayoría de las
funciones del S. O. en los
procesos del usuario.
El proceso del usuario (procesocliente) envía la solicitud a unproceso servidor:
Realiza el trabajo y regresa larespuesta.
El núcleo controla la comunicaciónentre los clientes y los servidores.
Se fracciona el S. O. en partes,cada una controlando una faceta:
◦ Servicio a archivos, a procesos,a terminales, a memoria, etc.,cada parte pequeña y másfácilmente controlable.
◦ Los servidores se ejecutan comoprocesos en modo usuario:
◦ No tienen acceso directo alhardware.
◦ Se aíslan y acotan másfácilmente los problemas.
◦ Se adapta para su uso en lossistemas distribuidos
Si un cliente se comunica con un servidor mediante mensajes:
◦ No necesita saber si el mensaje se atiende localmente o mediante un
servidor remoto, situado en otra máquina conectada.
◦ Envía una solicitud y obtiene una respuesta.
◦ Algunas funciones del S. O., por ej. el cargado de comandos en los
registros físicos del dispositivo de e / s, presentan problemas especiales
y distintas soluciones:
◦ Ejecución en modo núcleo, con acceso total al hardware y comunicación
con los demás procesos mediante el mecanismo normal de mensajes.
◦ Construcción de un mínimo de mecanismos dentro del núcleo
manteniendo las decisiones de política relativas a los usuarios dentro
del espacio del usuario.