Publicado el 16 de Junio del 2020
1.194 visualizaciones desde el 16 de Junio del 2020
172,0 KB
34 paginas
Creado hace 11a (18/03/2014)
Sistemas Operativos
Estructura de los sistemas
Curso 2014
operativos
Agenda
Componentes de un sistema operativo.
Servicios del sistema operativo (system services).
Llamados a sistema (system calls).
Estructura del sistema.
Máquinas virtuales
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 2/34
Componentes del sistema operativo
Por su complejidad un sistema operativo debe ser, en su diseño,
modularizado en varios componentes:
– Administración de procesos.
– Administración de memoria.
– Subsistema de Entrada/Salida.
– Administración de almacenamiento secundario.
– Subsistema de archivos.
– Subsistema de red.
– Sistema de protección.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 3/34
Administración de procesos: Proceso
Un programa en la memoria + CPU + acceso a dispositivos + recursos
Un programa es una entidad pasiva, mientras que un proceso es una
constituyen un proceso.
entidad activa.
Cada proceso cuenta con un contador de programa (PC program counter)
que determina la próxima instrucción de código a ejecutar.
El proceso necesita de ciertos recursos (CPU, memoria, archivos, y
dispositivos de E/S) para realizar su tarea.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 4/34
Administración de procesos
El sistema albergará muchos procesos compitiendo por los recursos y será
el responsable de proveer de medios o servicios para que realicen su tarea:
– Crear y destruir procesos.
– Suspensión y reanudación de procesos.
– Proveer mecanismos para la cooperación (sincronización) y comunicación entre
– Proveer mecanismos para prever la generación de dead-locks o lograr salir de
los procesos.
ellos.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 5/34
Administración de memoria
La memoria principal es un arreglo de palabras o bytes.
Es un repositorio de datos de rápido acceso compartido por los CPUs y los
dispositivos.
La memoria es un área de almacenamiento común a los procesadores y
dispositivos del sistema dónde se almacenan programas, para su
ejecución, y datos.
La vinculación de las direcciones de los programas a direcciones de
memoria es fuertemente dependiente del hardware igual que la posibilidad
de reubicación.
El sistema deberá administrar el lugar libre y ocupado, decidir que proceso
podrá comenzar cuándo es cargado en memoria.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 6/34
Administración de memoria
Para lograr la multiprogramación es necesario mantener varios programas
Existen varios esquemas para la administración de la memoria y requieren
en memoria al mismo tiempo.
distinto soporte del hardware.
El sistema operativo es responsable de las siguientes tareas:
– Mantener que partes de la memoria están siendo utilizadas y por quién.
– Decidir cuales procesos serán cargados a memoria cuando exista espacio de
memoria disponible.
– Asignar y quitar espacio de memoria según sea necesario.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 7/34
Subsistema de entrada/salida
El sistema operativo deberá encapsular y ocultar las características
específicas de los diferentes dispositivos de almacenamiento y ofrecer
servicios comunes para todos los medios de almacenamiento.
Para ello proveerá de:
– Un conjunto de servicios que provean la interfase con el subsistema e
implementen técnicas de cache, buffering y spooling.
– Una interfase cliente con el sistema operativo para los manejadores de
dispositivos o device drivers que permitirá interactuar (mediante cargas
dinámicas o no) con cualquier modelo de dispositivo.
– Device drivers específicos.
– Montaje y desmontaje (Mount/Dismount) de dispositivo.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 8/34
Administración de almacenamiento secundario
La memoria principal es volátil y demasiado pequeña para guardar todos
los datos y programas que son necesarios para el funcionamiento del
sistema.
La mayoría de los sistemas actuales utilizan discos como principal medio
para guardar toda la información.
El sistema operativo es responsable de las siguientes actividades en
administración de almacenamiento secundario:
– Administrar el espacio libre.
– Asignación del lugar de la información.
– Algoritmos de planificación de disco.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 9/34
Subsistema de archivos
Proporciona una vista uniforme de todas las formas de almacenamiento en
los diferentes dispositivos implementando el concepto de archivo como una
colección arbitraria de bytes u otras clases o organizaciones más
sofisticadas.
Implementará los métodos de:
– Abrir, cerrar, extender archivos
– Leer, escribir archivos
– Crear y borrar directorios
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 10/34
Red
En un sistema distribuido (no se comparten físicamente memoria ni
dispositivos) los conjuntos de procesos interactúan a través de un canal de
comunicación en el contexto de una red de comunicación.
En general se generaliza el concepto de dispositivo virtual implementando
un manejador (driver) que encapsula el acceso a dispositivos remotos.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 11/34
Sistema de protección
En un sistema multiusuario donde se ejecutan procesos en forma
concurrente se deben tomar medidas que garanticen la ausencia de
interferencia entre ellos.
Por protección nos referimos a los mecanismos por los que se controla al
acceso de los procesos a los recursos.
El mecanismo debe incorporar la posibilidad de definir reglas de acceso y
asegurar su verificación en toda ocasión que corresponda.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 12/34
Servicios del SO
El sistema brindará un entorno de ejecución de programas dónde se
dispondrá de un conjunto de servicios que serán accesible mediante una
interfase bien definida.
Servicios básicos que debe brindar un sistema operativo:
– Ejecución de programas.
– Operaciones de Entrada/Salida.
– Manipulación de sistemas de archivos.
– Comunicación entre procesos.
– Manipulación de errores (excepciones).
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 13/34
Ejecución de programas
El sistema debe ser capaz de cargar un programa a memoria y ejecutarlo.
El programa deberá poder en algún momento finalizar su ejecución, ya sea
de forma normal o anormal (indicando un error).
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 14/34
Operaciones de entrada/salida
Un programa en ejecución necesitará de operaciones de Entrada/Salida
para acceder a un archivo o dispositivo.
Por eficiencia y protección los usuarios no accederán directamente al
dispositivo.
El sistema deberá proveer un mecanismo de acceso.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 15/34
Manipulación del sistema de archivos
Se deberá proveer acceso al sistema de archivos.
Las operaciones mínimas serán:
– Crear, borrar, leer, escribir, abrir, cerrar
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 16/34
Comunicación entre procesos
Es deseable que los procesos puedan comunicarse.
Se deberá proveer mecanismos de comunicación entre ellos ya sea que
estén en el mismo computador (a través de memoria compartida), o en
diferentes computadores (a través de transferencias de paquetes de red
entre los sistemas operativos involucrados).
También debe permitir la sincronización de procesos que trabajan en
conjunto.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 17/34
Detección de errores
El sistema deberá tomar decisiones adecuadas ante eventuales errores
que ocurran y proveer una interfaz para manejarlos.
Ejemplos:
– Fallo en un dispositivo de memoria.
– Fallo en la fuente de energía.
– Fallo en un programa.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 18/34
Servicios del SO
Otros servicios de propósito general que deberá brindar el sistema
operativo son:
– Asignación de recursos.
– Contabilización.
– Protección, manejo de usuarios y permisos.
Una vez que están definidos los servicios que brindará el sistema operativo,
se puede empezar a desarrollar la estructura del sistema.
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 19/34
Llamados al sistema
Los llamados al sistema (system calls) son una interfaz, provista por el
núcleo, para que los procesos de usuarios accedan a los diferentes
servicios que brinda el sistema operativo.
Al principio los system calls estaban desarrollados en lenguaje de la
arquitectura de la máquina.
En los sistemas modernos están programados en lenguajes de
programación de alto nivel como C o C++.
Los servicios son invocados por los procesos en modo usuario, cuando
ejecutan lo hacen en modo monitor, y al retornar vuelven al modo usuario.
Típicamente a los system calls se les asocia un número que los identifica
(en Linux son aproximadamente 350).
Sistemas Operativos | Curso 2014 | Estructura de los sistemas operativos 20/34
Llamados al sistema
La llamada a un system call incluye las siguientes tareas:
– Cargar los parámetros en el lugar adecuado (stack o registros).
– Cargar el número de system call en algún registro específico (Ej: eax en Intel).
– Invocar a la interrupción por software (trap) adecuada (system call handler).
– El hardware cambia el bit de modo a monitor e invoca al manejador de la
interrupción que controla que el número de system call pasa
Comentarios de: Sistemas Operativos (0)
No hay comentarios