Subido por Luis Galan

clase 2-Estructura o arquitectura de los Sistemas Operativos

Anuncio
Estructura o arquitectura
de los Sistemas Operativos
Ing. Carlos Roberto Mejía
Objetivos
• Aprender acerca de los componentes que conforman un Sistema
Operativo.
• Conocer la estructura de los componentes de un Sistema Operativo
Estructura del sistema de computo.
• El S.O esta íntimamente relacionado a los dispositivos o mecanismo
de entrada y salida de la computadora.
• El S.O se encarga del buen funcionamiento de los diferentes
elementos del sistema de computo.
1.Operaciones del sistema de computo.
• Un sistema de computo esta compuesto de CPU, y varios
manejadores de dispositivos conectados mediante un bus
común, que proporciona acceso a la memoria compartida .
• Cada dispositivo esta administrado por un controlador.
• La CPU y los manejadores de dispositivos pueden operar
de manera concurrente compitiendo por ciclos de la
memoria, pero dicha memoria cuenta con un controlador
para sincronizar el acceso a la misma.
Sistema de computo moderno
CPU
Controlador
de impresora
Controlador
de disco
Controladores
de unidades
de cinta
Bus del sistema
Controlador de
memoria
memoria
Actividades del s.o
Para que la computadora inicie sus operaciones es necesario que
contenga:
• Programa de arranque inicial.
• Funciones: registro de la CPU, controladores, contenidos de la memoria,
cargar el kernel del sistema operativo en memoria, cargar el “init”
Dentro del funcionamiento del s.o. existen interrupciones generadas por el hardware
o generadas por el software, las primeras hacen peticiones de interrupción enviando
la señal al CPU, mientras que el software hace directamente la llamada al sistema.
Las interrupciones son una parte importante de la arquitectura de una computadora.
2. Estructura de entrada y salida
Los controladores tienen una función importante en los diferentes
dispositivos conectados en la computadora.
Interrupciones de E/S: para iniciar una operación de E/S la CPU
carga los registro apropiados dentro del manejador de
dispositivos. A su vez, el controlador examina los contenidos de
estos registros para determinar que acción tomar.
Por ejemplo, si encuentra una solicitud de lectura, el controlador
iniciará la transferencia de datos desde el dispositivo hasta su
buffer local; una vez que se competa la transferencia de datos, le
informa al CPU que ha terminado su operación.
• Estructura DMA: considera una unidad simple de entrada
por terminal.
Cuando se lee una línea desde la terminal, el primer carácter tecleado
se envía a la computadora. Cuando se recibe dicho carácter, el
dispositivo de comunicación asíncrona al cual esta conectada la línea
de la terminal, interrumpe al CPU. Cuando llega la solicitud de
interrupción desde la terminal, la CPU esta apunto de ejecutar alguna
instrucción (si la CPU se encuentra a la mitad de la ejecución de una
instrucción, la interrupción normalmente se mantiene pendiente en
espera de la ejecución de la instrucción). La dirección de esta
instrucción interrumpida se guarda y el control se transfiere a la rutina
de servicio de interrupción para el dispositivo apropiado.
3. Estructura de almacenamiento.
Los programas deben estar en la memoria principal o RAM para ser ejecutados. La
RAM es la única área grande de almacenamiento a la que el procesador puede
tener acceso directamente. Se implementa con una tecnología de semiconductores
llamada memoria dinámica de acceso aleatorio DRAM, que forma un arreglo de
“palabras” de memoria. Cada “palabra” tiene su propia dirección. La interacción se
logra mediante una secuencia de instrucciones load o store a direcciones
especificas de memoria.
La instrucción load, mueve una “palabra” desde la memoria principal a un registro
interno dentro de la CPU, en tanto el store, mueve el contenido de un registro a la
memoria principal.
Aparte de las cargas (load) y almacenamientos (store) explícitos, la CPU carga en
automático instrucciones desde la memoria principal para su ejecución.
La mayoría de los sistemas de computo proporcionan un
almacenamiento secundario como una extensión de la memoria
principal. El requerimiento fundamental para el almacenamiento
secundario es que sea capaz de retener grandes cantidades de
datos de manera permanente.
El dispositivo de almacenamiento secundario mas común es el
disco magnético. Aunque hoy en día han surgido alternativas de
almacenamiento secundario muy importantes.
La memoria principal: la memoria principal y los registros
incorporados en el procesador son los únicos medios de
almacenamiento a los que la CPU puede tener acceso de manera
directa.
4. Jerarquía de
almacenamiento
Jerarquía de los dispositivos de
almacenamiento
Almacenamiento caché:
• El almacenamiento en cache es un principio importante en los
sistemas de computo.
• La información se mantiene normalmente en algún sistema de
almacenamiento como en la memoria principal.
• A medida que se utiliza, se copia en un sistema de
almacenamiento mas rápido la caché bajo una base temporal.
Cuando se necesita una pieza particular de información,
primero se verifica si está en la caché . Si se encuentra, se usa
la información de este lugar; si no es así, se utiliza la localizada
en el sistema de almacenamiento principal, colocando una
copia en la caché bajo la suposición de que existe una alta
probabilidad de que volverá a necesitarse.
Estructura del sistema operativo.
• Un Sistema Operativo está formado por tres capas: el núcleo
(core), los servicios y el intérprete de mandatos o Shell.
• El núcleo, es la parte del sistema operativo que interacciona
directamente con el hardware de la máquina.
• Las funciones del núcleo se centran en la gestión de recursos,
como el procesador, tratamiento de interrupciones y las funciones
básicas de manipulación de memoria.
Ejemplo de distribución de un S.O.
<
Todos los componentes ofrecen una serie de servicios a través
de una interfaz llamada sistema; pueden incluir más de una
interfaz de servicios.
Los programas podrán elegir sobre cual quieren ejecutarse, sin
embargo, no podrán mezclar servicios de varias interfaces. En
este caso, el sistema operativo presenta al usuario varias
máquinas virtuales. También puede incluir intérpretes de
mandatos, unos textuales y otros gráficos.
Estructura de los sistemas operativos
Un sistema operativo es un programa grande y complejo que
está compuesto, por una serie de componentes con
funciones bien definidas.
Cada sistema operativo estructura estos componentes de
distinta forma y, en función de esta estructura se clasifican en
2 grupos: Los monolíticos y los estructurados.
Sistemas Monolíticos
• Son una colección de procedimientos que se pueden llamar
entre sí, cada procedimiento tiene una interfaz bien definida
en términos de parámetros y resultados.
• Está compuesto por un grupo de estructuras fijas. Existen
módulos grandes en el kernell, los cuales interactúan entre
sí para poder tener una estructura, y las diferentes partes
son compiladas por capas.
• Se encarga de la comunicación entre procesos, la
planificación y la gestión del espacio de direcciones.
Sistemas Estructurados
En este caso, se utilizan dos tipos de soluciones: sistemas por
capas y sistemas cliente-servidor.
a) Sistemas por capas
Están organizados en forma jerárquica de capas, cada una está
compuesta por una interfaz clara y bien definida a la capa
superior y solamente utiliza los servicios que le ofrece la capa
inferior.
La principal ventaja es la modularidad y la ocultación de la
información. Una capa no necesita conocer como se ha
implementado la capa sobre la que se construye, únicamente
necesita conocer la interfaz que ofrece.
Con esto, se hace más fácil depurar y verificar el sistema, ya que
las capas se pueden ir construyendo y depurando por separado.
• A continuación, se listan las capas de las que se componen
la estructura del Sistema Operativo:
• Capa 0: Asignación del procesador y multiprogramación.
• Capa 1: Administración de los recursos del sistema.
• Capa 2: Comunicación operador-proceso.
• Capa 3: Control E/S.
• Capa 4: Programas de usuario.
• Capa 5: El operador.
b) Modelo cliente-servidor
• El enfoque consiste en implementar la mayor parte de los
servicios y funciones del sistema operativo en procesos de
usuario, dejando solo una pequeña parte del sistema operativo
ejecutando en modo núcleo. A esta parte se le denomina micro
núcleo y a los procesos que ejecutan el resto de funciones se
les denomina servidores.
• La ventaja de este modelo es la flexibilidad que presenta.
Cada
proceso servidor sólo ocupa de una funcionalidad
concreta, lo que hace que cada parte pueda ser pequeña y a su
vez facilita el desarrollo y depuración de cada uno de los
procesos.
Descargar