Memoria Virtual
Memoria Virtual
¿Por qué no es necesario que los fragmentos de un programa estén contiguos en la memoria principal para su ejecución?
Respuesta: Esto es posible por la combinación de la traducción dinámica de las direcciones y el uso de la tabla de páginas o segmentos.
¿Qué es hiperpaginación?
Respuesta: Si se expulsa un fragmento antes de ser usado, tendrá que traerlo de nuevo casi de manera inmediata. Demasiados intercambios conducen a la hiperpaginación.
¿Por qué es fundamental el principio de cercanía en la memoria virtual?
Respuesta: Para evitar la hiperpaginación, intenta adivinar los fragmentos que se van a usar.
¿Qué función tiene el bit de modificado tanto en paginación como en segmentación?
Respuesta: Indica si se ha modificado la página.
¿Cuál es el beneficio de usar el Buffer de Traducción Adelantada (TLB)?
Respuesta: Sirve como memoria caché para las entradas de la tabla de páginas.
¿Qué objetivos tienen los algoritmos de gestión de memoria?
Respuesta: Se busca minimizar el fallo de memoria.
¿Cuál es una forma de evitar que las páginas donde reside el núcleo del sistema operativo sean reemplazadas?
Respuesta: Bloqueo de marcos.
Explique el algoritmo del reloj para reemplazo.
Respuesta: Requiere asociar un bit adicional a cada marco denominado bit de uso.
Cuando se carga una página por primera vez en un marco de memoria, el bit de uso se pone a cero.
Cuando se hace referencia a la página, el bit se pone a 1.
Cuando es tiempo de reemplazar una página, el primer marco encontrado con el bit de uso en cero es reemplazado.
Durante la búsqueda, cada bit de uso que tiene 1 es cambiado a 0.
¿Qué criterios se usan para determinar qué procesos son candidatos a suspensión?
Respuesta: Aquellos que fallaron, aquellos que necesitan un dato y/o recurso que no está disponible en el momento.
¿Qué soporte da el procesador para la gestión de memoria virtual?
Respuesta: Las interrupciones.
Gestión de E/S
¿En qué técnica para realizar la E/S el procesador tiene que estar chequeando que haya terminado la operación de E/S?
Respuesta: Entrada y salida programada.
Explique qué ventajas tiene el módulo de Acceso Directo a Memoria (DMA) frente a E/S programada y E/S con interrupciones.
Respuesta: Es capaz de tomar el control para transferir datos desde y hacia la memoria a través del bus del sistema.
El módulo de DMA debe usar el bus solamente cuando el procesador no lo necesite.
También puede obligar al procesador a suspender temporalmente su operación, a esto se le llama robo de ciclos.
¿A qué se refiere cuando se dice que el DMA roba ciclos al procesador?
Respuesta: Cuando el DMA obliga al procesador a suspender temporalmente su operación.
Explique los dos objetivos del diseño del servicio de E/S.
Respuesta:
- Eficiencia: evitar el cuello de botella que constituyen las operaciones de E/S.
- Generalidad: Gestionar todos los dispositivos de manera uniforme. Emplear un enfoque jerárquico y modular para el diseño de las funciones de E/S.
¿Cuáles son las diferencias entre el almacenamiento intermedio doble y el circular?
Respuesta:
- Sencilla: Para orientados a bloques.
- Doble: para dispositivos orientados a flujo.
- Circular: Cuando se emplean más de 2 memorias se le conoce como memoria circular.
En referencia al disco, ¿Cuándo se dice que realmente se está llevando a cabo la transferencia de datos?
Respuesta: Cuando existen operaciones de E/S con el módulo DMA.
¿Cuáles son las desventajas de utilizar la política de prioridad en la planificación de disco? ¿Para qué tipo de aplicaciones no es conveniente?
Respuesta: Los trabajos mayores pueden esperar excesivamente, no es recomendable para sistemas de base de datos.
¿Cuáles son las funciones del RAID?, ¿Para qué tipo de aplicaciones es conveniente?
Respuesta:
- Raid 0: no incluyen redundancia. Se utiliza en supercomputadoras.
- Raid 1: la redundancia se consigue duplicando datos.
- Raid 2: utiliza la técnica de acceso en fallo, es decir, todos los discos participan en la ejecución de la solicitud de E/S.
- Raid 3: requiere solo 1 disco redundante.
- Raid 4: técnica de acceso independiente.
- Raid 6: Realiza 2 cálculos distintos de paridad, se almacenan en bloques independientes de discos distintos.
Explique cómo funciona la caché de disco.
Respuesta: Es la memoria intermedia situada en la memoria principal para sectores de disco. Cuando se hace una solicitud para un sector específico, primero se comprueban los cachés.
¿Cuáles algoritmos de reemplazo se pueden utilizar en la planificación de la caché de disco? ¿Por qué?
Respuesta: Usado menos frecuentemente. La implementación se haría asociando un contador a cada bloque, con cada referencia se incrementa el contador, cuando es tiempo de reemplazar el bloque que tenga el menor valor en el contador será reemplazado.
Gestión de Archivos
Menciona tres requisitos mínimos que debe cumplir el sistema de gestión de archivos.
Respuesta:
- Cada usuario debe ser capaz de crear, borrar y modificar archivos.
- Cada usuario puede tener acceso controlado a los archivos de otros usuarios.
- Cada usuario puede controlar qué tipos de acceso estarán permitidos para sus archivos.
¿Cuáles son las funciones del supervisor básico de E/S?
Respuesta: En este nivel se mantienen estructuras de control que se encargan de la E/S con los dispositivos, la planificación y el estado de los archivos.
Se ocupa de la selección del dispositivo donde va a realizarse la E/S que depende del archivo seleccionado.
También se ocupa del acceso a disco y cinta para optimizar el rendimiento.
En este nivel se asignan los buffer de E/S y se reserva la memoria secundaria.
Dé un ejemplo donde los criterios de elección de la organización de un archivo se contrapongan.
Respuesta: Cuando uno acepte archivos muy grandes, pero no de acceso rápido a la información o que se actualice.
Si se quisiera acceder a un registro en particular de un archivo pila, ¿Cómo sería la búsqueda?
Respuesta: El acceso a un registro se hace mediante búsqueda exhaustiva.
¿Cómo es más conveniente la construcción de un archivo índice para acceso a archivos secuenciales indexados?
Respuesta:
- Un índice para soportar los accesos aleatorios.
- Un archivo de desbordamiento.
¿Cuál es la estructura de organización de directorios que más se utiliza?, ¿Cuáles son sus ventajas frente a las otras estructuras?
Respuesta: La más usada es la jerárquica o en árbol: Contiene un directorio más otro que contiene un número determinado de directorios de usuario. Minimiza la dificultad de asignar nombres únicos.
En agrupación de registros, ¿Cuál es la diferencia entre bloques de longitud variable con tramos y sin tramos?
Respuesta:
- Con tramos: Se secciona una parte del registro que es ocupada para un bloque.
- Sin Tramos: El registro no se secciona en partes.
¿Para qué se usa la tabla de asignación de archivos?, ¿Tiene la misma estructura para los diferentes sistemas de archivos?, ¿Por qué?
Respuesta: Se usan para guardar constancia de las secciones asignadas a un archivo. No tiene la misma estructura en diferentes sistemas operativos. En Windows se usa FAT y en Linux otro modelo.
¿Por qué en la asignación encadenada no se puede aplicar el principio de cercanía?
Respuesta: Porque no hay fragmentación externa, la tabla de asignación solo necesita la primera entrada por cada archivo de bloque de comienzo.
¿Cuál es la función clave del sistema de gestión de archivos?
Respuesta: La administración del espacio en disco.
Sistemas Distribuidos
En un proceso cliente/servidor, ¿qué ofrece el cliente y qué el servidor?
Respuesta: Un sistema DDP (Distributed Data Processing) que lleva a la organización distribuida de BD, el control de dispositivos y el control de iteraciones.
En la comunicación cliente/servidor, ¿qué es necesario que compartan y soporten ambos?
Respuesta: Tanto el cliente como el servidor deben compartir los mismos protocolos de comunicación y soportar las mismas aplicaciones.
¿Cuál es un factor esencial para el éxito del entorno cliente servidor?
Respuesta: Es la manera como el cliente interactúa con el sistema como un todo.
Explique cómo es la aplicación de bases de datos en un esquema cliente/servidor.
Respuesta: El servidor es básicamente un servidor de BD.
La interacción entre el cliente y servidor se hace a través de transacciones.
El servidor es responsable del mantenimiento de la BD.
¿Cuáles son las diferencias en las clases de aplicaciones cliente/servidor en el proceso basado en el servidor y en el basado en el cliente?
Respuesta:
- Proceso basado en el servidor:
- Tipo básico de configuración cliente servidor.
- Las estaciones de trabajo son responsables de proporcionar una interfaz gráfica para el usuario.
- Basado en el Cliente:
- Casi todo el proceso de la aplicación puede hacerse en el cliente.
- El servidor realiza rutinas de tratamiento y validación de BD.
- Proceso basado en el servidor:
¿Qué beneficios se obtienen al usar un cliente grueso?
Respuesta: Le saca mayor provecho a las computadoras de escritorio. Descargan a los servidores del procesamiento de aplicaciones haciéndolos más eficientes.
¿Cuándo se dice que hay consistencia en la caché de archivos?
Respuesta: Cuando se utiliza un servidor de archivos, el rendimiento de la E/S puede degradarse considerablemente. Cuando las cachés contienen copias exactas de los datos remotos.
¿Qué entiende por middleware?
Respuesta: Interfaces estándares de programación y protocolos que se sitúan entre las aplicaciones y el software de comunicaciones y el SO.
¿Qué tienen en común las agrupaciones y el multiprocesamiento simétrico?
Respuesta: Que ambas buscan el acceso a procesos en forma paralela, pero en agrupaciones es más compleja y más caro.
¿Por qué es necesario usar RAID en algunos métodos de agrupación?
Respuesta: Reduce el riesgo a caída por fallo de un disco.
Seguridad
Tipos de Amenazas
En general, se produce un flujo de información desde un origen, como un archivo o una región de memoria principal, hacia un destino, como otro archivo o un usuario. Hay cuatro categorías generales de amenazas:
- Interrupción
- Intercepción
- Alteración
- Invención
Interrupción: Se destruye un elemento del sistema o se hace inaccesible o inútil. Esta es una amenaza a la disponibilidad. Como ejemplo se incluye la destrucción de una pieza de hardware, como un disco duro, el corte de una línea de comunicaciones o la inutilización del sistema de gestión de archivos.
Intercepción: Una parte no autorizada consigue acceder a un elemento. Esta es una amenaza a la confidencialidad. La parte no autorizada puede ser una persona, un programa o un computador. Como ejemplo se incluyen la interceptación de las conexiones telefónicas para capturar datos de una red y la copia ilícita de archivos o programas.
Alteración: Una parte no autorizada no solo consigue acceder, sino que falsifica un elemento. Esta es una amenaza a la integridad. Como ejemplo se incluyen el cambio de valores en un archivo de datos, la alteración de un programa para que se comporte de manera diferente y la modificación del contenido de los mensajes transmitidos en una red.
Invención: Una parte no autorizada inserta objetos falsos en el sistema. Esta es también una amenaza a la integridad. Como ejemplo se incluyen inserciones de mensajes falsos en una red o la adición de registros a un archivo.
Protección
- La introducción de la multiprogramación originó la posibilidad de compartir recursos entre los usuarios.
- La compartición compromete no sólo al procesador, sino también a lo siguiente:
- Memoria
- Dispositivos de E/S, como discos e impresoras
- Programas
- Datos
- La capacidad de compartir recursos introdujo la necesidad de protección.
- Un S.O. determinado puede ofrecer grados diferentes de protección para distintos objetos, usuarios o aplicaciones.
- Hace falta que el sistema operativo equilibre la necesidad de compartir, lo que aumenta la utilidad del sistema informático, con la necesidad de proteger los recursos de los usuarios individuales.
- Un sistema operativo puede ofrecer protección en el siguiente abanico:
- Ninguna protección:
Apropiada cuando se ejecutan procedimientos delicados en momentos distintos.
- Aislamiento:
Este enfoque implica que cada proceso opera separadamente de los demás, sin compartición ni comunicación. Cada proceso tiene su propio espacio de direcciones, archivos y otros objetos.
- Compartir todo o fiada:
El propietario de un objeto los declara como público o privado.
En el caso de un archivo, cualquier proceso puede acceder a él.
En el caso de un segmento de memoria, sólo los procesos del propietario pueden acceder al segmento.
- Compartir por limitación del acceso:
El S.O. comprueba la licencia de cada acceso de un usuario específico a un objeto determinado. El S.O. actúa como un guarda o portero entre usuarios y objetos, asegurando que solo ocurren accesos autorizados.
- Compartir por capacidades dinámicas: Este tipo de protección amplia el concepto de control de acceso, incorporando la creación dinámica de derechos de compartición para los objetos.
- Uso limitado de un objeto: Esta forma de protección limita no sólo el acceso a un objeto, sino también la utilidad a que se puede dedicar dicho objeto.
Por ejemplo, se puede permitir a un usuario ver un documento delicado, pero no imprimirlo.
Otro ejemplo: Se puede permitir a un usuario acceder a una base de datos para sacar resúmenes estadísticos, pero no determinar valores de datos específicos.
Protección de Memoria
- En un entorno de multiprogramación, la protección de la memoria principal es fundamental.
- Interesa la seguridad y el funcionamiento correcto de los diversos procesos que estén activos.
- Se evita que un proceso pueda escribir inadvertidamente en el espacio de memoria de otro proceso, ya que este último puede que no ejecute correctamente.
- Se usa Memoria Virtual para la separación del espacio de memoria de los diversos procesos.
- La segmentación, paginación o la combinación de ambas proporciona un medio eficaz de gestión de memoria principal.
- Para un aislamiento total, el sistema operativo asegura que cada segmento o cada página es accesible sólo para el proceso al que está asignada.
- Este tipo de compartición se consigue mejor en un sistema que soporta segmentación o una combinación de segmentación y paginación.
Las medidas tomadas para controlar el acceso en los sistemas de proceso de datos pueden encuadrarse en dos categorías:
- las asociadas con el usuario
- las asociadas con los datos.
Control de Acceso Orientado al Usuario
- La técnica más habitual de control de acceso al usuario, en un sistema de tiempo compartido o en un servidor, es en la conexión del usuario, que requiere:
- ID (de usuario)
- Contraseña.
- Este esquema ID/contraseña es un método notablemente poco fiable de control de acceso al usuario.
- El diálogo de conexión debe tener lugar a través del medio de comunicación.
- Las escuchas se convierten en una amenaza potencial.
- En entornos distribuidos tendremos dos enfoques para el control de acceso.
- Enfoque centralizado
- Enfoque descentralizado
- Enfoque centralizado
Con un enfoque centralizado, la red proporciona un servicio de conexión para determinar a quién se le permite usar la red y a qué se le permite conectarse.
- Enfoque descentralizado
El control de acceso descentralizado considera la red como un enlace transparente de comunicaciones y el procedimiento usual de conexión lo lleva a cabo el servidor de destino.
Control de Acceso Orientado a los Datos
- De lo que se trata en este control de acceso es de asociar con cada usuario un perfil, que especifique las operaciones y los accesos a archivos permisibles.
- El sistema operativo puede hacer valer unas reglas en función del perfil del usuario.
- El sistema gestor de la base de datos controla el acceso a registros específicos o incluso partes de un registro.
- Un sistema gestor de la base de datos debe tomar decisiones sobre cada intento de acceso individual.
- Las decisiones dependerán del perfil del usuario, la información divulgada, y las partes específicas de los datos a la que se accede.
Estrategias de Elección de Contraseñas
- Formación del usuario
- Contraseñas generadas por el computador
- Inspección reactiva de contraseñas
- Inspección proactiva de contraseñas
Formación de Usuario
Se puede comentar a los usuarios la importancia de emplear contraseñas difíciles de adivinar y se les puede dar directrices para elegir contraseñas seguras.
Esta estrategia de formación del usuario no es probable que sea fructífera en la mayoría de las instalaciones, en particular cuando hay una gran población de usuarios o un gran volumen de transacciones. Muchos usuarios harán caso omiso de las directrices. Puede que otros no sepan juzgar bien lo que es una contraseña segura. Por ejemplo, muchos usuarios creen (equivocadamente) que invertir una palabra o poner en mayúsculas la última letra hace que una contraseña no sea adivinable.
Contraseñas Generadas por Computador
También presentan problemas. Si las contraseñas son de naturaleza bastante aleatoria, los usuarios pueden no ser capaces de recordarlas. Aun cuando la contraseña sea pronunciable, el usuario puede encontrar dificultades a la hora de recordarlas y así caer en la tentación de escribirlas. En general, los esquemas de contraseñas generadas por el computador tienen unos antecedentes de escasa aceptación por parte de los usuarios.
Inspección Reactiva de Contraseñas
Es aquella en la que el sistema ejecuta periódicamente su propio averiguador de contraseñas para encontrar contraseñas adivinables. El sistema cancela todas las contraseñas que se adivinen y se lo notifica al usuario. Esta táctica presenta una serie de inconvenientes. En primer lugar, si el trabajo se hace correctamente, se consumen muchos recursos.
Inspección Proactiva de Contraseñas
Es el enfoque más prometedor para mejorar la seguridad de las contraseñas.
En este esquema, al usuario se le permite elegir su propia contraseña. Sin embargo, en el momento de la selección, el sistema comprueba si la contraseña es permisible y, si no lo es, la rechaza.
- El truco del inspector proactivo de contraseñas es establecer un equilibrio entre la aceptación del usuario y la fortaleza.
- Si el sistema rechaza demasiadas contraseñas, los usuarios se quejarán de que es muy difícil elegir una contraseña. Si el sistema utiliza un algoritmo sencillo para definir lo que se considera aceptable, se proporciona una guía a los averiguadores de contraseñas para afinar sus técnicas de adivinación.
El primer método es un sistema simple de aplicación de reglas. Por ejemplo, se pueden hacer valer las siguientes reglas:
- Todas las contraseñas tienen que ser como mínimo de R caracteres.
- Los primeros R caracteres deben incluir, por lo menos, una mayúscula, una minúscula, dígitos numéricos y símbolos de puntuación.
- Estas reglas pueden combinarse con avisos al usuario. Aunque este método es mejor que instruir simplemente a los usuarios, puede no ser suficiente para frustrar a los averiguadores de contraseñas.
Otro procedimiento posible consiste en recopilar un diccionario grande de posibles contraseñas malas». Cuando un usuario elige una contraseña, el sistema comprueba que no está en la lista desaprobada.
El inconveniente de este método es el tiempo y el espacio extra necesarios.
Métodos Antivirus
La solución ideal para la amenaza de los virus es la prevención:
En primer lugar, no permitir que los virus entren en el sistema. Generalmente imposible de alcanzar, aunque la prevención puede reducir el número de ataques víricos fructuosos.
El siguiente mejor método es ser capaz de hacer lo siguiente:
- Detección: Una vez que se ha producido la infección, determinar que ha tenido lugar y localizar el virus.
- Identificación: Una vez que se ha logrado la detección, identificar el virus específico que ha infectado un programa. Eliminar el virus de todos los sistemas infectados, de forma que la plaga no pueda extenderse más.
- Eliminación: Una vez que se ha identificado el virus específico, eliminar todo rastro del virus del programa infectado y reponerlo a su estado original.
[STEP93] identifica cuatro generaciones de software antivirus:
- Primera generación: rastreadores simples
- Segunda generación: rastreadores heurísticos
- Tercera generación: trampas de actividad
- Cuarta generación: protección completa
- Un rastreador de primera generación requiere una firma del virus para identificarlo.
- Un rastreador de segunda generación no depende de una firma específica.
- Los programas de tercera generación son programas residentes en memoria que identifican un virus por sus acciones más que por la estructura de un programa infectado.
- Los programas de cuarta generación son paquetes que constan de una variedad de técnicas antivirus utilizadas en conjunto.
Sistemas de Confianza
- Un requisito muy aplicable es proteger los datos o los recursos en función de niveles de seguridad.
- Cuando se definen varias categorías o niveles de datos, el requisito se conoce como seguridad multinivel.
- No leer arriba: Un sujeto puede leer un objeto solo de un nivel de seguridad menor o igual (propiedad de seguridad simple).
- No escribir abajo: Un sujeto puede escribir un objeto solo a un nivel de seguridad mayor o igual (propiedad-*).
- El monitor de referencia es un elemento de control en el hardware y el S.O. de un computador: regula el acceso de los sujetos a los objetos en función de unos parámetros de seguridad de estos, tiene acceso a un archivo conocido como base de datos de seguridad del núcleo, el cual enumera los privilegios de acceso de cada sujeto y los atributos de protección de cada objeto y hace valer las reglas de seguridad.
- Mediación completa: Las reglas de seguridad se aplican en todos los accesos.
- Aislamiento: el monitor de referencia y la base de datos están protegidos de modificaciones no autorizadas.
- Verificabilidad: La corrección del monitor de referencia debe ser comprobable, demostrar matemáticamente que este aplica las reglas de seguridad, proporciona aislamiento y mediación completa.
- Los sucesos importantes de seguridad, como las violaciones de seguridad que se detectan y los cambios autorizados a la base de datos de seguridad del núcleo, se guardan en el archivo de auditoría.