Sistemas Operativos Flashcards
Funciones del sistema operativo
- Administración de CPU
- Administración de memoria
- Administración de entrada/salida
- Administración de archivos
- Administración de datos/información
- Administración de sistemas de protección
Componentes de un sistema operativo
- Sistema de archivos
- Intérprete de comandos
- Núcleo
Administración de procesos
SISTEMAS OPERATIVOS
El sistema operativo es el encargado de proveer servicios para que cada proceso pueda realizar su tarea, los servicios pueden ser: creación, destrucción, suspensión y reanudación de procesos, mecanismos para sincronización y comunicación entre procesos.
Administración de memoria
SISTEMAS OPERATIVOS
La memoria es un área de almacenamiento común a los procesadores y dispositivos, donde se almacenan programas, datos, etc. El sistema deberá administrar el lugar libre y ocupado, y será el encargado de las siguientes tareas: conocer partes de memoria en uso, qué programas serán cargados en memoria, asignar o quitar espacio de memoria.
Subsistema de Entrada/Salida
SISTEMAS OPERATIVOS
Se encarga de la transferencia de información con periféricos, se compone:
1. Procesador E/S
2. Procesador de periféricos
3. Periféricos
Administración de Almacenamiento secundario
SISTEMAS OPERATIVOS
Dado que la memoria RAM es volátil y pequeña para todos los datos y programas que se precisan guardar, se utilizan discos para guardar la mayoría de la información.
Responsabilidades de sistema operativo
SISTEMAS OPERATIVOS
Administrar el espacio libre, Asignar la información a un determinado lugar, Algoritmos de planificación de disco (estos algoritmos deciden quien utiliza un determinado recurso del disco cuando hay competencia por él)
Subsistema de archivos
SISTEMAS OPERATIVOS
Proporciona una vista uniforme de todas las formas de almacenamiento, implementando el concepto de archivo como una colección de bytes. El Sistema Operativo deberá proveer métodos para: Abrir, cerrar y crear archivos, Leer y escribir archivos
Sistema de protección
SISTEMAS OPERATIVOS
En un sistema multiusuario donde se ejecutan procesos de forma concurrente se deben tomar medidas que garanticen la ausencia de interferencia entre ellos. Estas medidas deben incorporar la posibilidad de definir reglas de acceso, entre otras cosas
Qué son los Procesos?
SISTEMAS OPERATIVOS
Es un programa en memoria que necesita de ciertos recursos (como CPU, memoria, archivos, dispositivos de E/S, etc.) para realizar su tarea
Estructura de los sistemas operativos
SISTEMAS OPERATIVOS
Sistema monolítico, Sistema en capas, Sistema de micronúcleo
Sistema monolítico
SISTEMAS OPERATIVOS
Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde cualquier procedimiento puede invocar a otro.
Sistema en capas
SISTEMAS OPERATIVOS
El diseño se organiza en una jerarquía de capas, donde los servicios que brinda una capa son consumidos solamente por la capa superior. La capa 0 es del Hardware y la N es la de los procesos de Usuario.
Ventaja de sistema en capas
SISTEMAS OPERATIVOS
Estos sistemas tienen como ventaja que son modulares y la verificación se puede hacer a cada capa por separado (son más mantenibles). Sin embargo el diseño es muy costoso y es menos eficiente que el sistema monolítico ya que pierde tiempo pasando por cada capa.
Sistema de micronúcleo
SISTEMAS OPERATIVOS
La idea consiste en tener un núcleo que brinde los servicios mínimos de manejo de procesos, memoria y que provea la comunicación entre procesos. Todos los restantes servicios se construyen como procesos separados del micronúcleo, que ejecutan en modo usuario.
Ventaja de sistema de micronúcleo
SISTEMAS OPERATIVOS
Estos sistemas tienen como ventaja un diseño simple y funcional, que aumenta la portabilidad y la escalabilidad. Para agregar un nuevo servicio no es necesario modificar el núcleo, y es más seguro ya que los servicios corren en modo usuario
Servicios del sistema operativo
SISTEMAS OPERATIVOS
Ejecución de programas, Operaciones Entrada/Salida, Manipulación del sistema de archivos, comunicación entre procesos y manipulación de errores.
Define:
Hilo
SISTEMAS OPERATIVOS
Un hilo es una secuencia de código en ejecución dentro del contexto de un proceso. Los hilos no pueden ejecutarse ellos solos. Requieren la supervisión de un proceso padre para correr. Dentro de cada proceso hay un hilo o varios hilos ejecutándose.
Cuál es la ventaja de un hilo
SISTEMAS OPERATIVOS
La ventaja que proporcionan los hilos es la capacidad de tener más de un camino de ejecución en un mismo programa. Agilizar los tiempos de retraso de la comunicación cliente-servidor.
Estados de un hilo
SISTEMAS OPERATIVOS
El comportamiento de un hilo depende del estado en que se encuentre, este estado define su modo de operación actual. Los estados en los que puede estar un hilo Java: New, Running, Not running, Dead.
Estado NEW de un hilo
SISTEMAS OPERATIVOS
Un hilo se encuentra en el estado new la primera vez que se crea y hasta que el método start es llamado. Los hilos en estado new ya han sido inicializados y están listos para empezar a trabajar, pero aún no han sido notificados para que empiecen a realizar su trabajo.
Estado RUNNING de un hilo
SISTEMAS OPERATIVOS
Cuando se llama al método start de un hilo nuevo, el método run es invocado y el hilo entra en el estado running. Este estado podría llamarse “running” porque la ejecución del método run significa que el hilo está corriendo.
Estados NOT RUNNING de un hilo
SISTEMAS OPERATIVOS
El estado not running se aplica a todos los hilos que están parados por alguna razón. Cuando un hilo está en este estado, está listo para ser usado y es capaz de volver al estado running en un momento dado.
Estados DEAD de un hilo
SISTEMAS OPERATIVOS
Un hilo entra en estado dead cuando ya no es un objeto necesario. Los hilos en estado dead no pueden ser resucitados y ejecutados de nuevo.
Métodos para control de hilos
SISTEMAS OPERATIVOS
Start, run, stop, suspend, resume, set/get Priority, set/get name, isAlive
Algoritmos de planificación de CPU
SISTEMAS OPERATIVOS
First-Come First-Served (FCFS), Shortest Job First (SJF), Shortest Remaining Time First (SRTF), Round Robin (RR), Prioridades no apropiativo.
First-Come First-Served (FCFS)
SISTEMAS OPERATIVOS
Asigna la CPU al procesador que primero la solicite. Este algoritmo es cooperativo, es decir, una vez que la CPU ha sido asignada a un procesador, dicho procesador la conserva hasta que la libera porque realiza una E/S o porque termina.
Desventaja de algoritmo First-Come First-Served (FCFS)
SISTEMAS OPERATIVOS
Padece el efecto convoy que ocurre cuando tenemos un procesador limitado por CPU y muchos limitados por E/S. Los limitados por E/S se alinean en un convoy (uno detrás de otro) esperando que el procesador limitado por CPU finalice.
Shortest Job First (SJF)
SISTEMAS OPERATIVOS
Asigna la CPU al procesador que tenga la siguiente ráfaga más corta. Si las siguientes ráfagas de CPU de dos procesos son iguales, se usa la planificación FCFS para romper el empate.
Desventaja de algoritmo Shortest Job First (SJF)
SISTEMAS OPERATIVOS
La dificultad real del algoritmo es que no hay forma de conocer la duración de la siguiente ráfaga de CPU. Favorece a los trabajos cortos a costa de los más largos.
Shortest Remaining Time First (SRTF)
SISTEMAS OPERATIVOS
Es igual que en el algoritmo SJF, la diferencia tiene lugar cuando arriban nuevos trabajos, ya que de esta forma se pone de manifiesto la cualidad apropiativa del algoritmo
Round Robin (RR)
SISTEMAS OPERATIVOS
La cola de procesos listos se trata como una cola circular. El planificador recorre la cola asignando la CPU a cada proceso durante una medida de tiempo (time quantum).
Desventajas de Algoritmos Round Robin (RR)
SISTEMAS OPERATIVOS
El tiempo medio de espera es generalmente largo. El rendimiento del algoritmo depende enormemente del tamaño de la medida de tiempo (time quantum)
Si medida de tiempo (time quantum) es largo → la planificación RR es igual a la FCFS
Si medida de tiempo (time quantum) es corto → habrá gran número de cambios de contexto.
Prioridades no apropiativas
SISTEMAS OPERATIVOS
A cada proceso se le asocia una prioridad y se asigna la CPU al proceso que tenga la prioridad más alta. Los procesos con igual prioridad se planifican en orden FCFS.
Bloqueo de procesos (deadlock)
SISTEMAS OPERATIVOS
Es la actividad en que dos o más procesos esperan un recurso (CPU, memoria, entrada/salida) que nunca les va a ser otorgado.
Qué es Memoria Virtual
SISTEMAS OPERATIVOS
La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina.
Direcciones virtuales
SISTEMAS OPERATIVOS
Son las referidas por un proceso en ejecución.
Qué es:
Direcciones reales
SISTEMAS OPERATIVOS
Son las disponibles dentro del almacenamiento primario.
Espacio de direcciones virtuales
SISTEMAS OPERATIVOS
Es el número de direcciones virtuales a que puede hacer referencia el proceso.
Espacio de direcciones reales
SISTEMAS OPERATIVOS
Es el número de direcciones reales disponibles en el ordenador.
Métodos para implementación de memoria virtual
SISTEMAS OPERATIVOS
Paginación y segmentación
Paginación para memoria virtual
SISTEMAS OPERATIVOS
Se refiere al manejo de bloques de tamaño fijo en la memoria virtual y la conversión de éstas páginas a memoria real. Para tal conversión, el sistema operativo requiere de dos elementos: número de página y desplazamiento de la página.
Segmentación para memoria virtual
SISTEMAS OPERATIVOS
Se refiere al manejo de bloques de tamaño variable en memoria virtual y la conversión de estos segmentos a memoria real.
Segmentos paginados de memoria virtual (método combinado)
SISTEMAS OPERATIVOS
Es un método donde las páginas exigen un tamaño fijo y los segmentos no tienen un número fijo de páginas.
Qué es un Sistema de Archivos
SISTEMAS OPERATIVOS
Un sistema de archivos es una estructura utilizada por un sistema operativo para organizar y administrar archivos en un dispositivo de almacenamiento