Chuleta PDF

Title Chuleta
Course Sistemas operativos
Institution Universitat Oberta de Catalunya
Pages 2
File Size 110.4 KB
File Type PDF
Total Downloads 76
Total Views 149

Summary

Chuleta...


Description

Dispositivo físico Dispositivo lógico Dispositivo virtual Un dispositivo físico es un dispositivo que existe físicamente. Lo Un dispositivo lógico es el resultado de un software del sistema Los dispositivos virtuales, también conocidos como canales forman el periférico y su hardware de control (device controller), que define este dispositivo. Un dispositivo lógico puede tener virtuales o simplemente canales, representan el nivel más que constituyen la parte física, y el software que los gestiona, que asociado un dispositivo físico o no. Así pues, los dispositivos abstracto e independiente del dispositivo. Un dispositivo virtual es llamamos programa controlador (driver). El programa controlador lógicos, a diferencia de los físicos, pueden estar formados un dispositivo que, a priori, no está asociado a ningún dispositivo se comunica directamente con el controlador del dispositivo a concreto. Ej. Un descriptor de fichero únicamente por su programa controlador. Ej: un fichero, una cola través de registros de control. Ej: impresora + driver de mensajes, .null.. Modo privilegiado: kernel del OS Modo usuario: librerías (del OS, de lenguaje y especializadas) y aplicaciones del OS (intérprete de comandos texto o gráfico) + aplicaciones Clases de llamadas al sistema: gestíon de procesos, señalización entre procesos, gestión de dispositivos I/O, gestión directa de recursos (p.ej. memoria), gestión del FS, protecciones, funciones de tiempo. Tipos de instrucciones: privilegiadas (no para programas de usuario: detener el procesador, inhibir el tratamiento de interrupciones, leer/escribir registros de control de dispositivos I/O) y no privilegiadas. Estructuras de espacios de nombres: espacio lineal (p.ej. identificadores de los pids, volúmenes de windows) y espacio jerárquico: estructura de árbol y de grafo dirigido. Protecciones FS: Matriz de accesos (dominios/usuarios/grupos en filas, objetos/ficheros/directorios en columnas). Se simplifica/gestiona con: ACLs (lista de parejas derechos/dominio asociada a un objeto), capabilities (lista de parejas derechos/objeto asociada a un dominio) Estados: Ready/Run/Wait/End. Excepciones de memoria: dirección inválida (v=0) no forma parte del espacio lógico del proceso, e intentar acceder a ella provoca excepción de acceso inválido y el os aborta el proceso; fallo de página (v=1, p=0) la dirección no está en la memoria principal y el os tiene que cargarla desde la memoria física o la swap. Tamaño ejecutable: código+datos inicializados (+cabeceras ejecutable+fragmentación interna). Almacenamiento - variables locales: pila; variables globales: datos; parametros rutinas: en pila ó en registros; código: zona de código; memoria dinámica (malloc): extiende zona de datos. Direcciones lógicas: id.página + desplazamiento. desplazamiento: log2(tam_pag); id.pagina = log2(num.pags); num.pags = 2bits direcciones lógicas / tam_pags Direcciones físicas: id.frame + desplazamiento. desplazamiento: log2(tam_frame); id.frame = log2(num.frames) ; num.frames = 2bit s direcciones fisicas / tam_frames Mecanismos de comunicación entre procesos: memoria compartida, paso de mensajes, señales. Escenarios: recursos compartidos, memoria no compartida. Memoria compartida: se comparte una estructura de datos entre los procesos, y de gestión atómica, para que estos se sincronicen Uso de semaforos: exclusión mutua, contador de recursos, sincronización. Deadlocks, se producen cuando (al mismo tiempo): se debe acceder a los recursos en exclusión mutua, cada recurso tiene asignados ciertos recursos y espera que se liberen otros, los recursos asignados al proceso solo se liberan por el propio proceso y no por el OS, se forma una cadena circular en la que cada proceso está esperando la liberación de un recurso asignado a otro proceso. Estrategias de resolución de bloqueos: prevenir el interbloqueo (evitar alguna de las condiciones anteriores); evitar el interbloqueo asignando sólo los recursos que no pueden generar interbloqueos; detectar (revisando periodicamente si existen bloqueos) y recuperar el interbloqueo (reiniciando el OS los procesos bloqueados). Memoria no compartida: la comunicación se hace mediante el paso de mensajes (directos e indirectos y síncronos o asíncronos). Mensajes directos: El proceso emisor tiene que indicar cual es el proceso receptor send(B, msg) y el receptor definir de qué proceso puede recibir mensajes receive(A, msg): comunicación simétrica; si el receptor no sabe de quién le viene es una cominicación asimétrica. Mensajes indirectos: ni emisor ni receptor tienen porqué saber el otro extremo; los mensajes se envían utilizando unas estructuras intermedias llamadas mailboxes. Comunicación síncrona: emisor y receptor se deben sincronizar y finalizar la transferencia de información en el mismo momento. La operacíon send es bloqueadora. Comunicacíon asíncrona: No bloquea el proceso y el OS se encarga de guardar el mensaje hasta que el receive lo recoja. Cola de mensajes: los mensajes son FIFO. Paso de mensajes: con pipes (entre familiares), named pipes (cuando hay acceso al directorio del pipe) y sockets (procesos en máquinas distintas) Nombre Significado de la Señal Tratamiento SIGHUP Se ha producido un corte de la línea de comunicación, generalmente con un terminal o un módem. EXIT SIGINT Se ha pulsado la secuencia de teclas de control asociada a esta señal (típicamente Ctrl-C). EXIT SIGABRT Aborta la ejecución del proceso. EXIT + CORE SIGFPE Se ha producido una excepción de coma flotante. EXIT + CORE SIGKILL Destruir el proceso. La señal no se puede ignorar, bloquear o programar. EXIT SIGSEGV Se ha producido un acceso indebido a la memoria. EXIT + CORE SIGPIPE Se ha escrito en una pipe sin ningún lector. EXIT SIGALRM Se ha producido una expiración del temporizador. EXIT SIGTERM Se solicita que el proceso acabe ("Prepare to die"). EXIT SIGUSR1 Disponible para usos propios de las aplicaciones. EXIT SIGUSR2 Disponible para usos propios de las aplicaciones. EXIT SIGCHLD Ha muerto algún proceso hijo. IGNORE SIGSTOP Se ha pulsado la secuencia de teclas de control asociada a esta señal (típicamente Ctrl-Z). La señal no se puede ignorar, bloquear o programar. STOP SIGCONT Reanuda la ejecución de un proceso que haya sido detenido con SIGSTOP. CONT int close(int fd); int dup(int oldfd); int dup2(int oldfd, int newfd); int execl(const char *pathname, const char *arg, ..., NULL); int execvp(const char *file, char *const argv[]); pid_t fork(void); int open(const char *pathname, int flags, mode_t mode); /* flags=O_RDONLY, O_WRONLY, or O_RDWR */ int pipe(int pipefd[2]); int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); ssize_t read(int fd, void *buf, size_t count); int sem_init(sem_t *sem, int pshared, unsigned int value); int sem_post(sem_t *sem); int sem_wait(sem_t *sem); pid_t wait(int *status); ssize_t write(int fd, const void *buf, size_t count); #include unsigned int alarm(unsigned int seconds); /* Hace que se genere la señal SIGALRG dentro de n segundos */ int kill(pid_t pi, int sig); /* Envía al proceso pid (o a todos si =0 o a grupos si < 0) la señal sig */ int pause(void); /* espera hasta que se produzca cualquier señal. No es fiable */ int sigaction(int signum, const struct sigaction act, struct sigaction oldact); /* Define la accion a invocar para una señal */ int sigaddset(sigset_t *set, int signum); /* Añade "signum" a "set" */ int sigdelset(sigset_t *set, int signum); /* Elimina "signum" de "set" */ int sigemptyset(sigset_t *set); /* Inicializa "set" en el conjunto vacío */ int sigfillset(sigset_t *set); /* Inicializa "set" con todos los signals */ int sigismember(const sigset_t *set, int signum); /* Indica si "signum" pertenece a "set" */ int sigprocmask(int how, const sigset_t *set, sigset_t *oldset); /* Segun se indique en el how: bloquea (SIG_BLOCK), desbloquea (SIG_UNBLOCK), o asigna (SIG_SETMASK) */ int sigsuspend(const sigset_t mask); /* Bloquea la ejecucion hasta que se produzca una señal segun la mascara */ /* Ejemplos de uso */ sigset_t u12, noterm; sigemptyset(&u12); sigaddset(&u12, SIGUSR1); sigaddset(&u12, SIGUSR2); /* Contendrá los signals SIGUSR1 y SIGUSR2 */ sigfillset(¬erm); sigdelset(¬erm, SIGTERM); /* Contendrá todos los signals salvo el SIGTERM */ struct sigaction { void (*sa_handler)(int); /* rutina que captura la señal, o SIG_IGN (ignorar señal) ó SIG_DFL (comportamiento por defecto) */ sigset_t sa_mask; int sa_flags; /* 0: estandar POSIX; SA_NODEFERER: no evitar la recepción de la señal desde el propio handler */ }; almacenaje en la memoria intermedia m Almacenaje que permite solapar el procesamiento de un trabajo con su propia entrada/salida.en buffering almacenamiento en la memoria principal m Técnica de entrada/salida que utiliza una memoria intermedia llamada buffer con el fin de amortiguar las diferencias de velocidad de los dispositivos respecto de la velocidad de ejecución de los procesos. en buffering biblioteca f Conjunto de rutinas de uso común ya implementados, disponibles para todos los usuarios. Este conjunto de rutinas codificadas como módulos objeto está organizado en ficheros que contienen el código con un índice que permite añadir este código al del programador. Este paso se da en la fase de montaje del fichero ejecutable. bit de presencia m Bit utilizado en los sistemas de gestión de la memoria virtual para indicar si el fragmento del espacio lógico del proceso al que se hace referencia está cargado en la memoria. bit de validez m Bit utilizado en los sistemas de gestión de la memoria para indicar si el fragmento del espacio lógico al que se hace referencia pertenece al espacio lógico del proceso. bloque de control de procesos (PCB) m Estructura de datos que contiene la información del entorno de cada proceso necesaria para que el sistema operativo pueda gestionar la ejecución concurrente de un conjunto de procesos. buffering Ved almacenaje en la memoria intermedia. cambio de contexto m Técnica que, mediante la multiplexación del tiempo de procesador, consigue la ejecución concurrente de todos los procesos preparados para utilizarlo. Requiere guardar el estado de los procesos o flujos con el fin de restaurarlo cuando se quiera continuar ejecutándolos. Manera de implementar la concurrencia de procesos en un sistema multiprogramado que implica dejar de ejecutar el proceso que estaba ocupando al procesador para pasar a ejecutar otro proceso. cargador m Herramienta que permite cargar un programa en la memoria a fin de que pueda ser ejecutado; para lograrlo es necesario obtener memoria, copiar el ejecutable y darle control. cerradura y clave m Mecanismo de protección basado en el uso de unas parejas de números llamadas cerradura y clave que han de coincidir con el fin de dar por válido un derecho. Si estos números no coinciden, el derecho queda invalidado. compilador m Herramienta que permite transformar un programa escrito en lenguaje de alto nivel en un programa escrito en un lenguaje conocido por la máquina, que permitirá que lo pueda ejecutar. cooked/raw (cocinado/crudo) m Modos de edición asociados a los dispositivos de entrada, como los terminales. El modo cooked hace que algunos caracteres que componen la entrada se interpreten como comandos que alteran la información que se ha introducido. El modo raw no interpreta ningún carácter y, por lo tanto, todos los caracteres se entregan en el proceso que hace la operación de entrada. cuota (quantum) f Tiempo máximo de UCP que puede utilizar un proceso de manera continua. Los sistemas operativos que trabajan en la modalidad de tiempo compartido hacen uso de la cuota para hacer cambio de contexto y dar el control del procesador a un nuevo proceso. depurador m Herramienta que permite controlar la ejecución de un programa paso a paso analizando el contenido de las variables; de esta manera, nos facilita la detección de los errores y su corrección. directorio m Ficheros donde se almacena la estructura de datos que da lugar a la función de traducción. directorio de trabajo m Directorio donde se encuentran los ficheros con los que un usuario está trabajando en un instante concreto. Cuando un usuario empieza la sesión de trabajo, el directorio de trabajo es el directorio inicial. directorio inicial m Directorio desde donde un usuario puede crear su estructura de directorios y donde colocará los ficheros que él cree. dispositivo de entrada/salida m Objeto gestionado por el sistema operativo en el que los procesos pueden entablar operaciones de lectura/escritura con la finalidad de obtener información, almacenarla, mostrarla o transferirla. dispositivo físico m Dispositivo que existe físicamente. Está formado por el periférico y por su hardware de control, que constituyen la parte física, así como por el software que los gestiona, llamado programa de control. dispositivo lógico m Dispositivo que no existe físicamente. Es el resultado de un software del sistema que lo crea. dispositivo nulo m Dispositivo de entrada/salida en el que se puede escribir todo lo que se quiere y siempre sigue vacío. Ignora cualquier cosa que se escriba y en lectura no devuelve nunca ninguna información. Se basa exclusivamente en el software que lo define. dispositivo virtual m Dispositivo que no está asociado a priori a ningún dispositivo concreto. El programa lo utiliza igual que lo haría con cualquier dispositivo, pero sin conocer a priori en qué dispositivo en concreto se efectuarán las operaciones que se especifican. Estará en tiempo de ejecución del programa que el sistema asociará un dispositivo lógico al dispositivo virtual mediante el código del sistema operativo. deadlock m Bloqueo indefinido de dos o más procesos que esperan la liberación de algún recurso compartido del sistema que ya ha sido asignado. derecho m Acciones permitidas por parte de un dominio sobre un objeto. dominio m Agentes activos del sistema que pueden actuar sobre un objeto. echo m Modo de los dispositivos de entrada/salida, como los terminales, que provoca que se realice una salida de

toda la información que entra por el dispositivo con el objetivo de verificar y, si es necesario, corregir la información que se está entrando (ved cooked/raw). enlace físico (hard link) m Enlace que relaciona directamente un nombre del sistema de ficheros con el objeto al que hace referencia. O, lo que es lo mismo, relaciona directamente un nombre del sistema de ficheros con el nombre interno del SO del objeto al que hace referencia. enlace simbólico (symbolic link o soft link) m Enlace que no relaciona directamente un nombre del sistema de ficheros con un objeto, sino que lo hace indirectamente mediante un enlace a otro nombre del sistema de ficheros desde el que se puede localizar el objeto. Este tipo de enlaces se utilizan fundamentalmente para dar un nombre a un objeto que se encuentra en un dispositivo de almacenamiento distinto de aquél donde está el directorio que contiene el enlace simbólico. espacio de nombres m Espacio configurado por el conjunto de todos los nombres posibles de un objeto. espacio de nombres jerárquicos m Espacio formado por una jerarquía de directorios, con un directorio raíz del que cuelgan otros directorios o ficheros que configuran las hojas del árbol. Los espacios jerárquicos pueden tener forma de árbol o, más generalmente, de grafo dirigido. espacio de nombres lineales m Espacio de nombres, con una sola dimensión, donde todos los nombres están al mismo nivel, en un único directorio. En este tipo de espacio no se pueden hacer clasificaciones entre los distintos objetos. espera activa f Consulta continuada por parte de un proceso del estado de un recurso, generalmente para determinar si está libre. Consume ciclos del procesador sin hacer ningún trabajo útil. estado de un proceso m Estado que se asigna a cada proceso para controlar sus cambios de modo de ejecución a lo largo de su existencia al sistema. Sólo hay un conjunto limitado de estados posibles y las acciones que pueden dar lugar a transiciones entre los estados también están definidas. excepción f Transferencia de control al sistema operativo provocada por la ejecución de una instrucción de usuario no prevista como, por ejemplo, un fallo de página de memoria o una división por cero. exclusión mutua f Acceso individualizado a un conjunto de recursos compartidos, de manera que si una operación se inicia no se puede iniciar otra hasta que no haya finalizado la primera. ejecución concurrente f Ejecución entrelazada de diferentes procesos. ejecución paralela f Ejecución simultánea de diferentes procesos. Sólo es posible en sistemas que dispongan de más de un procesador. fallo de página f Excepción generada por la MMU en un sistema de gestión de la memoria que ofrece memoria virtual cuando el procesador genera una dirección lógica que se traduce en una página válida, pero que no está cargada (no está presente) en la memoria física. fichero m Dispositivo lógico formado por una agrupación lógica de información almacenada en un dispositivo físico, como un disco, un lápiz USB o la memoria, y que puede ser manipulada como un todo. La información que incluye tiene en común un conjunto de propiedades que la caracterizan. file descriptors m Nombre que reciben el dispositivos virtuales, o canales, en el UNIX. fragmentación externa f Espacios de memoria no utilizables que se crean en sistemas de gestión de la memoria en los que los procesos se cargan en posiciones de la memoria física contiguas. Tiene lugar cuando no hay un espacio de memoria contiguo libre lo bastante grande para cargar un proceso, aunque haya trozos libres más pequeños cuya suma de las capacidades sería suficiente para cargarlo. fragmentación interna f Espacios de memoria no utilizables que se crean cuando la memoria se divide en partes de tamaño fijo (por ejemplo, frames de memoria principal o bloques de disco) y una de estas partes se asigna a un conjunto de datos más pequeño que la capacidad de la parte en cuestión. función de traducción f Función unívoca que relaciona un nombre con un objeto. gestión de colas f Técnica que utilizan las SPOOL (Simultaneous Peripherical Operation On-Line) que permite que las entradas/salidas de un proceso tengan un paso intermedio para dispositivos de gran capacidad de almacenaje. Hacen que el computador trabaje con un proceso en concreto mientras, de forma concurrente, los dispositivos finales van sacando o incorporando información de manera más lenta. en spooling hilo o flujo de ejecución (thread) m Unidad mínima de planificación del sistema operativo. Un flujo forma parte de un proceso y disfruta de los recursos asignados al proceso. Un proceso tiene como mínimo un flujo, pero en los sistemas operativos actuales puede tener más de uno. Los diferentes hilos que forman parte de un mismo proceso comparten ciertos recursos, como el espacio de memoria, los archivos abiertos, los permisos, el directorio de trabajo, el identificador de proceso, etc. En cambio, cada hilo tiene su propia pila de ejecución, puede estar ejecutando diferentes instrucciones (cada hilo tiene su propio registro contador de programa o PC), se ejecutan a diferentes velocidades y tienen su propio estado de ejecución. Los hilos de ejecución también son conocidos como procesos ligeros por el hecho de que los hilos de ejecución consumen menos recursos de sistema que los procesos. hiperpaginación m Situación que se da cuando la memoria disponible en un momento dado para la ejecución de un proceso es inferior a la mínima necesaria (working set) para su ejecución, lo que provoca una elevada actividad de intercambio. Un sistema se encuentra en thrashing si se pasa más tiempo intercambiando páginas que ejecutando código de las aplicaciones. Una causa habitual es que el grado de multiprogramación es excesivamente elevado para la configuración del hardware. en thrashing independencia de los dispositivos f Objetivo del sistema operativo que consiste en proporcionar una máquina virtual que uniformice los dispositivos y respete sus particularidades. Eso se consigue independizando el código de los programas respecto de los dispositivos que utilizan y de las operaciones con las que se dirigen mediante la utilización de dispositivos virtuales y operaciones independientes. inhibir interrupciones v No permitir interrupciones de ningún tipo. intercambio m Acción de llevar páginas de un proceso de la memoria secundaria (disco) a la memoria principa...


Similar Free PDFs