1/94
Looks like no tags are added yet.
Que es la multiprogramacion?
Es una tecnica de diseño de sistemas operativos que permite mantener varios procesos cargados en la memoria principal al mismo tiempo para que sean ejecutados de manera (pseudo) concurrente por el procesador. Su objetivo principal es maximizar la utilizacion de la CPU.
Si el tiempo promedio de calculo de una cpu es 20% del tiempo que esta en memoria, estaria totalmente ocupada la CPU si hubiese 5 procesos? Explicar que era p^n
No, la CPU no estaria totalmente ocupada. Si los procesos calculan el 20% del tiempo significa que gastan 80% de lo esperado E/S (p=0.8) la formula para medir el uso del CPU es 1-pn. El termino pn representa la probabilidad de que los n procesos en memoria esten esperando una operacion de E/S de manera simultanea, momento en el que la CPU queda totalmente inactiva. Para 5 procesos n=5 el calculo seria =0.672 La CPU estaria ocupada 67,2% del tiempo
Explicar la diferencia entre ambos [Imagen en la cual había en espacio de usuario 3 procesos con 1 hilo cada uno, y otro con 1 proceso con los 3 hilos]
La diferencia radica en el nivel de aislamiento y los recursos compartidos. En el caso de 3 procesos independientes, cada uno posee su propio espacio de direcciones aislado; no comparten variables globales, memoria ni archivos abiertos, lo que provee gran protección pero hace que comunicarse entre sí sea costoso. En el caso de 1 proceso con 3 hilos, los tres hilos operan concurrentemente compartiendo el mismo espacio de direcciones, las mismas variables globales y los archivos, lo que permite una comunicación extremadamente rápida y directa, aunque un error fatal en un hilo compromete a todo el proceso
Que es una shell? Dar ejemplos
Una shell (tambien conocida como interprete de comandos) es un programa que funciona como interfaz principal entre el usuario y el sistema operativo. No forma parte del nucleo (kernel) del sistema operativo. Es una aplicacion o programa utilitario de bajo nivel que se ejecuta en el espacio de modo de usuario. Powershell, CMD, bash, etc.
Describa como funciona el metodo de enfoque de espera ocupada.
En la espera ocupada (o E/S programada), un programa emite una llamada al sistema que se traduce en un comando para el driver del dispositivo. El driver inicia la operación en el hardware y entra en un ciclo continuo y estrecho (polling), sondeando o leyendo constantemente el registro del dispositivo para ver si la tarea ya terminó. Es ineficiente porque mantiene a la CPU ocupada al 100% realizando verificaciones sin hacer otro trabajo útil.
Definir que es el multiplexaje de recursos. Explicar sus dos formas y dar ejemplos
El multiplexaje de recursos es una tarea clave en el sistema operativo consiste en compartir los recursos fisicos del sistema entre los diversos usuarios y programas que compiten por ellos. Multiplexaje en el tiempo: En este metodo, los distintos procesos se turnan para usar de forma temporal el recurso. Ejemplo: La CPU, donde el planificador da a un proceso un quantum de tiempo antes de pausarlo y pasar al siguiente proceso. Multiplexaje en el espacio: En esta tecnica, los clientes no se toman turnos, si no que cada proceso obtiene una fraccion del recurso simultaneamente. Ejemplo: La memoria principal (RAM) donde se divide en particiones para que multiples procesos puedan estar cargados al mismo tiempo.
Describa que es un SO real duro. Desarrollar y dar un ejemplo de otra categoria de SO
Un sistema operativo de tiempo real duro, es un sistema disenado especificamente para un entorno critico donde el tiempo es un parametro absoluto e inquebratanble. Un retraso se considera una falla total y catastrofica en el sistema. Un ejemplo de otra categoria de SO es un sistema monolitico donde todas las funciones principales del sistema operativo se ejecuenta en un unico espacio de direccion en modo nucleo.
Definir que es un bus de datos que transmite y dar 3 ejemplos.
Un bus de datos es un componente hardware escencial que es definido como un conjunto de conexiones fisica que funcionan como un camino de comunicacion compartido para interconectar los diferentes componentes internos de la computadora. Transmite bits que representan informacion, datos de usuario o instrucciones a traves del sistema. Ejemplos: Bus PCI, PCIE , SATA, USB
Defina sistema operativo integrado
Un sistema operativo integrado, es un software extremadamente compacto y especializado que opera dentro de equipos electronicos que no se considera computadoras de proposito general, pero que requieren un cerebro logico. No permiten que el usuario descargue aplicaciones de software arbitrario.
Explicar la diferencia clave entre una interrupción y una trampa
Una interrupción es un evento asincrónico provocado por el hardware externo a la CPU (como un disco o un teclado que termina su operación) para avisar al sistema que requiere atención. En contraste, una trampa (trap) es un evento sincrónico generado por el software durante la ejecución de una instrucción, ya sea de forma intencional (al invocar una llamada al sistema) o por una excepción (como una división por cero o un fallo de página)
Cuales son los principales motivos por los que se crean/terminan procesos?
Los motivos de creación de procesos son cuatro:
1) El arranque del sistema,
2) La ejecución de una llamada al sistema desde un proceso existente para crear otro (ej. fork),
3) Una petición de usuario interactiva para iniciar un programa, y
4) El inicio de un trabajo por lotes (batch).
Los motivos de terminación de procesos son cuatro:
1) Salida normal (voluntaria) al concluir su trabajo,
2) Salida por error (voluntaria) cuando el proceso detecta un problema insalvable,
3) Error fatal (involuntaria) originada por el programa, como dividir por cero o usar memoria inválida, y
4) Eliminación (involuntaria) solicitada por otro proceso
Que eventos se involucran al solicitar un recurso y con que tipo de recursos ocurren los interbloqueos
Los tres eventos obligatorios son: 1. Solicitar el recurso, 2. Utilizar el recurso, 3. Liberar el recurso. Los interbloqueos ocurren casi exclusivamente con los recursos no apropiativos, ya que estos no se le pueden quitar a un proceso por la fuerza sin corromper sus datos o hacer que el cálculo falle
Explicar la diferencia entre registro base / limite e intercambio.
Registro base / límite: Es una técnica de protección y abstracción mediante hardware. El registro base indica la dirección física de inicio de un programa y el límite su longitud. En cada instrucción, la CPU reubica la dirección dinámicamente y protege al sistema para que un proceso no acceda a memoria fuera de su rango. Intercambio (Swapping): Es una estrategia de gestión del Sistema Operativo que soluciona la falta de capacidad general. En lugar de encargarse del mapeo o la protección, mueve procesos completos entre el disco duro y la RAM para alternar quién tiene derecho a estar alojado en la memoria física
Cual es el 3er elemento además del cliente / servidor? ¿Porque se lo considera tan importante?
El tercer elemento vital es el Middleware. Se lo considera indispensable porque proporciona una interfaz común y estandarizada que permite la interoperabilidad; facilita que clientes y servidores con distintos sistemas operativos, arquitecturas de hardware o protocolos de red puedan comunicarse e intercambiar datos de forma transparente sin conocer los detalles de implementación del otro. (Nota: A nivel físico se suele mencionar a la red como 3er elemento, pero en este contexto de diseño lógico, los exámenes apuntan al Middleware)
Sea una Tabla de páginas, ¿cuál es el campo más importante? Y cuáles son sus bits (solo mencionar).
El campo más importante es el Número de marco de página, ya que su objetivo primordial es indicar la ubicación en la memoria física.
Sus bits son:
Bit de Presente/Ausente.
Bit de Modificada (Dirty bit).
Bit de Referenciada.
Bits de Protección (Permisos de Lectura/Escritura/Ejecución).
Bit de uso de caché deshabilitado
¿Qué es el DMA y cuando actúa el CPU?
El DMA es una técnica de hardware que permite transferir bloques completos de datos directamente entre los módulos de E/S y la memoria principal, sin hacer pasar la información por el procesador. En este esquema, la CPU actúa únicamente en dos momentos: al inicio de la operación (para indicarle al DMA qué leer/escribir y la dirección de memoria) y al final de la operación (cuando el DMA envía una interrupción para avisar que la transferencia se completó).
Beneficios de los clusters
- Escalabilidad absoluta: Se pueden unir múltiples máquinas para superar la potencia de los servidores o mainframes más grandes del mercado.
- Escalabilidad incremental: Es posible iniciar con un sistema pequeño y agregar nuevos nodos progresivamente según aumente la necesidad.
- Alta Disponibilidad: Si una computadora (nodo) del cluster falla, los demás continúan trabajando y no hay pérdida en la disponibilidad del servicio.
- Relación Precio/Rendimiento: Combinar varias máquinas estándar interconectadas es mucho más económico que adquirir una única supercomputadora de prestaciones equivalentes.
Ventajas y desventajas de una asignación contigua de archivos.
En la asignación contigua, los archivos ocupan bloques adyacentes en el disco.
Ventajas: Es extremadamente simple de implementar (solo requiere recordar el bloque inicial y la longitud) y ofrece el mejor rendimiento de lectura, ya que el cabezal no necesita buscar por el disco para leer un archivo completo.
Desventajas: Genera fragmentación externa (huecos de disco inutilizables) a lo largo del tiempo. Además, requiere conocer el tamaño final del archivo al momento de crearlo, limitando su capacidad de crecimiento.
Mencione y explique las 4 amenazas de Seguridad Informática.
- Interrupción: Un ataque a la disponibilidad. Un componente del sistema es destruido o queda inaccesible (ej. destrucción de un disco duro o corte en la línea de comunicación).
- Intercepción: Un ataque a la confidencialidad. Una parte no autorizada (persona o programa) obtiene acceso a un componente o datos (ej. captura/escucha de mensajes en la red o copia ilícita de archivos).
- Modificación: Un ataque a la integridad. Una parte no autorizada no solo accede, sino que altera un elemento del sistema (ej. cambiar valores en un archivo o modificar mensajes transmitidos).
- Fabricación: Un ataque a la autenticación. Una parte no autorizada inserta objetos extraños o falsos en el sistema (ej. insertar mensajes falsificados en la red o agregar registros falsos a un archivo).
Mencione y explique las etapas de un virus
Fase Latente: El virus está inactivo o dormido esperando a que suceda un evento externo (una fecha, o un archivo específico) para activarse.
Fase de Propagación (Preparación): El virus se replica a sí mismo y coloca sus copias en otros programas o áreas del disco.
Fase de Activación: Ocurre el evento detonante y el virus se "enciende" para realizar su tarea objetivo.
Fase de Ejecución: El virus realiza la función maliciosa o indeseada para la cual fue creado (desde mostrar mensajes hasta destruir archivos). Ejemplo: Una aplicación web en tu celular (Cliente), que se comunica con el servidor web/aplicación de la empresa que procesa tu compra (Capa Central), el cual a su vez consulta la base de datos de inventario del galpón (Capa de Segundo Plano)
Qué es el cambio de contexto (conmutación de proceso)?
El cambio de contexto es el mecanismo mediante el cual el sistema operativo detiene temporalmente un proceso en ejecución para iniciar o reanudar otro proceso en la CPU. Esto exige guardar todo el estado del proceso actual (registros, contador de programa, apuntador de pila y mapa de memoria) en la tabla de procesos, y luego restaurar estos valores para el nuevo proceso. Es un procedimiento costoso en tiempo y rendimiento (invalida la memoria caché), pero indispensable para la multiprogramación.
Explicar la ventaja de utilizar hilos y dar un ejemplo detallado de un nsistema con múltiples hilos y las consecuencias de tener un solo hilo
La ventaja principal de utilizar hilos es que permiten el paralelismo mientras comparten el mismo espacio de direcciones, variables globales y archivos, lo que facilita una comunicación mucho más rápida que entre procesos separados. Además, permiten realizar llamadas al sistema con bloqueo sin que todo el proceso se detenga. Ejemplo: Un procesador de texto (como Word) con tres hilos. El primer hilo interactúa con el teclado y el usuario; el segundo hilo vuelve a dar formato al documento en segundo plano; el tercer hilo se encarga de realizar copias de seguridad en el disco periódicamente. Consecuencia de un solo hilo: Se pierde el paralelismo. Si el procesador de texto tuviera un solo hilo, cada vez que inicie el respaldo en disco (operación lenta), se ignorarían las pulsaciones del teclado y el ratón, "congelando" la aplicación y resultando en una experiencia de rendimiento inaceptable para el usuari
Explique los métodos de administración de memoria libre
- Mapas de bits : La memoria se divide en unidades de asignación. Se utiliza una matriz donde un bit representa cada unidad (0 si está libre, 1 si está ocupada). Es de tamaño fijo, pero cuando se requiere asignar memoria a un proceso grande, el sistema debe realizar una búsqueda lenta bit a bit para encontrar una serie larga de ceros.
- Listas ligadas: Se mantiene una lista enlazada donde cada nodo indica si el tramo es un proceso (P) o un hueco libre (H), incluyendo su dirección de inicio y longitud.
Diagramar y describir las funciones del DMA
El Acceso Directo a Memoria (DMA) es un módulo o chip especial que controla el intercambio de datos entre la memoria principal y un dispositivo de E/S de manera directa, relevando a la CPU de esta tarea. La CPU configura el DMA enviándole el tipo de operación, la dirección de memoria, la dirección del dispositivo y la cantidad de palabras a transferir. Luego de esto, el DMA hace el trabajo por su cuenta y genera una interrupción únicamente cuando finaliza todo el bloque de datos
Metodos para evitar interbloqueos y las estrategias de recuperación
Evitación (Avoidance): Se basa en la asignación dinámica y cuidadosa de los recursos. El SO analiza cada petición en tiempo de ejecución para garantizar que conceder el recurso no llevará al sistema a un "estado inseguro" (por ejemplo, utilizando el Algoritmo del Banquero). Estrategias de Recuperación: Una vez detectado el problema, se usa la recuperación por apropiación (quitar el recurso), recuperación por retroceso (restaurar puntos de comprobación) o recuperación por eliminación (matar procesos)
Diagramar y describir la paravirtualización.
Es una técnica donde el código fuente del Sistema Operativo invitado se modifica intencionalmente para que no intente ejecutar "instrucciones sensibles" que generarían interrupciones y emulaciones lentas en el hardware. En su lugar, el SO modificado es consciente de que está virtualizado y realiza llamadas directas (hiperllamadas / hypercalls) al hipervisor (que actúa como un microkernel) a través de una API para solicitar servicios, mejorando enormemente el rendimiento
Definir la Anomalía de Belady y aclarar a qué algoritmo afecta
La Anomalía de Belady es un fenómeno contraintuitivo donde, al incrementarse la cantidad de memoria física (marcos de página) asignada a un proceso, la tasa de fallos de página aumenta en lugar de disminuir. Este fenómeno afecta de manera exclusiva al algoritmo de reemplazo de páginas FIFO (Primero en entrar, primero en salir)
Nombrar las 7 operaciones validas sobre archivo
Siete operaciones fundamentales y válidas sobre un archivo son: 1. Create (Crear), 2. Delete (Eliminar), 3. Open (Abrir), 4. Close (Cerrar), 5. Read (Leer), 6. Write (Escribir), y 7. Append (Agregar al final)
Nombrar 3 métodos de gestión de E/S en orden de importancia
En orden de evolución tecnológica y eficiencia (de menor a mayor importancia), los tres métodos son:
E/S programada (espera ocupada).
E/S dirigida por interrupciones.
Acceso Directo a Memoria (DMA)
Dibujar una matriz de acceso. ¿Cuál es la diferencia con una lista de permisos?
Esta matriz pone a los Sujetos (usuarios) en las filas, los Objetos (archivos) en las columnas, y los derechos (R, W, Own) en las celdas. Diferencia: La matriz de acceso es una estructura conceptual global y gigante. Una Lista de Control de Acceso (ACL o Lista de permisos) es la descomposición de esa matriz por columnas. Es decir, en la ACL cada objeto (archivo) guarda una lista individual indicando qué usuarios pueden acceder a él y con qué permisos
Dibujar y explicar la estructura Cliente/servidor de 3 capas. Dar un ejemplo
El software se divide en tres máquinas:
- Cliente Ligero (Capa 1): Se encarga de la interfaz gráfica y presentación para el usuario.
- Servidor de Capa Central (Capa 2): Actúa de intermediario o pasarela, concentrando y ejecutando la lógica de la aplicación, e integrando consultas.
- Servidor de Segundo Plano (Capa 3): Dedicado exclusivamente al almacenamiento y la gestión pesada de la base de datos (Backend).
Ejemplo: Una aplicación web en tu celular (Cliente), que se comunica con el servidor web/aplicación de la empresa que procesa tu compra (Capa Central), el cual a su vez consulta la base de datos de inventario del galpón (Capa de Segundo Plano).
Mencionar y Explicar los posibles estados de un proceso.
Un proceso puede encontrarse en uno de estos tres estados lógicos:
- En ejecución (Running): El proceso está utilizando activamente la CPU en ese instante.
- Listo (Ready): El proceso es ejecutable y cuenta con todo lo necesario para correr, pero fue detenido temporalmente para que el sistema operativo (planificador) le otorgue la CPU a otro proceso.
- Bloqueado (Blocked): El proceso no puede ejecutarse, incluso si la CPU estuviera libre, porque está esperando que ocurra un evento externo (como la lectura de un archivo o la pulsación de una tecla) para poder continuar.
Enumerar 4 eventos por los cuales un proceso puede cambiar de estado.
El proceso requiere datos y se bloquea a la espera de una entrada (Pasa de En Ejecución a Bloqueado).
El planificador decide que el proceso ha usado suficiente tiempo de CPU y se la quita (Pasa de En Ejecución a Listo).
El planificador selecciona a este proceso entre los disponibles para asignarle la CPU (Pasa de Listo a En Ejecución).
La entrada/evento externo que el proceso esperaba ya está disponible (Pasa de Bloqueado a Listo)
Explicar cómo funciona el método de intercambio (swapping) en gestión de memoria.
El intercambio funciona llevando un proceso de usuario completo desde el disco hacia la memoria principal, ejecutándolo durante un tiempo determinado por la CPU, y luego regresando el proceso íntegro al disco. De esta manera, los procesos que se encuentran inactivos no ocupan RAM, haciendo espacio para que otros procesos puedan entrar y ejecutarse. Es una estrategia drástica (y lenta, por depender del disco) para lidiar con la sobrecarga cuando la memoria física no alcanza para contener a todos los programas al mismo tiempo
Explique cómo funciona y diagrame el esquema distribución de sistema de archivos
La distribución comienza dividiendo el disco en particiones. El sector 0 contiene el MBR (Master Boot Record) y la tabla de particiones. Dentro de una partición, el esquema típico comienza con un Bloque de arranque, seguido del Superbloque (contiene parámetros clave del sistema de archivos). Luego sigue la Administración del espacio libre (mapas de bits), el arreglo de Nodos-i (que listan atributos y bloques de cada archivo), el Directorio raíz, y el espacio restante se destina a los Archivos y directorios
Explicar los algoritmos de planificación SCAN de n- pasos y FSCAN
Ambos algoritmos resuelven la "pegajosidad del brazo" de disco provocada cuando los procesos monopolizan una pista.
SCAN de n-pasos: Divide la cola general de peticiones en subcolas de tamaño N. El brazo atiende una subcola por completo usando el algoritmo SCAN convencional. Mientras lo hace, todas las peticiones nuevas se añaden a otra subcola de espera para el próximo recorrido.
FSCAN: Utiliza estrictamente dos colas. Al iniciar el movimiento, todas las peticiones están en una cola y se van sirviendo; durante esa búsqueda, cualquier petición nueva se envía indefectiblemente a la segunda cola, que estaba vacía, difiriendo su servicio hasta completar el barrido de la primera
Explicar la diferencia entre verificación proactiva y reactiva de contraseñas.
Reactiva: El sistema ejecuta periódicamente su propio programa de adivinación de contraseñas de fondo. Si logra adivinar la clave de un usuario, se la cancela y le notifica. Es lenta, consume muchos recursos de CPU y deja las claves frágiles expuestas hasta que son descubiertas.
Proactiva: El sistema supervisa y exige reglas estrictas en el mismo momento en que el usuario intenta crear o cambiar su contraseña. Si no cumple con la complejidad exigida o está en un diccionario, la rechaza de inmediato.
¿Cómo se gestiona una E/S virtualizada
El hipervisor actúa como mediador e interceptor. Cuando el SO invitado envía sondeos para detectar hardware, el hipervisor atrapa estas interrupciones y le presenta dispositivos (físicos o emulados). Cuando los drivers del SO invitado intentan leer o escribir en los registros del hardware, estas instrucciones sensibles generan un trap hacia el hipervisor, el cual traduce o copia los valores. Por ejemplo, convierte las peticiones de bloques de un disco virtual en un desplazamiento dentro de un archivo físico oculto en el disco real del hipervisor.
Qué es la segmentacion y cuál es la diferencia con paginación?
La segmentación es una técnica de abstracción lógica que divide la memoria en partes de tamaño variable llamadas segmentos. Cada segmento suele contener un tipo de entidad con sentido para el programador, como un segmento para el código, otro para los datos y otro para la pila. Diferencia principal con la
Paginación: En la paginación, la división se hace en bloques de tamaño fijo (páginas y marcos) y el proceso es completamente transparente (oculto) para el programador, con el único fin de simular un espacio lineal grande. Además, la segmentación sufre de fragmentación externa (huecos entre segmentos), mientras que la paginación sufre de fragmentación interna (desperdicio dentro de la última página)
Describir la secuencia de eventos para el manejo de fallo de página
1. Trap: El hardware atrapa el error y salva el contador de programa (PC) en la pila.
2. Identificación y validación: El SO toma el control en modo kernel, averigua qué dirección virtual falló y comprueba si el acceso es legal.
3. Búsqueda de marco: El SO busca un marco de página físico libre. Si la RAM está llena, ejecuta un algoritmo de reemplazo para seleccionar a una página
víctima.
4. Escritura en disco: Si la página víctima fue modificada (tiene el bit Dirty en 1), se graba en el disco.
5. Lectura desde disco: El SO programa la lectura de la nueva página requerida desde el disco hacia el marco liberado.
6. Actualización de tablas: Se actualiza la tabla de páginas del proceso vinculando el marco físico, y se cambia su bit de presente/ausente a 1.
7. Reinicio: Se restaura el contador de programa y se reinicia la instrucción que provocó el fallo.
Explicar hipervisor tipo 1 y tipo 2 y diferencias.
Hipervisor Tipo 1: Se ejecuta directamente sobre el hardware en modo de kernel. Soporta máquinas virtuales en modo usuario ejecutando Sistemas Operativos invitados que creen estar en modo kernel.
Hipervisor Tipo 2: Se ejecuta como una aplicación de usuario normal sobre un Sistema Operativo Anfitrión. Instala el SO invitado en un archivo lógico y emula las instrucciones sensibles mediante traducción binaria, dependiendo del anfitrión para interactuar con los dispositivos físicos.
¿Cuáles son las ventajas puntuales de usar RAID 5 sobre RAID 4?
La ventaja primordial de RAID 5 es que elimina el cuello de botella en las operaciones de escritura que sufre el esquema RAID 4. En RAID 4, toda la información de paridad matemática se graba en un solo disco fijo, el cual se satura porque todas las actualizaciones del sistema deben pasar obligatoriamente por él. RAID 5 soluciona esto distribuyendo las bandas de paridad de manera rotatoria (entrelazada) entre todos los discos del vector, permitiendo operaciones independientes de escritura en paralelo
Mencionar un ejemplo de cuándo se usan las cuotas de disco
Las cuotas de disco se utilizan en sistemas operativos multiusuario para evitar que un solo usuario monopolice la capacidad del almacenamiento. Un ejemplo clásico es cuando el administrador asigna un límite máximo de bloques o archivos permitidos para los alumnos en un servidor universitario o a los empleados de un departamento en una empresa, previniendo que acaparen la totalidad del disco rígido
En un Tipo 1 con SO Anfitrión y SO Invitado, ¿cuál de ellos tiene contacto directo con el hardware?
Esto es una pregunta con "trampa". En un hipervisor de Tipo 1 no existe el SO Anfitrión; es el Hipervisor mismo quien se instala y tiene contacto directo con el hardware. El SO Invitado se ejecuta en un nivel superior en un contenedor de modo usuario.
¿Cuál es la función principal de la unidad de acceso a memoria (MMU)?
La función principal de la MMU (Unidad de Administración de Memoria) es traducir dinámicamente las direcciones lógicas o virtuales generadas por la CPU en direcciones físicas reales de la memoria RAM. Toma el número de página virtual para buscar el marco físico en la tabla de páginas, y luego le concatena el desplazamiento inalterado para enviar la dirección física final al bus de memoria.
Qué es un cluster? Qué son los nodos?
Un cluster es un grupo de computadoras completas, independientes e interconectadas que trabajan en conjunto como si fueran un único recurso de computación unificado (brindando la ilusión de ser una sola máquina para el exterior). Los nodos son cada una de esas computadoras individuales que conforman activamente el cluster.
Qué sucede si dos relojes físicos están desincronizados? Explicar la solución y cómo afecta a la coherencia de datos
Si en un sistema distribuido los relojes están desincronizados, se pierde la noción del "orden causal". Esto destruye la coherencia de los datos porque una actualización de un archivo o base de datos que se realizó hoy podría registrarse con una fecha anterior a su versión original; el sistema no sabría qué transacción ocurrió primero y versiones obsoletas podrían sobreescribir datos nuevos. La solución es utilizar algoritmos de sincronización de relojes (como los tiempos lógicos de Lamport) o la sincronización física de tiempo en red
Cuales son los aspectos de diseño de sistemas necesarios para el funcionamiento de un cluster?
Gestión de fallos: Capacidad del SO para soportar Alta Disponibilidad (recuperación ante fallos derivando peticiones perdidas a otros nodos, llamado Failover/Failback) o Tolerancia a Fallos (evitar interrupción y asegurar transacciones usando discos redundantes).
- Equilibrado de carga: Capacidad para distribuir la carga de tareas automática y equitativamente cuando se suma un nuevo nodo o fluctúa la demanda.
- Computación paralela: Proveer entornos y herramientas (compilación, aplicaciones paralelas o paramétricas) que permitan dividir un trabajo pesado para ejecutarlo simultáneamente en varios nodos
¿Cuál es el motivo principal para el uso de la paginación y qué ocurre si el tamaño de página es demasiado pequeño?
El motivo principal para usar la paginación es crear la abstracción de un gran espacio de direcciones continuo, logrando así que los programas puedan ser más grandes que la memoria física instalada (memoria virtual) y resolviendo el problema de la fragmentación externa. Si el tamaño de página es demasiado pequeño, la ventaja es que se reduce la fragmentación interna. Sin embargo, sus desventajas son que las tablas de páginas se vuelven enormes y consumen mucha RAM, la cobertura o eficiencia del TLB disminuye provocando más fallos, y las transferencias de disco pierden eficiencia porque cargar una página minúscula requiere casi el mismo tiempo de posicionamiento y latencia que una grande
Qué es la memoria virtual? Mencione sus beneficios.
La memoria virtual es una técnica que desacopla el espacio de direcciones lógicas de la memoria RAM física, permitiendo que los programas se ejecuten incluso cuando sus páginas solo se encuentran cargadas de forma parcial en la memoria principal.
Beneficios:
Permite ejecutar programas que son mucho más grandes que la memoria física instalada.
Al ocupar cada proceso menos espacio físico a la vez, se pueden cargar más procesos simultáneamente, lo que aumenta el grado de multiprogramación y la utilización de la CPU.
Disminuye la cantidad de E/S necesaria al inicio, permitiendo que los programas comiencen a ejecutarse mucho más rápido.
Desarrollar sobre condiciones de carrera, explicar con ejemplo.
Una condición de carrera ocurre cuando dos o más procesos o hilos leen y escriben en un espacio de memoria o en archivos compartidos simultáneamente, de modo que el resultado final es impredecible y depende de quién se ejecuta y en qué momento exacto lo hace.
¿Cuáles son las diferencias entre el bit de referencia y el bit de modificado?
El bit de referencia se activa cada vez que se accede a la página. El bit de modificado o "dirty bit" se activa únicamente cuando se escribe o modifica el contenido de la página El algoritmo NRU utiliza el bit de referencia y modificacion para clasificar las paginas de la memoria en cuatro categorias de prioridad y decidir cual debe ser reemplazada cuando ocurre un fallo de pagina.
¿Por qué es mejor la memoria compartida que el envío de mensajes en comunicación entre procesos distribuidos?
La memoria compartida distribuida se considera mejor para el programador porque permite a múltiples procesos acceder y compartir variables/páginas a través de la red simulando que residen en un solo espacio de direcciones lineal.
En el diseño de control de acceso, explique la diferencia estructural entre utilizar una Lista de Control de Acceso (ACL) y una Lista de Capacidades (Tickets) a la hora de descomponer una matriz de acceso
La matriz de acceso global del sistema ubica a los sujetos en las filas, los objetos en las columnas y los derechos en las celdas. Se descompone en listas debido a su ineficiencia y tamaño.
Lista de Control de Acceso (ACL): Se genera al descomponer la matriz por columnas. La ACL se asocia férreamente al Objeto (ej. un archivo) y enumera explícitamente qué usuarios (Sujetos) tienen permiso para interactuar con él, y qué tipo de derechos poseen.
Lista de Capacidades (Tickets): Se genera al descomponer la matriz por filas. Esta lista se asocia directamente al Sujeto (usuario o proceso), enumerando todos los objetos sobre los cuales este usuario tiene autorización y con qué operaciones. A diferencia del ACL, el sistema de Capacidades funciona como portar un "ticket" irrefutable; al presentarlo, el usuario obtiene el acceso garantizado al recurso sin que se tenga que verificar el objeto.
Qué es una región crítica?
Mencionar las condiciones para evitarlas
Una región crítica (o sección crítica) es la porción específica del código de un programa donde un proceso accede a la memoria, variables o archivos compartidos, y donde las condiciones de carrera pueden producirse. Para evitar interponerse (exclusión mutua), se deben cumplir 4 condiciones:
- No puede haber dos procesos de manera simultánea dentro de sus regiones críticas.
- No pueden hacerse suposiciones acerca de las velocidades o el número de CPUs disponibles.
- Ningún proceso que se ejecute fuera de su región crítica puede bloquear o impedir a otros procesos.
- Ningún proceso tiene que esperar para siempre (inanición) para entrar a su región crítica
Explicar la diferencia entre ambos [Imagen en la cual había en espacio de usuario 3 procesos con 1 hilo cada uno, y otro con 1 proceso con los 3 hilos]
La diferencia radica en el nivel de aislamiento y los recursos compartidos. En el caso de 3 procesos independientes, cada uno posee su propio espacio de direcciones aislado; no comparten variables globales, memoria ni archivos abiertos, lo que provee gran protección pero hace que comunicarse entre sí sea costoso. En el caso de 1 proceso con 3 hilos, los tres hilos operan concurrentemente compartiendo el mismo espacio de direcciones, las mismas variables globales y los archivos, lo que permite una comunicación extremadamente rápida y directa, aunque un error fatal en un hilo compromete a todo el proceso.
¿Cuáles son las metas de los algoritmos de planificación de todos los sistemas?
Existen tres metas universales aplicables a cualquier tipo de sistema operativo:
- Equidad: Asegurarse de otorgar a cada proceso una porción justa del tiempo de la CPU, evitando que alguno sufra inanición.
- Aplicación de políticas: Verificar que el sistema respete y lleve a cabo de forma efectiva las políticas locales de administración establecidas (ej. respetar prioridades impuestas).
- Balance: Mantener ocupadas todas las partes del sistema (tanto la CPU como los diversos dispositivos de E/S) simultáneamente para maximizar la eficiencia general.
Como implementar hilos Kernel?
Para implementarlos, el núcleo (kernel) mantiene una tabla de hilos global para llevar la cuenta de todos los hilos en el sistema, en lugar de que cada proceso posea su tabla privada. Cuando se desea crear o destruir un hilo, se realiza directamente una llamada al sistema al kernel, actualizando dicha tabla global. Su ventaja crucial es que si un hilo invoca una operación bloqueante (como E/S o un fallo de página), el kernel puede planificar y ceder la CPU a otro hilo distinto del mismo proceso (o de otro) sin bloquear al proceso completo
Explicar el dilema del quantum (por qué no ponerlo en 1 hora o 1 microsegundo
El dilema en el algoritmo Round Robin radica en encontrar el tamaño de quantum ideal que equilibre la eficiencia de la CPU con el tiempo de respuesta interactivo. Si se configura muy corto (ej. 1 microsegundo), la CPU desperdiciará la mayor parte de su tiempo realizando cambios de contexto (guardar registros, mapas de memoria, invalidar cachés) en lugar de hacer trabajo útil, hundiendo la eficiencia del sistema. Si se configura muy largo (ej. 1 hora), el tiempo de respuesta empeorará severamente; los procesos mantendrán la CPU por mucho tiempo y los usuarios interactivos percibirán un gran "lag" o retraso en las respuestas.
Qué sucedería en un Round Robin si el quantum fuera infinito
Si el quantum fuera infinito, el algoritmo degeneraría y se convertiría en un algoritmo FCFS (Primero en Entrar, Primero en Salir). La CPU jamás apropiaría a un proceso por expiración de tiempo; cada proceso se ejecutaría ininterrumpidamente hasta que termine de forma voluntaria o se bloquee por una operación de E/S.
Explique cómo funcionan los algoritmos de Planificación Garantizada y Planificación por Lotería.
Ambos son algoritmos con enfoques poco convencionales para asegurar un reparto equitativo del procesador:
- Planificación Garantizada: el Sistema Operativo hace promesas reales al usuario y trabaja matemáticamente para cumplirlas (ej. si hay n procesos, garantizar a cada uno exactamente x cantidad del poder de la CPU). El sistema lleva la cuenta del tiempo de CPU que consumió cada proceso y calcula su "proporción de uso" frente a lo prometido. El planificador siempre selecciona y ejecuta el proceso que tiene la proporción más baja (el que ha sido más "perjudicado" históricamente) hasta equilibrar el sistema.
- Planificación por Lotería: reparte boletos de lotería virtuales a los procesos para el acceso a la CPU. En cada decisión de planificación, el SO hace un "sorteo" aleatorio y el ganador obtiene el recurso. A los procesos más importantes se les otorgan más boletos, aumentando su probabilidad estadística de ganar; por ejemplo, un proceso con el 20% de los boletos recibirá, a la larga, el 20% del tiempo de CPU
Defina tabla de páginas y explique cómo se utiliza
Una tabla de páginas es la estructura de datos que utiliza el sistema de memoria virtual para asociar las páginas virtuales de un proceso con los marcos de página de la memoria física. Cómo se utiliza: Cuando un proceso emite una dirección lógica, la MMU la divide en dos campos: el número de página virtual y el desplazamiento. El número de página se usa como índice para buscar en la tabla. Si el bit de presente indica que la página está en RAM, la tabla devuelve el número de marco de página físico. Finalmente, el hardware concatena este marco con el desplazamiento inalterado para formar la dirección física exacta que se enviará al bus de memoria
Enumerar las ventajas y desventajas de las tablas de páginas locales vs globales
En la politica de reemplazo local cada proceso reemplaza páginas únicamente dentro de sus marcos asignados. En una asignación fija, su ventaja es que proporciona mayor independencia entre procesos. Su desventaja es que puede desperdiciar memoria cuando disminuye el conjunto de trabajo y provocar sobrepaginación cuando este supera los marcos asignados.
En la politica de reemplazo global, permite seleccionar páginas para reemplazo entre los marcos de distintos procesos, adaptando dinámicamente la distribución de memoria. Su ventaja es que puede aprovechar mejor la RAM disponible. Su desventaja es que un proceso con mucha demanda puede quitarle marcos a otros y perjudicar su rendimiento.
¿Qué es el TLB (Translation Lookaside Buffer) y cómo ayuda a acelerar la paginación? Además, explique qué ocurre y quién debe intervenir durante un "TLB miss".
El TLB (Búfer de Traducción Adelantada o Memoria Asociativa) es un caché especial y extremadamente rápido ubicado directamente en el interior de la MMU (hardware). Su función es acelerar la paginación, ya que almacena las asociaciones más recientes entre páginas virtuales y marcos de página físicos. Al generar una dirección virtual, el hardware consulta el TLB en paralelo; si hay una coincidencia (TLB hit), obtiene el marco directamente y evita el costoso viaje a la RAM para consultar la tabla de páginas. Cuando ocurre un "TLB miss" (la página no está en el TLB), se requiere un acceso a la memoria principal para leer la tabla de páginas. Dependiendo de la arquitectura, si el manejo es por hardware, la MMU lo resuelve por sí sola. Si la arquitectura delega esto al software (como en MIPS o SPARC), el Sistema Operativo debe intervenir; recibe una falla, toma el control en modo kernel, busca la traducción correcta en la tabla de páginas, la inserta manualmente en el TLB y luego reinicia la instrucción del proceso
Explique el modelo del Conjunto de Trabajo (Working Set). ¿Cómo se relaciona este concepto con la prepaginación y con el fenómeno de sobrepaginación (thrashing)?
El Conjunto de Trabajo se basa en el principio de localidad de referencia y se define como el conjunto de páginas que un proceso está utilizando activamente en un momento dado de su fase de ejecución. Relación con la prepaginación: La prepaginación consiste en cargar de antemano todo el conjunto de trabajo a la memoria RAM antes de dejar que el proceso corra, evitando así la avalancha inicial de fallos de página por demanda. Relación con el Thrashing: Si la memoria RAM física es tan pequeña que no alcanza a contener el conjunto de trabajo completo de todos los procesos activos, se producirá un aumento descontrolado de fallos de página.
Dibujar y explicar el Algoritmo de Frecuencia de Fallo de Páginas (PFF)
El Algoritmo de Frecuencia de Fallo de Páginas (PFF) es un modelo de asignación global que regula la cantidad de marcos que se le otorgan a cada proceso para evitar el thrashing. Utiliza límites: si la tasa de fallos de página de un proceso supera un umbral superior (línea A), el SO asume que le falta RAM y le asigna más marcos. Si la tasa cae por debajo de un umbral inferior (línea B), asume que tiene memoria de sobra y le quita marcos para dárselos a otros
Mencione 6 atributos de archivos y expliquelos brevemente
Seis atributos de archivo comúnmente guardados por el SO son:
Protección: Define quién puede acceder al archivo y qué puede hacer con él (leer, escribir, ejecutar).
Propietario / Creador: Identifica al usuario que creó o es dueño actual del archivo.
Bandera de sólo lectura (Read-only): Un bit que impide que el archivo sea modificado o borrado accidentalmente.
Bandera de oculto (Hidden): Un bit que indica al sistema que no muestre el archivo en los listados normales de directorios.
Tamaño actual: Indica el número de bytes que el archivo ocupa en ese instante.
Hora de creación / última modificación / último acceso: Marcas de tiempo que registran el ciclo de vida del archivo, útiles para respaldos automáticos o actualizaciones en compiladores
¿Para qué sirve un directorio?
Un directorio sirve para agrupar archivos relacionados y organizar la estructura jerárquica del sistema de archivos. Su función técnica principal es asociar el nombre lógico (ASCII) de un archivo con la información necesaria para localizar sus datos en el disco, como el número del primer bloque o su número de inodo.
Dibujar y explicar la técnica de asignación enlazada
En la técnica de asignación enlazada, cada archivo se mantiene como una lista enlazada de bloques dispersos en el disco. El directorio guarda la dirección del primer bloque; dentro de ese bloque, se usa la primera palabra como puntero al bloque siguiente y el espacio restante se usa para los datos. Es excelente porque evita la fragmentación externa, pero es extremadamente lenta para accesos directos/aleatorios y tiene una baja fiabilidad, ya que si un puntero se corrompe se pierde todo el resto del archivo
Describa cómo se implementan los archivos mediante Nodos-i (Inodes) para archivos gigantes. Explique los esquemas de apuntadores directos, bloque indirecto simple, indirecto doble e indirecto triple.
La implementación mediante Nodos-i asigna a cada archivo una estructura de datos pequeña (el Inodo) que contiene los atributos del archivo y un conjunto de apuntadores (direcciones) para localizar los bloques de datos esparcidos en el disco.
Apuntadores directos: Apuntan directamente a los bloques físicos que contienen los datos del archivo en el disco. Bloque indirecto simple: Cuando se acaban los apuntadores directos, este apuntador redirige a un bloque en el disco que funciona como una "tabla de apuntadores" donde cada uno dirige a bloques de datos. Bloque indirecto doble: Apunta a un bloque de disco que contiene referencias a bloques indirectos simplesBloque indirecto triple: Apunta a bloques que, a su vez, apuntan a bloques indirectos dobles, posibilitando que el archivo alcance tamaños en escalas masivas
¿Qué es el Journaling (Bitácora) en los sistemas de archivos y cómo protege la consistencia de los datos ante cortes de energía repentinos?
El Journaling (Sistemas de Archivos con Bitácora) es una técnica vital para proteger la integridad y consistencia estructural del disco. Antes de realizar cualquier cambio real en los bloques de datos o en los directorios del sistema de archivos, el Sistema Operativo escribe exhaustivamente sus intenciones de actualización en un registro secuencial protegido denominado bitácora (journal). Si se produce una caída catastrófica del sistema o un corte de energía, al reiniciar, el sistema lee rápidamente este archivo de bitácora. Al hacerlo, puede detectar exactamente qué transacciones de datos quedaron interrumpidas a la mitad. El SO puede entonces aplicar (rehacer) las transacciones si estaban completas en la bitácora, o anularlas completamente, asegurando que el disco nunca quede en un estado corrupto o inconsistente
Estructura logica del sistema de E/S.
Es una estrategia de diseño modular y jerárquico que el Sistema Operativo utiliza para ocultar la complejidad y los detalles de los dispositivos de hardware. Sus capas clásicas incluyen: E/S Lógica (abstracción para el usuario), E/S de Dispositivo (conversión a comandos de controlador) y Planificación y Control (manejo de interrupciones y colas).
Explicar el recorrido que hace un dato desde que es leído del disco y qué sucede si hay un
intercambio
Al emitir una lectura, el DMA comienza a transferir el dato desde el disco directamente al búfer en la memoria principal del proceso. Si en ese momento ocurre un intercambio (swapping o reemplazo de páginas global), existe el riesgo de que el algoritmo expulse la página que contenía el búfer de E/S y asigne ese marco a otro proceso. Como el DMA utiliza direcciones físicas absolutas y no sabe que la página cambió, escribirá los datos de disco sobre la nueva página, corrompiendo la memoria. Esto se soluciona realizando un bloqueo de página (pinning), fijando la página en la RAM para que no sea eliminada hasta que la E/S finalice.
¿Cuáles son las 4 formas de recuperarse de un interbloqueo de procesos?
Nombrar y desarrollar
(Nota importante para el examen: Existen 4 estrategias generales para lidiar con los interbloqueos (Avestruz, Detección, Evitación y Prevención), pero específicamente para recuperarse una vez que se ha detectado el interbloqueo, la bibliografía de tu cátedra marca tres formas)
- Recuperación por apropiación: Consiste en quitarle forzosamente un recurso a su propietario actual y otorgarlo a otro proceso para romper el ciclo de espera, lo cual es muy difícil dependiendo del hardware.
- Recuperación a través del retroceso (rollback): El sistema guarda periódicamente puntos de comprobación (checkpoints) del estado de los procesos. Al detectar el interbloqueo, se hace retroceder a un proceso a un punto anterior a la adquisición del recurso conflictivo, perdiendo el trabajo reciente pero liberando el recurso.
- Recuperación a través de la eliminación de procesos: Es la más drástica; consiste en matar forzosamente a uno o más procesos involucrados en el ciclo (o a un proceso ajeno que tenga el recurso necesario) para que el sistema operativo reclame sus recursos.
Explicar que representa cada figura en los siguientes gráficos: [Modelado de
interbloqueos]
En los grafos de recursos de Holt:
Un círculo representa un proceso.
Un cuadrado representa un recurso.
Un arco dirigido del recurso (cuadrado) al proceso (círculo) indica que el recurso ya fue asignado y actualmente es contenido por ese proceso.
Un arco dirigido del proceso (círculo) al recurso (cuadrado) indica que el proceso está bloqueado solicitando y esperando adquirir dicho recurso
Ejercicio teorico-practico de procesos y recursos.
(obligatorio).
[1- A contiene a R y quiere a S, 2- B no contiene nada y quiere a T, 3- C no contiene nada y quiere a S, 4- D contiene a U y quiere a S y T, 5- E contiene a T y quiere a V, 6- F contiene a W y quiere a S, 7- G contiene a V y quiere a U]
Sí, se produce un interbloqueo en este sistema. Al graficar las asignaciones y peticiones, se forma un ciclo cerrado que involucra exclusivamente a los procesos D, E y G. El bloqueo ocurre en esta cadena: el proceso D espera por el recurso T (contenido por E), el proceso E espera por el recurso V (contenido por G), y el proceso G espera por el recurso U (contenido por D).
Explicar qué módulo maneja la "Estrategia del Avestruz"
La Estrategia del Avestruz consiste en ignorar el problema. Generalmente, el módulo que toma esta decisión pasiva es el driver (controlador de dispositivo) junto con el Sistema Operativo. Cuando un proceso solicita un dispositivo ocupado, el driver simplemente lo bloquea o le devuelve un código de error, "ignorando" el hecho de que esta espera pueda estar generando un interbloqueo, ya que el costo de prevenirlo superaría al beneficio.
Explicar con un ejemplo por qué quitar un recurso puede ser peor que la situación actual
Expropiar forzosamente un recurso no apropiativo a la mitad de su uso corrompe de manera irreversible la operación del proceso. Ejemplo: Si un proceso comenzó a grabar (quemar) un CD-ROM o enviar datos a un trazador gráfico y el Sistema Operativo le quita repentinamente el dispositivo para asignarlo a un proceso diferente, se obtendrá como resultado un CD inservible lleno de basura o un gráfico destruido. La pérdida de materiales y datos hace que la acción sea peor que intentar otra estrategia.
Nombre y describa brevemente las 4 capas del software de E/S
El sistema operativo organiza la complejidad del hardware en una estructura lógica modular de 4 capas:
- Manejadores de interrupciones (Capa Inferior): Actúa a nivel de hardware, oculta los detalles eléctricos capturando las señales asíncronas de los dispositivos y su misión es "despertar" al driver correspondiente una vez que el hardware completó una tarea.
- Device Drivers (Manejadores de dispositivos): Capa específica de código para cada tipo y marca de periférico. Aceptan pedidos abstractos de arriba ("lee este bloque") y los traducen a la complicada serie de registros y comandos que el controlador de hardware exige.
- Software independiente del dispositivo: El cerebro unificador del SO. Se encarga de funciones comunes como el buffering (memorias intermedias), manejo de errores genéricos, control de permisos y proporciona la independencia de dispositivo (creando los nombres lógicos y abstrayendo a todos en llamadas estándar como read y write).
- Software a nivel de usuario (Capa Superior): Son las bibliotecas vinculadas a las aplicaciones (como stdio.h en C) que ofrecen la interfaz limpia para el programador y manejan el formato de los datos o el spooling (como las colas para un dispositivo de uso no exclusivo).
¿Cuáles son los requisitos de la seguridad informática?
- Confidencialidad: Garantizar que la información solo esté accesible para lectura a las partes autorizadas.
- Integridad: Asegurar que los datos y el sistema solo puedan ser modificados, creados o borrados por partes autorizadas.
- Disponibilidad: Garantizar que los componentes del sistema estén siempre disponibles y utilizables para las partes autorizadas.
- Autenticación: Capacidad del sistema informático de verificar y confirmar de forma inequívoca la identidad de los usuarios.
Explicar qué es la intrusión, en qué afecta, y definir qué es un ataque DoS y el principio de privilegio mínimo
Intrusión: Es el acto por el cual un individuo (enmascarado, trasgresor o usuario clandestino) gana acceso no autorizado a un sistema o incrementa maliciosamente su rango de privilegios.
En qué afecta: Afecta directamente la confidencialidad (robo de contraseñas/datos), la integridad (modificación o destrucción del sistema) y la disponibilidad.
Ataque DoS (Denegación de Servicio): Es un ataque activo que busca sobrecargar, imposibilitar o desarticular el uso normal y la gestión de las instalaciones de comunicación de un sistema o servidor.
Principio de privilegio mínimo: Es la práctica de otorgar a cada proceso, usuario o programa únicamente los permisos y recursos estrictamente necesarios para cumplir su función, reduciendo así la posibilidad de daño si el sistema es comprometido.
¿Cuál es el problema con tener un diccionario de '“malas contraseñas”?
El problema radica en dos factores: el espacio y el tiempo. Para que sea eficaz, el diccionario debe ser gigantesco, ocupando muchísimo espacio en memoria.
Además, el tiempo y procesamiento requeridos por el sistema operativo para verificar todas y cada una de las permutaciones de una contraseña elegida por el usuario contra esa inmensa lista resulta excesivo e ineficiente
Que es y en que afecta la intrusión?
Es el acceso o escalamiento de privilegios no autorizado por parte de un atacante o usuario (hacker/cracker). Afecta a todos los pilares de la seguridad, comprometiendo bases de datos (confidencialidad), alterando el funcionamiento de procesos/archivos (integridad) y potencialmente destruyendo el sistema o impidiendo el paso a usuarios legítimos (disponibilidad)
Explicar la diferencia entre autenticación y autorización
La autenticación es el paso donde el sistema verifica quién eres (por ejemplo, validando tu ID y contraseña al iniciar sesión). La autorización (o control de acceso) es el paso posterior donde el sistema, mediante perfiles, ACL o matrices, decide qué se te permite hacer (por ejemplo, leer, modificar o eliminar un archivo específico) una vez que ya estás dentro.
Defina qué es una "Puerta Secreta" (Trapdoor/ Backdoor) y qué es una "Bomba Lógica" en el contexto de las clasificaciones de software malicioso
Ambos son vulnerabilidades de software orientadas a quebrantar la seguridad del sistema:
Puerta Secreta (Trapdoor): Es un punto de entrada no documentado que provee acceso privilegiado eludiendo todos los procedimientos de autenticación y seguridad estándar del sistema. A menudo son insertadas de manera deliberada por programadores sin escrúpulos o por desarrolladores durante la fase de depuración para probar el software sin tener que loguearse, convirtiéndose en vulnerabilidades críticas cuando quedan olvidadas o descubiertas por un atacante en entornos en producción.
Bomba Lógica: Es un tipo de malware incrustado sigilosamente en programas legítimos (o como código independiente) diseñado expresamente para que se "detone" cuando ocurre una condición o un evento lógico específico en el sistema. El disparador podría ser alcanzar una fecha determinada o que un empleado deje de aparecer en la nómina, tras lo cual se ejecutará la carga útil, comúnmente con acciones de destrucción y borrado masivo
Que es un middleware?
Es un software que se sitúa entre las aplicaciones cliente/servidor y el sistema operativo. Funciona como una capa de "pegamento" o mediadora que oculta la complejidad y heterogeneidad de la red, facilitando una comunicación uniforme a través de Interfaces de Programación de Aplicaciones (API) o Llamadas a Procedimiento Remoto (RPC) estandarizadas.
Mencionar las cosas que ayudan al Cluster a optimizar el funcionamiento
Las funciones que optimizan al cluster lo hacen implementando una "Imagen del sistema único". Incluyen: Punto de entrada único, jerarquía de archivos única, espacio de memoria única, espacio de procesos único, red virtual única, migración de procesos, y manejo de puntos de control
En las aplicaciones cliente/servidor, explique la diferencia entre el procesamiento basado en el host, basado en el servidor, basado en el cliente y el procesamiento cooperativo.
Estas categorías se diferencian por cuál de las dos computadoras carga con el "peso" del procesamiento lógico en una red distribuida:
Basado en el Host (Mainframe): El servidor principal, monolítico y centralizado, ejecuta toda la lógica de aplicación y almacena los datos, mientras que el cliente es degradado a operar como una simple terminal "boba", encargándose casi exclusivamente de las teclas enviadas y la pantalla visualizada.
Basado en el Servidor: Todo el entorno de procesamiento es alojado y ejecutado por el servidor; el cliente presenta una interfaz mejorada e inteligente (como un navegador de un sistema web), pero envía todas las reglas al servidor para que decida.
Basado en el Cliente (Fat Client): El equipo local asume el rol del procesamiento de negocio pesado, haciendo los cálculos intensivos, mientras relega al servidor a desempeñarse como un simple ente pasivo para el repositorio y la manipulación profunda de la base de datos.
Procesamiento Cooperativo: El ideal distribuido. Ambos equipos asumen un papel activo. Una porción crítica y predefinida del programa central se procesa en la máquina cliente y otra, paralelamente vinculada a ella, en el servidor, equilibrando y delegando tareas de modo inteligente.
Graficar vitualización de tipo 1 y diferencias con tipo 2
Diferencia: El hipervisor de Tipo 1 se ejecuta directamente sobre el hardware de la máquina (bare-metal) en modo kernel y controla directamente las máquinas virtuales. El hipervisor de Tipo 2 es un programa de usuario que se ejecuta como una aplicación sobre un Sistema Operativo Anfitrión (como Windows o Linux) e interpreta el conjunto de instrucciones.
El sist funcionaba lento y apagarlo y prenderlo no era opcion. (texto larguísimo que decía que una pc tenía varias máquinas virtuales con un hipervisor tipo 1 y que funcionaba lento, que habían probado reiniciando y seguía funcionando mal. Te daba también todas las especificaciones de la memoria ram, el disco, el procesador (para que no vayas por la típica de agregarle más ram o cambiar el procesador) y tenía todo lo mejor. Y decía que como eras experto en sistemas operativos tenías que darles una solución).
[Final]
Siendo un sistema con hipervisor Tipo 1 (lo que indica que el software base es altamente eficiente) y especificaciones de hardware al máximo, el problema no es de falta de componentes individuales, sino una limitación arquitectónica por saturación de los canales o carga centralizada. La solución óptima como experto es migrar esta arquitectura centralizada hacia un Clúster o unidad de procesamiento distribuido. Al conectar múltiples servidores físicos trabajando como un único sistema unificado (imagen de sistema único), se logrará el balanceo de carga dinámico de las máquinas virtuales y las peticiones, permitiendo el crecimiento sin exigir más a un solo hardware y asegurando la Alta Disponibilidad.
Explicar cómo la virtualización, empleando un hipervisor traductor, permite ejecutar un programa de hace 20 años en un servidor moderno
El hipervisor, mediante traducción binaria dinámica, analiza el código del sistema operativo invitado e identifica las instrucciones sensibles, reemplazándolas por secuencias que permiten ejecutar sus operaciones de forma controlada. Además, virtualiza la E/S emulando dispositivos para que el sistema invitado pueda utilizar el hardware físico.
Explicar cómo funciona la planificación de procesos en un hipervisor de Tipo 2 y por qué tiene un rendimiento menor
Dado que el hipervisor de Tipo 2 funciona como un programa de usuario ordinario, la planificación de sus procesos depende netamente del planificador del Sistema Operativo Anfitrión (Host OS). Tiene un rendimiento menor porque cada instrucción, interrupción o acceso de E/S que intenta hacer el SO invitado debe atravesar todas las capas del hipervisor y luego todas las capas del SO Anfitrión, compitiendo además por la CPU contra el resto de los programas normales del usuario (como un navegador o antivirus) en la máquina anfitriona
Dibujar y explicar latécnica de asignación de archivos “Asignación enlazada”
En este método, los archivos no requieren bloques contiguos. Se mantiene cada archivo como una lista enlazada de bloques dispersos por el disco. El directorio solo almacena la dirección del primer bloque. Dentro de cada bloque, la primera palabra (o puntero) indica la dirección del bloque siguiente, y el resto del espacio se emplea para datos. Esto elimina la fragmentación externa, pero es lento para el acceso directo
Dado un disco con cilindros, platos, RPM, tiempos de posicionamiento (seek) y velocidad de transferencia, calcular el tiempo total de transferencia para leer o escribir sectores consecutivos y al azar, y explicar qué pasaría con la fórmula si el disco fuese de estado sólido (SSD o M.2)
Sectores Consecutivos: El tiempo de posicionamiento (seek) y el tiempo de latencia se suman una sola vez, y luego se suma el tiempo de transferencia multiplicado por la cantidad de sectores a leer.
Sectores al Azar: El tiempo de posicionamiento, la latencia y el tiempo de transferencia se deben sumar por cada uno de los sectores individuales que se requiera leer.
Caso SSD (Estado Sólido): Si el disco fuese un SSD, de la fórmula de tiempo total se eliminarían el tiempo de posicionamiento y la latencia rotacional, ya que al ser almacenamiento electrónico no hay un brazo mecánico que mover ni platos girando. Solo quedaría el tiempo de transferencia electrónica.
Teniendo un conjunto de discos (ej: 4 discos de 1 Tera), elegir y justificar entre la instalación de un RAID 1 o un RAID 5, enunciando ventajas y desventajas y analizando el aprovechamiento real de almacenamiento de cada caso
RAID 1 (Espejo): Genera una copia exacta de los datos. Su desventaja es que desperdicia el 50% del espacio, otorgando un aprovechamiento real de solo 2 Terabytes. Tiene como ventaja la recuperación inmediata ante fallos. RAID 5 (Paridad Distribuida): Reparte los datos y bloques de paridad entre todos los discos. Tiene la ventaja de un mayor aprovechamiento del espacio mediante la fórmula N−1, otorgando 3 Terabytes útiles y tolerando el fallo de un disco.
Justificación: Se elegiría RAID 5, ya que ofrece un mejor equilibrio general, garantizando redundancia pero con un aprovechamiento real del espacio del 75% frente al pobre 50% de capacidad útil de un arreglo RAID 1