Tema 4 Sistemas Operativos Flashcards
Definición de Sistema Operativo
Un sistema operativo es un conjunto de programas integrados que tienen como objetivo aprovechar el hardware de una computadora y utilizarlo en forma segura y eficiente. Para lograrlo, se pueden resumir las siguientes funciones básicas:
- Gestionar los recursos de hardware de la computadora (procesador, memoria y periféricos)
- Ser una interfaz entre el usuario y la computadora.
- Ser la plataforma para los programas de aplicación del usuario.
Componentes y servicios de un Sistema Operativo
- Gestión de procesos (planificadores)
- Gestión de memoria (técnicas de paginación, segmentación)
- Gestión de Entrada/Salida (controladores de dispositivos)
- Gestión de Archivos/Almacenamiento (sistemas de ficheros)
- Sistema de Protección (niveles de seguridad)
Clasificación de sistemas operativos en cuanto a la cantidad de usuarios
- Monousuario: Un único usuario a la vez.
- Multiusuario: Dan servicio a varios usuarios a la vez. Unix, Linux, Windows server.
Clasificación de sistemas operativos en cuanto a la cantidad de tareas simultáneas
- Monotarea: Una sola tarea a la vez. Pueden ser multiusuario y monotarea.
- Multitarea: Varias tareas a la vez. Suelen tener interfaz gráfica.
Clasificación de sistemas operativos en cuanto a la cantidad de procesos simultáneos
- Uniproceso: Sólo manejan un procesador de la computadora.
- Multiproceso: Capaces de manejar muchos procesadores.
¿Cuál es el objetivo de la gestión de memoria?
- Ubicar procesos en memoria
- Quepa el mayor número de procesos
- Aprovechar la memoria al máximo (no huecos libres)
- Separación entre direccionamiento físico y virtual/lógico. Ver concepto MMU
Dentro de la gestión de memoria ¿qué es la segmentación?
- Dividir el programa en segmentos variables (text, data, stack)
- Ubicar los segmentos en una zona libre y contigua.
- Produce fragmentación externa. Puede haber memoria libre (pequeños huecos)
- Si no entra un fragmento grande hay que defragmentar.
Dentro de la gestión de memoria, ¿qué es la paginación?
- Dividir el programa en bloque de tamaño fijo: Página
- Dividir la memoria en zonas de tamaño fijo: Marcos
- Ubicar las páginas en marcos libres.
- No produce fragmentación externa pero si interna (por ejemplo si el último marco no está lleno)
¿Qué significa MMU dentro de la gestión de memoria?
- La MMU (unidad de Gestión de memoria), es un dispositivo de hardware formado por un grupo de circuitos integrados, responsable del manejo de los accesos a la memoria por parte de la Unidad de Procesamiento Central (CPU) o procesador. Entre las funciones de este dispositivo se encuentran la traducción de las direcciones lógicas (o virtuales) a direcciones físicas (o reales), la protección de la memoria o el control de caché.
Algoritmos que se utilizan cuando la memoria está llena
FIFO
LRU (Least Recently Used)
NRU (NOT Recently Used)
En gestión de memoria, ¿cómo funciona el algoritmo FIFO?
El algoritmo reemplaza la página que lleva más tiempo en memoria principal
En gestión de memoria, ¿cómo funciona el algoritmo LRU?
Este algoritmo asocia a cada página el tiempo en que fue referenciada. La página elegida por el algoritmo de reemplazo será la que fue accedida hace más tiempo
En gestión de memoria, ¿cómo funciona el algoritmo NRU?
En este algoritmo a las páginas se les asigna un bit de referencia y otro de modificación. El bit de referencia se enciende cada vez que se lee la página, mientras que el de modificación solo se enciende cada vez que se escribe. Cada cierto tiempo el bit de referencia es apagado.
Describe las categorías del algoritmo NRU sobre la gestión de memoria
Categoría 0: No referenciada, No modificada
Categoría 1: No referenciada, modificada
Categoría 2: referenciada, No modificada
Categoría 3: referenciada, modificada
Las mejores páginas para cambiar son las que se encuentran en la categoría 0, mientras que las peores son las de la categoría 3.
¿De qué partes se compone un proceso?
Un proceso en memoria se constituye de varias secciones/Segmentos:
- Código (Text): instrucciones del proceso.
- Datos (Data): variables globales del proceso.
- Memoria dinámica (Heap): Memoria dinámica que genera el proceso.
- Pila (Stack): utilizado para preservar el estado en la invocación anidada de procedimientos y funciones.
Cuando un proceso se ejecuta, el SO le asigna un espacio de direcciones de memoria (que contiene las instrucciones, los datos y la pila que es una estructura para almacenar y recuperar datos del proceso) y lo añade a la tabla de procesos.