← Blog

Quiz 4 - Conceptos OS

Conceptos fundamentales de sistemas operativos: procesos, memoria virtual, sistema de archivos, pipes, shell y llamadas al sistema.

Teoría

Un proceso es un programa en ejecución, con su propio espacio de direcciones que incluye el programa ejecutable, sus datos y su pila. El sistema operativo mantiene información sobre cada proceso en una tabla de procesos, donde se almacenan registros, archivos abiertos, alarmas y procesos relacionados. Cuando un proceso se suspende, su imagen central (core image) se guarda para reanudarlo después.

Los procesos pueden crear procesos hijo, formando un árbol de procesos. La comunicación entre ellos se llama comunicación entre procesos (IPC). Los procesos pueden recibir señales (análogas a interrupciones por hardware) para notificar eventos.

Cada usuario tiene un UID (User ID) y pertenece a grupos con GID (Group ID). El superusuario (root) tiene privilegios especiales para omitir reglas de protección.

En memoria, los sistemas modernos usan memoria virtual, que permite que el espacio de direcciones de un proceso sea mayor que la memoria física, manteniendo parte en disco y parte en RAM con protección entre procesos.

El sistema de archivos abstrae los dispositivos de almacenamiento mediante archivos y directorios organizados en una jerarquía. Cada archivo se localiza mediante una ruta absoluta (que comienza con / en UNIX). Los procesos tienen un directorio de trabajo actual y deben abrir archivos con permisos adecuados antes de acceder a ellos, obteniendo un descriptor de archivo. UNIX permite montar sistemas de archivos externos en directorios vacíos.

Existen archivos especiales en /dev que representan dispositivos: de bloques (discos) y de caracteres (teclados, impresoras). Los pipes son pseudofiles para comunicación entre procesos.

El shell es un intérprete de comandos (no parte del SO) que permite ejecutar programas, redirigir entrada/salida (>, <), encadenar comandos con pipes (|) y ejecutar en segundo plano (&). La interfaz gráfica (GUI) es otro programa sobre el sistema operativo, al igual que el shell.


Quiz

QUIZ 4 CONCEPTOS OS

¿Qué es un proceso en un sistema operativo?
Un programa en ejecución.

¿Qué contiene el espacio de direcciones de un proceso?
El programa ejecutable, sus datos y su pila.

¿Qué tipo de información se guarda en la tabla de procesos del sistema operativo?
Registros, archivos abiertos, alarmas, procesos relacionados y más.

¿Qué sucede cuando un proceso es suspendido temporalmente?
Toda su información debe guardarse para reanudarlo en el mismo estado.

¿Dónde se almacena la información de los procesos en la mayoría de sistemas operativos?
En la tabla de procesos del sistema operativo.

¿Cómo se llama la imagen de memoria del proceso suspendido?
Imagen central o core image.

¿Qué hace una llamada al sistema de creación de procesos?
Crea un nuevo proceso para ejecutar un programa.

¿Cómo se denomina a los procesos creados por otros procesos?
Procesos hijo.

¿Qué estructura se forma al crear procesos hijos?
Un árbol de procesos.

¿Cómo se llama la comunicación entre procesos relacionados?
Comunicación entre procesos (interprocess communication).

¿Qué ocurre cuando se debe notificar a un proceso tras cierto tiempo?
Se le envía una señal o alarma.

¿Qué hace un proceso al recibir una señal?
Suspende lo que estaba haciendo, ejecuta un manejador y luego retoma su ejecución.

¿Qué son las señales en comparación al hardware?
Análogas a las interrupciones por hardware.

¿Qué identificador se asigna a cada usuario autorizado del sistema?
UID (User IDentification).

¿Qué identificador tiene cada grupo al que pertenece un usuario?
GID (Group IDentification).

¿Qué usuario tiene privilegios especiales en UNIX?
El superusuario o root.

¿Qué permite el superusuario en el sistema?
Omitir muchas reglas de protección.

¿Qué concepto maneja la memoria principal en los sistemas operativos simples?
Un solo programa en memoria a la vez.

¿Cómo se llama la técnica que permite usar más memoria que la física disponible?
Memoria virtual.

¿Qué hace la memoria virtual?
Permite que parte del espacio de direcciones esté en disco y parte en RAM.

¿Qué es el espacio de direcciones de un proceso?
El conjunto de direcciones que un proceso puede usar.

¿Qué mecanismo evita que procesos interfieran entre sí en memoria?
Un mecanismo de protección controlado por el sistema operativo.

¿Qué abstrae el sistema de archivos del sistema operativo?
Los dispositivos de almacenamiento como archivos.

