Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
Capítulo I: Generalidades
Capítulo II: Introducción al S.O.
Linux
Capítulo III: Gestión de Procesos
Almacenamiento
Capítulo V: Sistema Operativo Linux
Capítulo I: Generalidades
Introducción
Estructuras de los
sistemas de computación
Introducción
Capítulo I: Introducción
Un sistema operativo es un programa que
actúa como intermediario entre el usuario de
un computador y el hardware de éste.
El propósito es crear un entorno en el que el
usuario pueda ejecutar sus programas
Objetivo:
Primario: hacer al sistema de computador
cómodo de usar
Secundario: utilizar el hardware de
computador de forma eficiente
Capítulo I: Introducción
¿Qué es un Sistema Operativo?
• Es una parte importante de todos los sistemas
de computación
• Hardware proporciona los recursos,
Programas de aplicación definen las formas
en que dichos recursos se utilizan
• Coordinar y controlar, similar a un gobierno
• Asignador de recursos
• Solicitud de recursos simultáneamente o no
• Programa de control
• Es más fácil definir por lo que hacen que por lo
que son. Objetivos principal y secundario
Capítulo I: Introducción
Sistemas por lotes sencillos
• Los primeros computadores eran máquinas enormes
• Los usuarios no interactuaban directamente con los
computadores
• Los programas se agrupaban en lotes
• Característica definitiva: falta de interacción
• Tiempo de retorno depende del volumen de
cómputo
• El procesador con frecuencia está ocioso
• Spooling tabla mantenida por el sistema
operativo
Capítulo I: Introducción
Sistemas por lotes multiprogramados
• Spooling Reserva de trabajos
• El CPU puede escoger cuál trabajo realizará
• Planificación de trabajos capacidad de
multiprogramar
• Un solo usuario no puede mantener ni la CPU ni
los dispositivos de E/S ocupados todo el tiempo
• Multiprogramación el sistema operativo debe
tomar decisiones por los usuarios
• Planificación de trabajos vs Planificación del CPU
Capítulo I: Introducción
Sistemas de tiempo compartido
• El usuario no interactúa, debe preparar el trabajo
de manera que maneje todos los resultados
posibles
• Tiempo compartido multitareas
• Interacción del usuario
• Sistemas por lotes ejecutan grandes trabajos que
no necesitan interacción
• Sistemas de tiempo compartido se crearon para
brindar el uso interactivo cuando se requiere un
tiempo de respuesta corto
• Permite a múltiples usuarios compartir el
computador simultáneamente
• Implementar Memoria virtual
Capítulo I: Introducción
Sistemas de computador personal
• Computadores personales
• Las primeras no eran multiusuario ni
multitareas
• Algunas decisiones de diseño que se
tomaron para las macrocomputadoras
podrían no ser apropiadas para sistemas
pequeños
• Protección de archivos puede ser necesaria
Capítulo I: Introducción
Sistemas Paralelos
• Sistemas anteriores monoprocesadores,
tendencia actual hacia multiprocesadores
• Comparten recursos: bus, reloj, memoria, etc
• Aumentan el rendimiento
• Ahorran dinero, compartir periféricos
• Mejoran la confiabilidad, degradación gradual,
tolerante a fallos
• Multiprocesamiento:
Simétrico cada procesador ejecuta una copia del
S.O., puede darse que uno está ocioso y otros
sobrecargado
Asimétrico a cada procesador se asigna una tarea,
relación maestro-esclavo
Capítulo I: Introducción
Sistemas distribuidos
• Tendencia en los sistemas es distribuir el
cómputo entre varios procesadores
• No comparten algunos recursos
• Los procesadores reciben el nombre de sitios,
nodos, etc.
• Razones para construir sistemas distribuidos:
Recursos compartidos
Computación más rápida
Confiabilidad
Comunicación
Capítulo I: Introducción
Sistemas de Tiempo Real
• Sistemas que controlan experimentos científicos,
producen imágenes médicas, los de control industrial
• El procesamiento debe efectuarse dentro de los
intervalos definidos o el sistema fallará
• Casi nunca tienen memoria virtual
• Dos tipos:
Tiempo real duro
• Garantiza que las tareas críticas se terminen a tiempo
• Los retardos del sistema estén limitados
Tiempo real blando
• No apoyan el cumplimiento estricto de plazos
• Es riesgoso utilizarlos en control industrial pero existen otras
áreas como realidad virtual, multimedia
Capítulo I: Generalidades
Estructura de los
Sistemas de Computación
Capítulo I: Estructura Sist.Comput.
Funcionamiento de los sistemas de computación
• Un sistema de computación de propósito general consiste en una
CPU y varios controladores de dispositivos conectados por un
bus común
• Programa de arranque
• Se ejecuta el primer proceso y espera a que ocurra algún suceso
• Se presentan interrupciones (Hardware bus del
sistema/Software llamada al sistema)
• Vector de interrupciones
• Existe una rutina de servicio
• Las interrupciones tienen prioridades, una de mayor prioridad se
acepta aunque esté activa una de menor prioridad
• De ser necesario para atender una interrupción se deben
guardar y respaldar toda la información de lo que se estuvo
haciendo el momento que se presentó la interrupción
• Las interrupciones se desactivan y luego se activan, para evitar
interrupciones perdidas
• Si no hay procesos que ejecutar, dispositivos que atender,
usuarios a los cuales responder, el SO espera a que suceda algo.
Capítulo I: Estructura Sist.Comput.
Estructura de E/S
• Cada controlador de dispositivo se encarga de
un tipo específico de dispositivo
• Un controlador mantiene un buffer local y un
conjunto de registros. El controlador se
encarga de transferir los datos entre los
dispositivos periféricos que controla y su buffer
local
• Interrupciones de E/S
• Estructura de DMA
Capítulo I: Estructura Sist.Comput.
Estructura de E/S
• Interrupciones de E/S
Para iniciar una operación de E/S, la CPU carga los
registros apropiados dentro del controlador del dispositivo
El controlador examina el contenido de estos registros para
determinar qué acción debe realizar
Cuando ha terminado de hacer esto, se notifica al CPU que
se ha completado la operación a través de una interrupción
Una vez iniciada la E/S hay dos posibles cursos de acción:
• Sincrónica se devuelve el control una vez finalizada
• Asincrónica devuelve el control sin esperar que complete
Tabla de estados de dispositivos
Si existen varias solicitudes de los dispositivos se forma
una cola para cada dispositivo
Ventaja de la E/S asincrónica eficiencia del sistema
Capítulo I: Estructura Sist.Comput.
Estructura de E/S
• Estructura de DMA
Acceso Directo a la Memoria
Cuando existe mucha transferencia de información,
no se dejaría mucho tiempo para la ejecución de los
procesos
Se aplica a dispositivos de E/S de alta velocidad y con
transferencias de datos grandes
El controlador del dispositivo transfiere un bloque
completo de datos directamente de su propio buffer a
la memoria o viceversa, sin intervención de la CPU
Se genera una interrupción por cada bloque y no por
cada byte o palabra generada
Mientras el controlador está realizando la
transferencia de datos, la CPU queda libre para
efectuar otras tareas
Capítulo I: Estructura Sist.Comput.
Estructura de almacenamiento
• Los programas deben estar en memoria principal para
ejecutarse
• La memoria principal es la única área a la que el
procesador puede acceder directamente
• Cada dato o palabra tienen su propia dirección
• Instrucciones
Cargar de la memoria a un registro interno de la CPU
Almacenar de un registro de la CPU a la memoria
• Ideal que los programas y datos residan en memoria
principal
La memoria principal es demasiado pequeña
La memoria principal es almacenamiento volátil
• Las diferencias entre los diversos sistemas de
almacenamiento radican en la velocidad, costo, tamaño y
volatilidad
Capítulo I: Estructura Sist.Comput.
Estructura de almacenamiento
• Memoria principal
Es el único almacenamiento al que la CPU
puede acceder directamente
Si los datos no están en memoria, deberán
Estructura
• Tasa de transferencia
• Tiempo de posicionado: tiempo de búsqueda + latencia
rotacional
Accidentes
• Aterrizaje de la cabeza
Clases
Jerarquías de almacenamiento
caché
• Se puede organizar una
jerarquía según la velocidad memoria principal
y el costo y además la
volatilidad disco electrónico
disco magnético
disco óptico
cintas magnéticas
Capítulo I: Estructura Sist.Comput.
Jerarquías de almacenamiento
• Uso de cachés
La información se guarda en algún sistema de
almacenamiento, a medida que se usa se copia en un
sistema de almacenamiento rápido
Cuando se necesita ese dato primero se comprueba si existe
almacenada en caché.
• SI se utiliza de ese almacenamiento
• NO se lee de memoria principal y se guarda una copia en
caché
El programador debe decidir cuál información debe
mantenerse en registros y cuál en memoria principal
Sin este caché la CPU tendría que esperar varios ciclos
mientras se trae una instrucción de la memoria principal
La gestión de caché es un problema de diseño importante:
tamaño, política de reemplazo
La memoria principal se puede considerar como un caché
rápido para la memoria secundaria. Los registros internos
funcionan como caché de la memoria principal
Capítulo I: Estructura Sist.Comput.
Jerarquías de almacenamiento
• Coherencia y consistencia
En una estructura de almacenamiento jerárquica
cabe la posibilidad de que un dato aparezca en
niveles diferentes
En entornos en los que se ejecuta un solo proceso
esto no es un problema ya que el acceso al dato
siempre será la copia en el nivel más alto
En una situación multiprocesador podría haber una
copia en varios cachés. Es preciso asegurar que una
actualización en un caché se refleje de inmediato en
todos los demás cachés coherencia de cachés
En un entorno distribuido la situación se vuelve más
compleja
Capítulo I: Estructura Sist.Comput.
Protección por hardware
• Los primeros sistemas eran monousuarios
• Para mejorar el aprovechamiento del computador se
comenzó a compartir recursos
• Cuando se ejecutaba sin compartir, un error solo podía
causar problemas al programa que se estaba ejecutando
• En un sistema multiprogramado esto es más crítico. Un
SO bien diseñado debe asegurar que un programa
incorrecto no pueda hacer que otros programas se
ejecuten incorrectamente
• Siempre que ocurre un error de programa, el SO debe
terminar el programa de forma anormal
• Se han implementado cuatros mecanismos de
protección por hardware
Capítulo I: Estructura Sist.Comput
Protección por hardware
• Operación en modo dual
Proteger el sistema operativo y todos los demás
programas y sus datos de cualquier programa que
esté funcionando mal
Dos modos de ejecución: Modo de usuario y Modo de
monitor
Existe un bit de modo que indica en qué modo está
operando el sistema: monitor (0) o usuario (1)
Cada vez que ocurre una trampa o una interrupción,
el hardware pasa del modo de usuario al de modo
monitor. Luego el sistema cambia al modo de usuario
antes de transferir el control a un programa de
usuario
Existen instrucciones privilegiadas, se ejecutan solo
en modo monitor
Capítulo I: Estructura Sist.Comput
Protección por hardware
• Protección de E/S
Un programa de usuario puede perturbar el
funcionamiento normal del sistema
emitiendo instrucciones de E/S no válidas
Definir todas las instrucciones de E/S como
privilegiadas
Los usuarios no pueden emitir instrucciones
Estructura del
Sistema Operativo
Capítulo I: Estructura Sist.Operativ.
Existen varias perspectivas desde las
que se puede considerar un sistema
operativo:
• Examinar los servicios
• Interfaz que ofrece a usuarios y
programadores
• Desglosar sus componentes
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Se puede crear un sistema tan grande y
complejo solo si se lo divide en
porciones más pequeñas
• Cada una de estas partes deberá ser un
componente bien delineado del sistema,
con entradas, salidas y funciones
cuidadosamente definidas
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Gestión de procesos
• Gestión de la memoria principal
• Gestión de archivos
• Gestión del sistema de E/S
• Gestión de almacenamiento secundario
• Trabajo con redes
• Sistema de protección
• Sistema de interpretación de órdenes
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Gestión de procesos
Un programa no puede hacer nada si la CPU no
ejecuta sus instrucciones
Proceso programa en ejecución, entidad activa,
unidad de trabajo de un sistema
Programa por si solo no es un proceso, un programa
es una entidad pasiva
El SO se encarga de:
• Crear y eliminar procesos tanto de usuario como del
sistema
• Suspender y reanudar procesos
• Proveer mecanismos para la sincronización de procesos
• Proveer mecanismos para la comunicación entre
procesos
• Proveer mecanismos para manejar bloqueos mutuos
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Gestión de la memoria principal
La memoria principal es una matriz grande de
palabras. Cada palabra tiene su propia dirección
Para ejecutar un programa es preciso cargarlo en la
memoria y transformar sus direcciones relativas en
absolutas
El SO se encarga de:
• Saber cuáles partes de la memoria se están usando
actualmente y quién las está usando
• Decidir cuáles procesos se cargarán en la memoria
cuando se disponga de espacio
• Asignar y liberar espacio de memoria según se necesite
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Gestión de archivos
Es uno de los componentes más visibles de un sistema
operativo
Abstrae las propiedades físicas de sus dispositivos de
almacenamiento para definir una unidad de almacenamiento
lógica: archivo
Establece la correspondencia entre los archivos y los medios
físicos y accede a los archivos a través de los dispositivos de
almacenamiento
El SO se encarga de:
• Crear y eliminar archivos
• Crear y eliminar directorios
• Proveer primitivas para manipulación de archivos y directorios
• Establecer correspondencia de los archivos con el
almacenamiento secundario
• Resguardar los archivos en medios de almacenamiento estables
(no volátiles)
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Gestión del sistema de E/S
Ocultar las peculiaridades de los dispositivos de
hardware específicos de modo que el usuario no las
perciba
Solo el driver del dispositivo conoce las peculiaridades
del dispositivo específico al que está asignado
El SO se encarga de:
• Un componente de gestión de memoria que incluye el
uso de buffers, cachés, spool
• Una interfaz general con los controladores de
dispositivos
• Drivers (controladores en software) para dispositivos de
hardware específicos
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Gestión de almacenamiento secundario
Los programas junto con los datos a los que acceden
deben estar alojados en la memoria principal durante
la ejecución
El sistema debe contar con algún almacenamiento
secundario para respaldar la memoria principal
El almacenamiento secundario se usa con mucha
frecuencia, así que su uso debe ser eficiente
El SO se encarga de:
• Administrar el espacio libre
• Asignación del almacenamiento
• Planificación del disco
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Trabajo con redes
Los procesadores del sistema se conectan
por medio de una red de comunicaciones que
puede configurarse de varias maneras
distintas
Un sistema distribuido reúne sistemas
físicamente separados y posiblemente
heterogéneos en un solo sistema coherente y
proporciona al usuario acceso a los diversos
recursos que mantiene.
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Sistema de protección
Incluir mecanismos para asegurar que sólo aquellos
procesos que hayan obtenido la autorización debida
del sistema operativo puedan operar con los
archivos, segmentos de memoria, procesadores y
demás recursos
El término protección se refiere a un mecanismo para
controlar el acceso de programas, procesos o
usuarios a los recursos definidos por un sistema de
computador
La detección temprana de errores de interfaz a
menudo puede evitar la contaminación de un
subsistema saludable por un subsistema que está
fallando.
Capítulo I: Estructura Sist.Operativ.
Componentes del sistema
• Sistema de interpretación de órdenes
Uno de los programas del sistema más
importantes es el intérprete de órdenes que
es la interfaz entre el usuario y el sistema
operativo
La función de un shell es muy sencilla:
Información de estado
Modificación de archivos
Comunicaciones
• Trabajo de investigación
Capítulo I: Estructura Sist.Operativ.
Diseño e implementación de
sistemas
• Objetivos del diseño
• Mecanismos y políticas
• Implementación
Capítulo I: Estructura Sist.Operativ.
Diseño e implementación de sistemas
• Objetivos del diseño
El primer problema que se presenta es la definición
de sus objetivos y especificaciones
Metas del usuario y metas del sistema
Ingeniería del software
• Mecanismos y políticas
Un principio importante es la separación de política y
mecanismo para la flexibilidad
Política deciden qué se hará
Mecanismo determinan cómo se hace algo
• Implementación
Una vez diseñado es necesario implementarlo
Se escriben en lenguajes de programación
Capítulo I: Estructura Sist.Operativ.
Generación de sistemas
• Se diseñan, codifican e implementan
sistemas operativos que se ejecuten en
cualquier máquina con diferentes
configuraciones de periféricos
• Es necesario configurar o generar el
sistema para cada sitio de computador
específico generación de sistemas