Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRIMERA PACIAL
Conjunto de órdenes y programas que controlan los procesos básicos de una computadora y
permiten el funcionamiento de otros programas.
Surgió mediante la observación del trabajo del operador era bastante mecánico, vieron que se
podía automatizar gran parte. Se diseñó un pequeño programa que transfería automáticamente el
control de un trabajo a otro, este programa tomo el nombre de MONITOR RESIDENTE.
La monoprogramación.
1.2.2 La segunda generación (1955 a 1965): transistores y sistemas de procesamiento por lotes
Monoprogramación
Tiempo compartido
Redes de computadoras
Tiempo Real
Sistemas abiertos
Off-line, Buffering, Spooling
Spooling: el spooling (verbo en inglés derivado de las siglas de simultaneous peripheral operations
on-line) se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un
área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos
cuando esté listo.
Técnica que permite solapar operaciones de E/S de unos trabajos con los procesos de otros.
Servicios de usuario
- Gestión de procesador
- Protección
Kernel:
Administración de la memoria
Sistema de archivos
Microkernel:
- Tratamiento de Archivos
- Información de estado
- Editores
- Ejecución
- Programas de utilidad
- Intérpretes de comandos
Llamadas al sistema operativo, se agrupan por el tipo de llamada que realizan en:
- Terminación normal
- Terminación anormal
- Peticiones de estado
- Peticiones de recursos
- Peticiones de entrada/salida
Gestión de excepciones
Protecciones
- Entrada/Salida
- Memoria
- Procesador
ESTRUCTURA
MONOLITICA
Programa compuesto por un conjunto de rutinas entrelazadas, de forma que cada una de ellas
puede llamar a cualquier otra.
Ø Están hechos a la medida lo cual hace que sean eficientes y rápidos en su ejecución y
gestión
JERARQUICA
Está formado de tal forma que los programas del sistema operativo se dividen en pequeñas
partes, de tal forma que cada una de ellas estuviera perfectamente definida y con claro interface
con el resto de los elementos.
MAQUINA VIRTUAL
Es un sistema operativo que presenta una interface a cada proceso, mostrando una máquina que
parece idéntica a la máquina real adyacente.
CLIENTE SERVIDOR
Ciclos de un Proceso
Tipos de Procesos
Mecanismos de Interrupción
•Interrupciones de Hardware
•Interrupciones de Software
•Interrupciones de error
Modo Usuario
Modo Supervisor
Cuando el procesador se encuentra en modo supervisor todas las instrucciones pueden ser
ejecutadas
Protección de la Memoria
Estado de un Proceso
A MEDIO PLAZO: Este nivel, gestiona los procesos suspendidos en espera de algún recurso no
disponible.
A CORTO PLAZO: En este nivel, es donde se debe dar un buen servicio a los procesos interactivos
para que el usuario no perciba que está compitiendo por el procesador.
Tiempo de respuesta
Tiempo de servicio
Tiempo de ejecución
Tiempo de espera
Apropiativas: Son las que permiten que el proceso que está haciendo uso del procesador puede
ser temporalmente suspendido y permitir que otro proceso se apropie del procesador.
No aporpiativas: Son aquellas que un proceso no abandona el procesador hasta que termine su
proceso.
Ø Es simple y sencilla.
Ø El índice de servicio mejora cuando largo son los procesos, los proceso cortos después de un
largo su servicio no cera bueno.
Ø No es apropiativa.
Round-Robin (RR)
Ø Es apropiativa
Ø No apropiativa
Ø Si un proceso está en ejecución e ingresa un proceso con tiempo de ejecución más corto el
proceso anterior se retira del procesador y se da lugar al proceso más corto.
Ø Es apropiativa.
Ø Presenta sobrecarga.
Ø Es apropiativa.
Ø Asigna prioridades por niveles (colas) cada nivel puede ser gestionada por diferentes políticas.
SEGUNDA PARCIAL
PARALELISMOS
CONCURRRENCIA
El problema de la sección crítica consiste en diseñar un protocolo que los procesos puedan usar
para cooperar. Cada proceso debe solicitar permiso para entrar en la sección crítica, la sección de
código que implanta esta solicitud es la sección de entrada. A la sección crítica puede seguir una
sección de salida y el código que queda en la sección restante.
1 Exclusión mutua: Si un proceso P1 se está ejecutando en su sección crítica, entonces ningún otro
proceso se puede estar ejecutando en la suya.
2 Progreso: Si ningún proceso se está ejecutando en su sección crítica y hay otros procesos que
desean entrar en la suyas, entonces sólo aquellos procesos que no están en su sección restante
pueden participar de cuál proceso será el siguiente en entrar en la sección critica.
3 Espera Limitada: Ningún proceso puede tener su ingreso a la sección critica postergado
indefinidamente, o sea estar esperando para siempre.
• Comunicación entre procesos por mensajes: Los procesos cooperativos concurrentes deben
comunicarse con propósito tales como intercambiar datos ejemplo mensajes.
•Semáforos: Dijkstra diseño un mecanismo basado en una variable entera utilizada como
contador de peticiones de entrada a la sección critica.
Send y recive
Mecanismo de hardware
•Deshabilitar interrupciones:
Las computadoras actuales permiten que las interrupciones puedan ser deshabilitadas. Por este
medio se puede forzar la exclusión mutua deshabilitando las interrupciones mientras haya alguna
actividad en la sección critica, de este modo dicha actividad no podrá ser interrumpida y por tanto
no se podrá producir ningún cambio de proceso.
INTERBLOQUEO / DEADLOCK
Recursos:
Son recursos, un elemento, que un proceso puede utilizar en la computadora donde se ejecuta,
son recursos tanto dispositivos de hardware como una cierta cantidad de información.
1- Exclusión mutua: Solo un proceso a la vez de usar un recurso. Sí otro proceso solicita el recurso,
deberá esperar hasta que se haya liberado.
2- Posesión y Espera: Debe existir un proceso que retenga por lo menos un recurso y espere
adquirir otros recursos retenidos por otros procesos.
3- No apropiación: Los recursos no se pueden quitar es decir solo pueden ser liberados
voluntariamente por los procesos que los retiene.
4- Espera circular: Debe haber un conjunto de procesos en espera tales que Po, espera un recurso
retenido por P1. P1 espera un recurso retenido por P2, PN-1 espera un recurso retenido por Pn y
Pn espera recurso de Po.
Tratamiento del Interbloqueo:
1- Ignorar
2- Prevenir
3- Evitar
4- Detectar y Recuperar
-Prioridad
- Necesidad de recursos
• Evitar fragmentación.
• Complejidad temporal.
Tiempo de Acceso a la memoria es el tiempo que transcurre entre el inicio y el fin de la operación
de lectura y escritura
Tiempo de Ciclo de memoria es tiempo que marca el retraso que impone el hardware entre el fin
de una operación y el principio de la siguiente.
Protección de la Memoria
Esta técnica exige que las direcciones generadas sean absolutas, asignadas ya sea durante la
compilación o durante la carga del programa.
Fragmentación
La fragmentación externa; este tipo de fragmentación aparece como consecuencia de las distintas
políticas de ajuste de bloques que tiene un sistema de ficheros, o al utilizar asignaciones dinámicas
de bloques en el caso de la memoria.
PAGINACIÓN
SEGMENTACIÓN
Otro modo de subdividir el programa es la segmentación. En este caso, el programa y sus datos
asociados se dividen en un conjunto de segmentos. No es necesario que todos los segmentos de
todos los programas tengan la misma longitud, aunque existe una longitud máxima de segmento.
Mientras que la paginación es transparente al programador, la segmentación generalmente es
visible y se ofrece como la ventaja para la organización de los programas y datos.
CONCLUSIÓN
La técnica de paginación permite dividir los espacios de memoria en secciones físicas de igual
tamaño, pero al ser las secciones del igual tamaño ocurren mucho problemas ya habrá
aplicaciones que requieran más del tamaño asignado, es por ello que también se utiliza la
segmentación con el objetivo se subdividir espacios de memoria en bloques o segmentos de
diferentes longitudes, pero a pesar de ser bastante buena, también ocurren ciertos problemas ya
que al asignar la memoria necesaria para cada proceso, nos van quedando huecos en la memoria.
Es por ello que se está utilizando lo mejor de cada técnica en una versión llamada segmentación
paginada.
MEMORIA VIRUAL
La memoria virtual permite ejecutar procesos que requieren más memoria que la disponible en el
sistema. La implementación de memoria virtual es realizada a través de la técnica de paginación
bajo demanda. En la paginación bajo demanda los procesos residen en un dispositivo de disco y
son puestos en memoria principal cuando es necesario cargarlos para ejecutar.
Algoritmos de remplazamiento
El algoritmo reemplaza la página que lleva más tiempo en memoria principal. Es un algoritmo fácil
de implementar ya que requiere únicamente de una estructura tipo cola.
Este algoritmo asocia a cada página el tiempo en que fue referenciada. La página elegida por el
algoritmo de remplazo será la que fue accedida hace más tiempo.
En este algoritmo a las páginas se les asigna un bit de referencia y otro de contador de referencia.
El bit de referencia se prende cada vez que se lee o escribe la página, mientras que el contador se
aumenta. Cada cierto tiempo el bit de referencia es apagado, y el contador disminuido.
TAMAÑO DE PÁGINAS
Afecta el rendimiento del sistema, está ligado con la arquitectura del computador, para decidir el
tamaño óptimo se debe considera los siguientes factores:
Transferencia: Las páginas deben ser grandes para enviar más bytes en cada operación de
entrada/salida
Son dispositivos de hardware cuya misión es intercambiar datos con el procesador y la memoria
en un sentido o en ambos.
El sistema operativo es el encargado de ocultar las características de los periféricos, de este modo
las operaciones de E/S son independientes del tipo y modelo de dispositivo.
Dirigidos a Carácter: La información es transferida en carácter sin tener ningún orden prefijado.
No son direccionables y pueden realizar operaciones de búsqueda Ej.: las terminales.
INTERFAZ PROCESADOR-PERIFERICO
• En teoría los dispositivos de e/s se comunicarían con la CPU por los buses del sistema.
• Dado que son muy heterogéneos serıa muy costoso que la CPU los manejase directamente.
• Los dispositivos están conectados a una pieza de hardware llamada controlador de dispositivo (a
veces controladora o adaptador)
• Registros
El procesador se conecta a los periféricos por los registros de los dispositivos que son accedidos
directamente en una zona determinada de la memoria o, indirectamente, por medio de
instrucciones de hardware.
Para que el procesador pueda ver cuando ha terminado una operación de Entrada/ Salida se
puede emplear dos métodos:
• Controladores
El controlador se conecta al procesador a través de registros. Los dispositivos complejos como los
discos no se conectan directamente al procesador lo hacen por medio del controlador quien
mantiene el estado, controla y transfiere los datos. Los controladores se conectan al procesador
por medio de canales o procesador de E/S.
• Canales
Los canales son manejados por comandos y cuando termina la operación devuelven el status
correspondiente e interrumpe al procesador.
El objetivo de un canal es conseguir que los dispositivos sean tratados como virtuales.
Conjunto de software formado por rutinas y tablas que se encuentran en el núcleo del S.O., cuya
función es controlar y ejecutar las operaciones de entrada y salida.
Funciones de un Driver
1. Inicialización
3. Gestión de Interrupciones
5. Otras TIME OUT control del tiempo del proceso. POWER FAIL actúa en el arranque de un
proceso después de un corte de alimentación.
TIPOS DE RUTINAS
Está formada por un conjunto de rutinas que procesan información sin atender a las
características propias del periférico.
Tratamiento dependiente del periférico
Estructura de datos
· Bloque de control del driver (BCD): Contiene los datos referentes al tipo de dispositivo que
puede ser atendido por el driver y parámetros que son variados dinámicamente.
· Bloque de control de la unidad (BCU): Contiene los datos referentes al dispositivo físico que es
tratado como una unidad por el S.O.
· Paquetes de petición de Entrada /Salida (PES): Cada operación de E/S tiene asociado el paquete
de petición de E/S. Este paquete es atendido por el driver.
INSTRUCCIONES VECTORIZADAS
El sistema Operativo está preparado para aceptar interrupciones que proviene de los dispositivos
de periféricos.
El vector de interrupciones es un número que indica la dirección de una rutina que debe tratar
una interrupción.
Asignación de almacenamiento
Formateo de discos
SUBSITEMAS DE ARCHIVOS
- Es un conjunto de rutinas y tablas que posibilitan acceder a las informaciones de los archivos
según un esquema lógico (Acceso secuencial, Acceso directo).
•Gestión de archivos
- Para atender las peticiones que se realizan sobre los archivos, el sub sistema utiliza el directorio
que son a su vez archivos de estructura especial, cuyos registros contienen la descripción de los
archivos existentes en el sistema.
Implementación de archivos
Para implementar archivos es necesario crea para cada archivo, en el sistema un descriptor de
archivos, que es un registro en el cual son mantenidas las informaciones respecto a los archivos.
Las informaciones son las siguientes:
*Tamaño
El sub sistema de archivos utiliza una tabla de descriptor de archivos, (TDAA), para mantener en
memoria todos los archivos abiertos.
Las operaciones de lectura y escritura son realizadas por llamadas al Sub Sistema de archivos. La
manera en que se accede a los bloques de datos depende de la disposición de los mismos en el
disco.