¿Qué llamadas al sistema existen para archivos?
Crear, eliminar, leer, escribir, abrir y cerrar archivos.

¿Qué estructura agrupa archivos en un sistema operativo?
Un directorio (o carpeta).

¿Cómo se llama la estructura jerárquica que forma el sistema de archivos?
Jerarquía de archivos.

¿Cómo se llama la ruta que especifica la ubicación completa de un archivo desde el directorio raíz?
Ruta absoluta.

¿Qué indica una barra diagonal al comienzo de una ruta en UNIX?
Que es una ruta absoluta desde el directorio raíz.

¿Qué se usa en Windows como separador de directorios?
La barra invertida (\).

¿Qué es el directorio de trabajo actual de un proceso?
El directorio donde se buscan rutas relativas.

¿Qué llamada permite cambiar el directorio de trabajo actual?
Una llamada al sistema con el nuevo directorio.

¿Qué se necesita para acceder a un archivo antes de leerlo o escribirlo?
Abrirlo con permisos adecuados.

¿Qué se devuelve si se permite el acceso a un archivo?
Un descriptor de archivo (file descriptor).

¿Qué se devuelve si no se permite el acceso a un archivo?
Un código de error.

¿Qué es un sistema de archivos montado en UNIX?
Una forma de integrar un dispositivo externo al árbol de archivos principal.

¿Dónde se montan comúnmente los sistemas de archivos externos?
En directorios vacíos del sistema principal.

¿Qué tipo de archivos permiten que los dispositivos se comporten como archivos?
Archivos especiales.

¿Cuáles son los tipos de archivos especiales en UNIX?
Archivos especiales de bloques y de caracteres.

¿Qué dispositivos modelan los archivos especiales de bloques?
SSDs, discos y otros con bloques direccionables.

¿Qué dispositivos modelan los archivos especiales de caracteres?
Impresoras, teclados, ratones y similares.

¿Dónde se almacenan normalmente los archivos especiales en UNIX?
En el directorio /dev.

¿Qué es un pipe en UNIX?
Un pseudofile usado para comunicar procesos.

¿Cómo se usa un pipe entre procesos?
Uno escribe como si fuera un archivo, el otro lee como si fuera un archivo.


¿Quién ejecuta las llamadas al sistema en un sistema operativo?
El sistema operativo.

¿Son parte del sistema operativo los editores, compiladores y utilidades?
No, aunque son útiles, no forman parte del sistema operativo.

¿Qué es el shell en UNIX?
El intérprete de comandos que sirve como interfaz entre el usuario y el sistema operativo.

¿El shell es parte del sistema operativo?
No, pero hace uso intensivo de sus funciones.

¿Qué función principal cumple el shell?
Es la interfaz entre el usuario (en terminal) y el sistema operativo.

¿Qué sucede cuando un usuario inicia sesión en el sistema?
Se inicia una shell con el terminal como entrada y salida estándar.

¿Qué carácter suele usar el shell como símbolo de espera de comandos?
Un signo de dólar ($).

¿Qué hace el shell cuando se ingresa un comando como date?
Crea un proceso hijo para ejecutar el programa date.

¿Qué hace el shell mientras el proceso hijo se ejecuta?
Espera a que termine.

¿Qué sucede cuando el proceso hijo finaliza?
El shell vuelve a mostrar el prompt.

¿Cómo se redirige la salida estándar de un comando a un archivo?
Usando el símbolo > seguido del nombre del archivo.

¿Cómo se redirige la entrada estándar desde un archivo?
Usando el símbolo < seguido del nombre del archivo.

¿Qué permite el uso del símbolo | en un comando?
Conectar la salida de un programa con la entrada de otro (pipe).

¿Qué hace el comando cat file1 file2 file3 | sort >/dev/lp?
Concatena los tres archivos, los ordena y envía la salida al dispositivo /dev/lp (impresora).

¿Qué significa usar & al final de un comando?
Ejecutar el comando en segundo plano (background).

¿Qué ventaja tiene ejecutar un comando en segundo plano?
Permite al usuario seguir trabajando mientras el proceso se ejecuta.

¿En qué sistemas operativos se utiliza un GUI en lugar del shell como interfaz principal?
En la mayoría de computadoras personales actuales.

¿El GUI forma parte del sistema operativo?
No, es un programa que corre sobre el sistema operativo, como el shell.

¿Qué sistemas Linux permiten elegir entre múltiples GUIs?
Linux permite elegir entre Gnome, KDE o usar solo una terminal en X11.

¿Es común reemplazar el GUI estándar en Windows?
No, generalmente no se reemplaza el escritorio GUI en Windows.