Examen de sistema operativo

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,82 KB

 

Operaciones privilegiadas:





Iniciar una operación de I/O



es privilegiada ya que permite acceso a áreas de los dispositivos o a la memoria que debieran estar vedadas a un usuario normal


Cambiar el modo de redondeo de la unidad de punto flotante



Un proceso debe poder ajustar su ambiente de ejecución. Obviamente el modo de redondeo deberá almacenarse en el PCB (bloque de control de proceso) del proceso.


Cambiar los manejadores de interrupciones



es privilegiada ya que son parte de la base requerida por el núcleo para mantener control sobre el sistema.


Deshabilitar interrupciones



Privilegiada


Poner en cero un área de memoria física



Privilegiada


Pasar de modo usuario a modo supervisor



No Privilegiada


Modificar la tabla de paginas de un proceso



Privilegiada

Flock (2)


permite a un proceso bloquear acceso a parte de un archivo

Planificador del CPU


Selecciona de entre los procesos en memoria que está lista para ejecutar y asigna el CPU a uno de ellos
CPU que planifica las decisiones puede tener lugar cuando un proceso:
1. Conmutadores de ejecutar al estado de espera
2. Conmutadores de ejecutar para preparar el estado
3. Conmutadores de esperar para preparar
4. Termina
Planificar bajo 1 y 4 es el nonpreemptive
Toda la otra planificación es prioritaria

Estructura de una computadora

Hardware - los recursos básicos del pc
Sistema operativo: Controla y coordina la utilización del hardware entre los distintos programas de aplicación y usuarios
Programas de aplicación - definen en qué manera se utilizan los recursos del sistema para resolver problemas de cómputo de los usuarios
Usuarios: Personas, máquinas y otras computadoras.

Servicios del sistema operativo

Interfaz de usuario - Casi todos los sistemas operativos tienen una IU
Ejecución de programas - El sistema debe ser capaza de cargar un programa en memoria y ejecutarlo, terminar ejecución ya sea de manera normal o anormal
Operaciones E/S - Un programa en ejecución puede requerir E/S, que puede involucrar un archivo o dispositivo de E/S
Manipulación del sistema de archivos - El sistema de archivos es de gran interés. Obviamente, los programas necesitan leer y escribir archivos y directorios, crearlos y borrarlos, buscarlos, listar información acerca de ellos, manejar sus permisos
Comunicaciones - Los procesos pueden intercambiar información, en la misma computadora o entre computadoras distintas en una red
Detección de errores - SO está constantemente atento a posibles errores
Asignación de recursos - Cuando varios usuarios o trabajos se ejecutan concurrentemente, deben asignarse recursos a cada uno de ellos
Contabilidad - Para mantener registro de qué usuarios utilizan qué tanto de los recursos del sistema
Protección y seguridad - Los dueños de información almacenada en una computadora multi-usuario o en red deben controlar el uso de esa información, procesos concurrentes no deben interferir entre ellos

Máquinas virtuales

Una máquina virtual lleva el enfoque de capas a su conclusión lógica. Trata el hardware y el kernel del SO como si fueran hardware ambos
Una máquina virtual ofrece una interfaz idéntica para cualquier hardware que esté abajo
El sistema operativo crea la ilusión de múltiples procesos, cada uno ejecutando en su propio procesador con su propia memoria (virtual)
Los recursos de la computadora física se comparten para crear las máquinas virtuales

Colas de planificación de procesos


Cola de trabajos


- conjunto de todos los procesos en el sistema
Cola de listos -
Conjunto de procesos que residen en memoria principal, listos y en espera de ser ejecutados
Colas de dispositivos-
Conjunto de procesos esperando por un dispositivo de E/S

fork llamada al sistema para crear nuevos procesos
exec llamada al sistema, después de fork para reemplazar el espacio de memoria del proceso con un programa nuevo
Llamada a procedimientos remotos
Llamada a procedimientos remotos (RPC) es una abstracción para llamar procedimientos entre procesos en un sistema en red.
Stubs-
Proxy del lado del cliente en lugar del procedimiento real en el servidor.
El stub en el lado del cliente localiza el servidor y marshalls (procesa) los parámetros.
El stub en el lado del servidor recibe el mensaje, desempaqueta los parámetros (unmarshalling) y ejecuta el procedimiento en el servidor.

RMI (invocación a procedimientos remotos)

Hebras

Uno-uno: cada hebra a nivel de proceso corresponde a una hebra a nivel de núcleo
Muchos a uno: las hebras se implementan totalmente en el proceso, hay una única hebra a nivel del núcleo por proceso
Muchos a muchos: se administran las hebras a nivel de usuario, haciendo que sean atendidas por un núcleo de hebras a nivel de núcleo.
Hebras: lo mas simple y eficiente es implementar las uno a uno ya que no hay duplicación de funciones (sheduling a nivel de núcleo y proceso). La opción mucho a uno es la que menos exige al núcleo pero es muy compleja a nivel de usuario. L alternativa muchos a muchos es la mas compleja pero permite implementar muchísimas hebra con impacto moderado soble el núcleo.

Colas multiniveles

1)La cola de listos se particiona en varias colas:
foreground (interactive)
background (batch)
2)Cada cola tiene su propio algoritmo de planificación
-foreground - RR
-background - FCFS
3)Se debe hacer planificación entre colas
-Planificación con prioridad fija; (i.E., servir todas las del foreground y luego background). Posibilidad de hambruna.
-Rebanada de tiempo - cada cola obtiene una cierta cantidad de tiempo de CPU, que puede planificar entre sus procesos; i.E., 80% para foreground en RR
-20% para background en FCFS

Planificación de la cola multinivel


Colas varios niveles con retro-alimentación

1)Un proceso se puede mover entre las distintas colas; así se puede implementar envejecimiento
2)Planificador para colas de varios niveles con retroalimentación con los siguientes parámetros:
-Número de colas
-Algoritmos de planificación para cada cola
-Método utilizado para determinar cuando avanzar un proceso
-Método utilizado para determinar cuando retrazar un proceso
-Método utilizado para determinar a qué colas entrará un proceso cuando requiera servicio

Round Robín (RR)


1)Cada proceso obtiene una pequeña unidad de tiempo de CPU (time quantum), usualmente 10-100 millisegundos. Después que ha pasado este tiempo, el proceso es sacado (preempted) y se agrega a la cola de listos.
2)Si hay n procesos en la cola de listos y el tiempo quantum es q, entonces cada proceso obtiene 1/n del tiempo de CPU en pedazos de a lo más q unidades a la vez. Ningún proceso espera más de (n-1)q unidades de t.
3)Rendimiento
- q grande -> FIFO
- q pequeña ->q debe ser grande con respecto al cambio de contexto, de otra forma la carga administrativa es muy grande

Entradas relacionadas: