Breve prólogo: Este resumen sólo sirve para aquel que haya leído
Transcripción
Breve prólogo: Este resumen sólo sirve para aquel que haya leído
Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Breve prólogo: Este resumen sólo sirve para aquel que haya leído el Stallings a conciencia, por lo menos una vez. Resume los puntos más importantes de la teoría (a entender del autor) y además provee de las respuestas a las preguntas más clásicas sobre teoría de la materia. Es importante hacer hincapié en temas de ALGORITMOS de reemplazo de páginas, DISCO, etc, que aquí no están tratados porque se asume que la persona que utilice este resumen tiene conocimiento por la parte práctica de la materia. Lamentablemente esta materia no está correctamente evaluada ni brindada a nivel académico, con lo cual esto es una minúscula ayuda para quienes estén cursando el final. Espero que le sea tan útil a quien la use, como a quien la redactó, para la aprobación de la materia. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 3 – PROCESS CONTROL PROCESS SWITCH: El SO toma control de la ejecución luego de sacar al proceso que se está ejecutando. - CAUSAS o INTERRUPCIÓN: Externo al proceso o TRAP: Error o excepción en la ejecución MODE SWITCH: Salva el contexto, posiciona el PROGRAM COUNTER en la instrucción de I/O al handler de I/O y SWITCHEA a modo KERNEL por si hay instrucciones privilegiadas. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 4 – THREADS, SMP Y MICROKERNELS MULTITHREADS 1) Dirección virtual para la imagen del proceso 2) Acceso protegido a los recursos Thread compuesto por: - Estado del Thread Status del Thread Stack de Ejecución - Almacenamiento estático de variables - Acceso a Recursos BENEFICIOS 1 2 3 Más rápida creación/eliminación del thread Más rápida velocidad de switch entre threads Comunicación mejorada entre programas en ejecución ESTADOS READY sus Threads) RUNNING BLOQUED (Si se suspende el proceso, también todos Sincronización: Todos los elementos son compartidos por todos los threads con lo cual deben sincronizarse. ULT Ventajas: - No utilizan privilegios del modo KERNEL (No hay OVERHEAD por SWITCH) Application specific. Portables entre S.O´s Desventajas: - Los SYSCALLS son bloqueantes en varios SO´s (Y por lo tanto se bloquean todos los threads) No toma ventajas del multiprocesamiento KLT Ventajas: - El KERNEL schedulea muchos threads Si se bloquea un thread, se ejecuta otro del mismo proceso Las rutinas del KERNEL pueden ser multithread Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Desventajas: - Switcheo entre Threads del mismo proceso requiere MODE SWITCH SMP: Varios CPU con una memoria para todos, el KERNEL se puede ejecutar en cualquier micro. Consideraciones del SO: - Procesos simultáneos concurrentes SCHEDULEO SINCRONIZACION MANEJO DE MEMORIA RELIABILIDAD (CONFIANZA) TOLERANCIA AL FALLO MICROKERNEL: Pasa mensajes a los servicios Beneficios - INTERFAZ UNIFICADA EXTENSIBILIDAD FLEXIBILIDAD PORTABILIDAD CONFIABILIDAD SOPORTE DISTRIBUIDO SOPORTE DE O.O.O.I Desventaja - La performance es baja por el pasaje de mensajes Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 5 – CONCURRENCIA, EXCLUSION Y SINCRONIZACION DEFINICIONES - MULTIPROGRAMACION : Muchos procesos en un solo procesador - MULTIPROCESAMIENTO: Muchos procesos en muchos procesadores - DISTRIBUIDO: Clusters - SHARE MEMORY: SMP / Master-Slave CONCURRENCIA - INTERACCION o Desconocidos: Competición o Indirectamente Conocidos: Cooperación o Directamente Conocidos: Cooperación - COMPETICION o EXCLUSION MUTUA o DEADLOCK o STARVATION - COOPERACION o SHARING (Leer/escribir) o COMUNICACIÓN (Pasaje de mensajes) REQUERIMIENTOS - PARA EXCLUSION MUTUA o Debe poder entrar a la RC o Nadie más puede entrar mientras ya entró otro o Debe salir - MECANISMO DE DEKKER (Tiene Busy Waiting, espera preguntando y no puede hacer nada más mientras tanto) - HARDWARE: o DESACTIVAR LAS INTERRUPCIONES Ventajas Aplicable a 1 o muchos procesos Fácil verificación Soporta múltiples secciones criticas Desventajas Utiliza Busy Waiting que consume microprocesador Provocaría posible starvation Provocaría posible Deadlock - SEMAFOROS o Observaciones: Arranca en NO negativo Wait (--) Signal (++) Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. - o EXCLUSION MUTUA STRONG: Utiliza FIFO en la cola propia de BLOCKED (Evitar STARVATION) WEAK: Usa cualquier otro ALG para la cola (No lo asegura) MONITORES: Lenguaje de programación con PROCEDIMIENTOS, secuencia de inicialización y datos locales. o Características: Solo accesible por el monitor El proceso ingresa al monitor invocando sus procedimientos Solo un proceso ingresa al monitor, otros se suspenden aguardando Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 6 – CONCURRENCIA: DEADLOCK Y STARVATION DEADLOCK: Bloqueo por competencia (CAP. 5) de recursos o comunicación. - Recursos REHUSABLES: DISCO, CPU, Etc. - Recursos CONSUMIBLES: Creado y destruido (I/O, Signals) CONDICIONES 1 EXCLUSION MUTUA: 1 PROCESO UTILIZA UN RECURSO A LA VEZ 2 HOLD & WAIT: TOMA RECURSOS MIENTRAS ESPERA LA ASIGNACION DE OTROS 3 NO EXPULSABLE: NO SE LE PUEDEN SACAR RECURSOS ASIGNADOS 4 ESPERA CIRCULAR: UN PROCES ESPERA UN RECURSO QUE OTRO TIENE ASIGNADO Y VICEVERSA. DEADLOCK PREVENCION: o INDIRECTA: Prevenir la ocurrencia de items 1,2 y 3o DIRECTA: Prevenir la ocurrencia de la 4ta condición. DEADLOCK EVITACION: La decisión es tomada dinámicamente o No iniciar procesos cuya demanda pueda llevar a DL o No permitir solicitud incremental de recursos al proceso si este otorgamiento puede llevar a DL. ESTADO SEGURO: Existe al menos 1 secuencia en la que se pueden ejecutar los procesos y terminan sin DL DEADLOCK DETECCION: No limita el otorgamiento, busca si sucede la condición 4 a través de un algoritmo o RECUPERACION: Abortar todos los procesos en DL (Más común) Backupear los procesos a un checkpoint anterior y reevaluar. Abortar en secuencia los procesos en DL para ver si los restantes continúan en DL, evaluando nuevamente. Quitar y re otorgar recursos, y reevaluar cada vez. (Aprovecha que no son determinísticos) Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 7 – MANEJO DE MEMORIA PARTICION FIJA: Fragmentación interna DINAMICA: Fragmentación externa (Se soluciona con compactación) BUDDY SYSTEM: Divide en 2 el espacio, y así sucesivamente PAGINACION: Invisible al programador, presenta FRAG INTERNA (NO EXTERNA) y de tamaño 2n PAGINAS: Pedazo de proceso de tamaño fijo MARCOS: Pedazo de memoria de tamaño fijo PAGE TABLE: Por cada proceso el SO mantiene una tabla para saber en qué frame está cada página. SEGMENTACION: Visible al programador, presenta FRAG EXTERNA (NO INTERNA) Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 8 – MEMORIA VIRTUAL IMPLICANCIAS 1 Se puede mantener más procesos en memoria que el tamaño total de la misma. 2 Los procesos pueden ser más grandes que la memoria THRASHING: Sacar la pieza de memoria que justo se iba a utilizar después de la actual. Perder más tiempo swappeando que ejecutando. TRANSLATION LOOK-A-SIDE BUFFER (TLB): EVITA: o 2 accesos a memoria (Uno para la PAG y otro para DATOS) o Se utiliza la cache con los últimos pages utilizados SEGMENTACION: Beneficios o Simplifica el manejo de las estructura de datos o Permite alterar y recompilar independientemente o Permite compartir entre procesos o Más protección PAGE FAULT: Cuando no se encuentra la PAGE en ningún FRAME asignado al proceso (Genera OVERHEAD de SOFTWARE) FETCH POLICY: - BAJO DEMANDA: Trae la página pedida en ese momento - PREPAGINADA: Toma los contiguos al pedido también MANEJO DEL SET RESIDENTE: - CANTIDAD FIJA: Cada proceso tiene X frames asignados - CANTIDAD VARIABLE: Se le asigna dinámicamente MAS o MENOS frames REEMPLAZO DEL SET: - LOCAL: De los frames que se le asignaron al proceso - GLOBAL: De todos los frames disponibles en la memoria para PROCESOS. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 10 – MULTIPROCESSOR SCHEDULING CLASIFICACIONES: - Clúster (CPU + Memoria) - ESPECIALIZADOS (CPU para cada utilidad) REAL TIME SCHEDULING: - HARD: Tiene fecha tope obligatoria - SOFT: Tiene fecha tope deseable CARACTERISTICAS: - DETERMINISTICOS: Predefine secuencia, tiempos y resultados - RESPUESTA: Tiempo de respuesta a un evento - CONTROL DE USUARIO: - CONFIABILIDAD: en caso de falla - FAIL SOFT: Seguir cumpliendo a pesar de fallar. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 11 – I/O Y SCHEDULEO DE DISCO ORGANIZACIÓN: - I/O PROGRAMADA: El micro lo hace por el proceso, y luego Busy Waiting - I/O POR INTERRUPCION: Lo hace por el proceso, sigue ejecutando y lo interrumpe cuando termina. Suspende el proceso mientras tanto. - DMA: El módulo realiza el trabajo de intercambio entre el modula y la memoria. Se interrumpe cuando termina. DISEÑO: - EFICIENCIA: Reducir el tiempo y cuello de botella - GENERALIDAD: Manejo uniforme de las I/O RAID 0 1 2 3 4 5 6 No hay redundancia de datos (Alta velocidad de TX) Espejada (Alta velocidad de TX) Redundancia por HAMMING (Tolerancia al fallo, acceso PARALELO) 1 solo disco redundante (Alta velocidad de TX, acceso PARALELO) Paridad dividida (Alta velocidad de I/O, accesos INDEPENDIENTE) 1 disco de paridad (Alta velocidad de I/O, acceso INDEPENDIENTE) Ídem anterior (Alta velocidad de I/O, acceso INDEPENDIENTE) Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 12 – FILE MANAGEMENT ALOCACION: - CONTIGUA: Se pre alocan los bloques contiguos en la creación (Mayor velocidad de transferencia, Fragmentación EXTERNA) - ENCADENADA: Se enlazan con punteros en cada bloque (Acceso secuencial y menor fragmentación externa, se pierde el principio de localidad) - INDEXADA: Con punteros a bloques (Permite el acceso secuencial y directo) Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 13 – PROCESAMIENTO DISTRIBUIDO, CLIENTE/SERVIDOR, CLUSTERES CLIENTE/SERVIDOR: RPC: o SINCRO: Espera la respuesta del procedimiento llamado. o ASINCRONO: La respuesta llega en cualquier momento, mientras el proceso continúa trabajando. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CAPITULO 15 – SEGURIDAD AMENAZAS DE SEGURIDAD: - CONFIDENCIALIDAD: Algo es accedido por alguien autorizado - INTEGRIDAD: Solo modificado por alguien autorizado - DISPONIBILIDAD: solo disponible para alguien autorizado - AUTENTICIDAD: El equipo verifica la identidad del usuario. TIPOS DE AMENAZAS: o INTERRUPCCIÓN o MODIFICACION o INTERCEPCIÓN o FABRICACION PROTECCIÓN: ACL TICKET DE CAPACIDADES - PASSWORDS: o SELECCIÓN: EDUCAR AL USUARIO (POCO PROBABLE) PASSWORD GENERADA POR PC (POCO SEGURA, DIFICIL DE RECORDAR PARA EL USER) CHEQUEO PROACTIVO (CUANDO EL USUARIO INGRESA SU CONTRASEÑA EL SISTEMA SE LA VALIDA CONTRA CIERTOS PARAMETROS) CHEQUEO REACTIVO (UN SISTEMA VALIDA LAS CONTRASEÑAS, MUCHO CPU) SOFTWARE MALICIOSO: - BOMBA LOGICA - VIRUS (REPRODUCCIÓN) - CABALLO DE TROYA - GUSANO (REPLICACION) - ZOMBIE (BOTNET) ANTIVIRUS: DETECCIÓN IDENTIFICACION REMOCION TRUSTED SYSTEMS: - SEGURIDAD MULTINIVEL: Solo acceso a cierto tipo de información o NO READ UP o NO WRITE DOWN - SECURITY KERNEL DATABASE: Lista los privilegios y niveles de clasificación