Professional Documents
Culture Documents
Sistemas Operativos
Gua didctica
4 CRDITOS
UTPLECTS
1. Datos informativos
AUTORES: Ing. Julia Pineda Ing, Rommel Torres
CICLOS
CARRERAS
Informtica
6 5
Informtica
18607
SISTEMAS OPERATIVOS
Gua didctica Julia Pineda Rommel Torres
UNIVERSIDAD TCNICA PARTICULAR DE LOJA Diagramacin, diseo e impresin: EDITORIAL DE LA UNIVERSIDAD TCNICA PARTICULAR DE LOJA Call Center: 593 - 7 - 2588730, Fax: 593 - 7 - 2611418 C. P.: 11- 01- 608 www.utpl.edu.ec San Cayetano Alto s/n Loja-Ecuador Tercera edicin Primera reimpresin ISBN-978-9942-08-116-2 Reservados todos los derechos conforme a la ley. No est permitida la reproduccin total o parcial de esta gua, ni su tratamiento informtico, ni la transmisin de ninguna forma o por cualquier medio, ya sea electrnico, mecnico, por fotocopia, por registro u otros mtodos, sin el permiso previo y por escrito de los titulares del Copyright. Abril, 2012
2. ndice
1. 2. 3. 4. datos informativos ndice ...................................................................................................................................... introduccin............................................................................................................................. Lineamientos generales del modelo educativo basado en competencias y crditos acadmicos utpl-ects ....................................................................... 4.1 Competencias genricas .................................................................................................... 4.2 Competencias especficas .................................................................................................. bibliografa.............................................................................................................................. 3 5 6 7 7 8
5.
6. 7.
5.1 Bsica ............................................................................................................................ 8 5.2 Complementaria .............................................................................................................. 8 orientaciones generales para el estudio .................................................................................... 9 Proceso de enseanza-aprendizaje para el logro de competencias ........................................................................................................................... 11 Primer bimeStre 7.1 7.2 7.3 Planificacin para el trabajo del alumno .............................................................................. 11 Sistema de evaluacin ...................................................................................................... 13 Orientaciones especficas para el aprendizaje por competencias .............................................. 14 14 15 15 16 16 17 19 19 20 20 22 23 23 24 24 25 25 27 27 27 28 29 30 30 32 32 33 33 36 37 39 39 39 40 40
unidad 1: introduCCin a LoS SiStemaS oPeratiVoS .......................................................... 1.1. Organizacin de una computadora ..................................................................................... 1.2. Arquitectura de un sistema informtico................................................................................ 1.3. Estructura de un sistema operativo ..................................................................................... 1.4. Operaciones del sistema operativo ..................................................................................... Autoevaluacin 1 ..................................................................................................................... unidad 2. eStruCturaS de SiStemaS oPeratiVoS ................................................................. 2.1. Servicios del sistema operativo .......................................................................................... 2.2. Interfaz de usuario........................................................................................................... 2.3. Llamadas al sistema......................................................................................................... 2.4. Tipos de llamadas al sistema ............................................................................................. 2.5. Programas del sistema ..................................................................................................... 2.6. Diseo e implementacin de un sistema operativo ............................................................... 2.7. Estructura del sistema operativo ......................................................................................... 2.8. Maquinas virtuales ........................................................................................................... 2.9. Arranque del sistema........................................................................................................ Autoevaluacin 2 ..................................................................................................................... unidad 3. ProCeSoS .............................................................................................................. 3.1. Conceptos de procesos ..................................................................................................... 3.2. Planificacin de procesos .................................................................................................. 3.3. Operaciones sobre procesos............................................................................................... 3.4. Comunicacin entre procesos ............................................................................................. 3.5. Comunicacin de los sistemas cliente servidor ...................................................................... Autoevaluacin 3 ..................................................................................................................... unidad 4. PLaniFiCaCin de La CPu ...................................................................................... 4.1. Conceptos bsicos............................................................................................................ 4.2. Criterios de planificacin ................................................................................................... 4.3. Algoritmos de planificacin ................................................................................................ 4.4. Planificacin de un sistema multiprocesador ......................................................................... Autoevaluacin 4 ..................................................................................................................... unidad 5. SinCroniZaCin de ProCeSoS .............................................................................. 5.1. Fundamentos .................................................................................................................. 5.2. La seccin crtica.............................................................................................................. 5.3. Hardware de sincronizacin ............................................................................................... 5.4. Semforos ......................................................................................................................
5.5. Problemas clsicos de sincronizacin................................................................................... 40 5.6. Monitores ....................................................................................................................... 42 Autoevaluacin 5 ..................................................................................................................... 42 Segundo bimeStre 7.4 7.5 7.6 Planificacin para el trabajo del alumno .............................................................................. 45 Sistema de evaluacin ...................................................................................................... 47 Orientaciones especficas para el aprendizaje por competencias .............................................. 48 48 48 49 50 50 50 50 51 51 53 53 53 54 55 56 56 59 59 59 60 62 63 63 65 65 65 65 67 67 68 68 68 69 71 71 71 72 72 73
unidad 6. interbLoQueoS ..................................................................................................... 6.1. Modelo de Sistema .......................................................................................................... 6.2. Caracterstica de Interbloqueos........................................................................................... 6.3. Mtodos para tratar los Interbloqueos ................................................................................. 6.4. Prevencin de Interbloqueos .............................................................................................. 6.5. Evasin de Interbloqueos .................................................................................................. 6.6. Deteccin de Interbloqueos .............................................................................................. 6.7. Recuperacin de un Interbloqueo ....................................................................................... Autoevaluacin 6 ..................................................................................................................... unidad 7. memoria PrinCiPaL .............................................................................................. 7.1. Fundamentos .................................................................................................................. 7.2. Intercambio .................................................................................................................... 7.3. Asignacin de memoria contigua ........................................................................................ 7.4. Paginacin...................................................................................................................... 7.5. Segmentacin ................................................................................................................. Autoevaluacin 7 ..................................................................................................................... unidad 8. memoria VirtuaL .................................................................................................. 8.1. Fundamentos .................................................................................................................. 8.2. Paginacin bajo demanda ................................................................................................. 8.3. Sustitucin de pginas...................................................................................................... 8.4. Asignacin de marcos ....................................................................................................... 8.5. Sobrepaginacin .............................................................................................................. Autoevaluacin 8 ..................................................................................................................... unidad 9. interFaZ deL SiStema de arCHiVoS ...................................................................... 9.1. Concepto de archivo ......................................................................................................... 9.2. Mtodos de acceso .......................................................................................................... 9.3. Estructura de directorios .................................................................................................... 9.4. Proteccin ...................................................................................................................... 9.5. Mtodo de asignacin ..................................................................................................... 9.6. Gestin del espacio Libre .................................................................................................. 9.7. Eficiencia y desempeo .................................................................................................... 9.8. Recuperacin .................................................................................................................. Autoevaluacin 9 ..................................................................................................................... unidad 10. SiStemaS de e/S .................................................................................................. 10.1. Introduccin ................................................................................................................... 10.2. Hardware de E/S ............................................................................................................ 10.3. Interfaz de E/S ............................................................................................................... 10.4. Subsistema de E/S del kernel ........................................................................................... Autoevaluacin 10 ................................................................................................................... 8. 9.
PRELIMINARES
3. Introduccin
Bienvenidos a la asignatura de Sistemas Operativos, los profesores asignados a la misma tenemos una amplia experiencia conjunta en redes, seguridad y sistemas operativos, esta experiencia nos permitir, con la interaccin de ustedes, desarrollar objetivamente los contenidos de la presente asignatura hacia su mximo aprovechamiento. Esta materia es sin lugar a dudas una de las ms importantes dentro del conocimiento de Ciencias de la Computacin, estamos seguros que la presente materia le ayudar a resolver problemas no solo tcnicos, sino que adems como se dar cuenta, con las estrategias mostradas se puede resolver cualquier tipo de problema en los cuales se necesite por ejemplo planificacin y asignacin de recursos. La asignatura de Sistemas Operativos corresponde al sexto ciclo de la carrera de Informtica, y tiene una valoracin de 4 crditos. Esta gua se desarroll en base al trabajo previo de la Ing. Samanta Cueva a la cual agradecemos por su predisposicin y ayuda en la elaboracin de la misma. Actualmente la gran mayora de las actividades se desarrollan apoyndose en un sistema computacional; en el cual los Sistemas Operativos son su parte esencial. Por lo que conocer su estructura, funcionamiento y diseo es fundamental para un profesional de Informtica. El estudio de sta materia permite descubrir la relacin que existe entre el Sistema Operativo y el Computador, con lo cual se puede conocer y dimensionar el papel que ste software desempea en el adelanto tecnolgico al que estamos sujetos. Los contenidos a desarrollar estn distribuidos equitativamente en los dos bimestres. En el transcurso de la materia se irn revisando cada uno de los captulos y relacionndolos con los Sistemas Operativos Windows y Linux que son los ms utilizados en la actualidad El primer bimestre abarca el conocimiento general de que son los sistemas operativos, sus componentes y funcionamiento en general. Como se tambin se estudia la gestin de procesos que incluye una revisin general de lo que son procesos, la planificacin de la CPU, la sincronizacin de procesos e interprocesos. El segundo bimestre abarca el conocimiento de la Gestin de Memoria, que incluye en detalle los conceptos de memoria virtual y memoria principal. Para finalmente analizar los temas de Gestin de almacenamiento. Por lo que invitamos a aprovechar este curso que junto a su constancia y capacidad le permitir llegar a alcanzar las competencias planteados. Lo importante es que est motivado para continuar con el estudio de la materia y as adquirir una visin crtica para evaluar el desempeo de un Sistema Operativo, Quin sabe si usted construye un nuevo Sistema Operativo? O si usted tiene que administrar un Sistema? O s tiene que recomendar el Sistema Operativo adecuado para brindar servicio de Internet? As que vamos a ponerles ganas de aprender, de desarrollar, de investigar y sobretodo de generar algo nuevo y til no solo para nosotros sino para la sociedad en la que pertenecemos.
PRELIMINARES
Qu es un crdito acadmico UTPL / ECTS en la Modalidad a Distancia? Un crdito acadmico es la unidad de medida del trabajo del estudiante, implica 32 horas de trabajo del alumno (29 horas de trabajo autnomo y 3 horas de interaccin) 1. Los crditos acadmicos que el estudiante ir acumulando en el transcurso de la carrera involucran: aprendizaje autnomo (estudio personal), tareas de investigacin, interaccin en el Entorno Virtual de Aprendizaje (EVA), participacin en tutoras, videoconferencias y otros eventos acadmicos (Jornadas, seminarios, cursos, congresos avalados por la UTPL), prcticas acadmicas, pasantas preprofesionales y de vinculacin con la colectividad; actividades de evaluacin; as como la realizacin del trabajo de titulacin. El modelo adoptado por la UTPL contempla dos tipos de competencias: genricas y especficas. Competencias Genricas: Son aquellas capacidades (actitudes, habilidades y conocimientos) comunes a todas las profesiones que se ofrecen en la UTPL. Constituyen una parte fundamental del perfil que el estudiante debe desarrollar durante su formacin. Competencias Especficas: son propias de la titulacin, aportan a la cualificacin especfica para la profesin, dndole consistencia social y profesional al perfil formativo.
CONESUP (2008): Reglamento del Rgimen Acadmico del Sistema Nacional de Educacin Superior, art. 18.
PRELIMINARES
Estructura general del programa formativo Las Unidades Acadmicas o Escuelas de la UTPL han estructurado el programa formativo contemplando cinco mbitos o bloques de asignaturas: Formacin Bsica (10%); Genricas de carrera (15%); Troncales (35%) Complementarias (10%); Libre configuracin (10%) y adems, el Practicum que comprende las Pasantas preprofesionales y de vinculacin con la colectividad y Practicum Acadmico (20%).
PRELIMINARES
5. Bibliografa
5.1. Bsica
Silberschatz, A.; Galvin P.B. y Gagne, G. (2006). Fundamentos de Sistemas Operativos. MadridEspaa: Mc Graw Hill. El texto bsico en su sptima edicin, explica con claridad y ejemplos prcticos los conceptos relacionados con los sistemas operativos. Es un libro clsico de las ciencias de la computacin. Pineda Julia y Torres Rommel (2011). Gua Didctica de Sistemas Operativos. Loja Ecuador. UTPL. La presente gua le ayudar a enfocarse en el estudio, organizar el tiempo dedicado a cada uno de los captulos.
5.2. Complementaria
Tanenbaum, A. y Woodhull, A. (2006). Sistemas Operativos Diseo e Implementacin. Mxico: Prentice-Hall Este texto describe los principios relevantes de un Sistema Operativo, luego demuestra sus aplicaciones utilizando un Sistema Operativo como Unix con ejemplos detallados. Direcciones Electrnicas Martnez, J. E. P., Fernndez, I. M., Martn, J. G. (2010, February 22). Sistemas Operativos I. Retrieved March 31, 2011, from OCW UPM - OpenCourseWare de la Universidad Politcnica de Madrid [En lnea]. Disponible en http://ocw.upm.es/arquitectura-y-tecnologia-de-computadores/sistemasoperativos-i [consultado 31-03-2011]. En esta direccin usted encontrar material interesante de las principales unidades de la presente materia como son conceptos y evaluaciones.
PRELIMINARES
PRELIMINARES
tanto para el primer como para el segundo bimestre. Las respuestas de las autoevaluaciones se encuentran al final de la gua para que compare sus respuestas con las de la materia. Desarrolle los trabajos a distancia durante el bimestre, de tal forma que los pueda entregar en las fechas definidas por la Universidad.
10
Primer bimeStre
7.1
CONTENIDOS Unidades/Temas UNIDAD 1: Introduccin. 1.1. Organizacin de una computadora - 4 horas de autoestudio y 4 de interaccin. Semana 1 Tiempo estimado CRONOGRAMA ORIENTATIVO
COMPETENCIAS ESPECFICAS
INDICADORES DE APRENDIZAJE
Analizar, disear, validar, instalar y mantener redes de computadoras en diferentes reas dentro de una organizacin.
Lista usos y utilidad de los diferentes 1.2. Arquitectura de un sistema informtico sistemas operativos. Identifica claramente los componentes y 1.3. Estructura de un sistema informtico estructura de un sistema operativo ideal. 1.4. Operaciones del sistema operativo
Aplicar la lgica matemtica en el contexto de las Ciencias de la Computacin, con proyeccin, al diseo de circuitos, programacin, anlisis y desarrollo de algoritmos UNIDAD 2: Estructura del Sistema Operativo 2.1. Servicios del sistema operativo Semana 2.
Lea el Captulo 2 del texto bsico y revise los anuncios del EVA. Revise cmo funciona la mquina virtual de JAVA. De acuerdo a la arquitectura de los Sistemas operativos indique al menos dos SO por cada tipo de arquitectura. Indique Cules son los Servicios que el Sistema Operativo ofrece basados en el Objetivo de Comodidad del Usuario? y Cules son los Servicios del Sistema Operativo que ofrece basados en el uso eficiente de los recursos del computador? Indique las principales funciones que realiza cada componente del SO Resuelva la autoevaluacin 2 Contine con el desarrollo de la evaluacin a distancia.
Ejemplifica cuales son los objetivos de un sistema operativo desde el punto de vista 2.2. Interfaz del usuario de un Sistema Operativo de un usuario. 2.3. Llamadas al Sistema Identifica los servicios que provee un 2.4. Diseo e Implementacin de un Sistema sistema operativo. Operativo 2.5. Estructura del Sistema Operativo
11
COMPETENCIAS ESPECFICAS ACTIVIDADES DE APRENDIZAJE Revise los anuncios y material de apoyo del EVA Indique la razn por la que un proceso cambia de estado. Revise el Captulo 3 del texto bsico Unidades/Temas UNIDAD 3: Gestin de Procesos 4 horas de autoestudio y 4 de interaccin. - UNIDAD 4: Planificacin de la CPU Semanas 5 Resuelva la autoevaluacin 3. Contine con el desarrollo de la evaluacin a distancia. Revise el Captulo 5 del texto bsico Semana 3 y 4 Tiempo estimado
OBJETIVOS DE APRENDIZAJE
CONTENIDOS
12
Resuelva la autoevaluacin 3. Contine con el desarrollo de la evaluacin a distancia. Revise el Captulo 6 del texto bsico. Semanas 6 4 horas de autoestudio y 4 de interaccin. Preparacin de la Evaluacin Presencial Semanas 7 y 8 8 horas de autoestudio 5.4. Semforos 5.5. Problemas clsicos de sincronizacin de procesos 5.6. Monitores Realice un cuadro comparativo entre semforos y monitores. Resuelva la autoevaluacin 3. Contine con el desarrollo del trabajo a distancia. Revise el material de apoyo subido en el EVA. Revise las actividades de interaccin del EVA
CRONOGRAMA ORIENTATIVO
3.1. Conceptos de procesos Clasifica los diferentes tipos de 3.2. Planificacin de Procesos planificacin de procesos. Ejemplifica las diferentes operaciones de 3.3. Operaciones sobre procesos los procesos 3.4. Comunicacin interprocesos
Realice un cuadro sinptico de los tipos de planificadores que existen y las principales caractersticas de ellos. Cite dos ejemplos en donde estn incluidas las operaciones de procesos
4 horas de autoestudio - 4.1. Conceptos bsicos y 4 de interaccin. Identifica y entiende los procesos de los 4.2. Criterios de planificacin algoritmos utilizados por los sistemas Windows y Linux. 4.3. Algoritmos de Planificacin Evala el mejor algoritmo de planificacin 4.4. Comunicacin de los sistemas cliente servidor segn requerimientos.
En base a los criterios de planificacin existentes realice un anlisis comparativo de los diferentes algoritmos de planificacin. Y clasifquelos en Apropiativos o No Apropiativos
UNIDAD 5: Sincronizacin de Procesos Conoce los posibles problemas de sincronizacin que el sistema operativo 5.1. Fundamentos debe manejar. Aplica las posibles soluciones de la 5.2. El problema de la seccin crtica sincronizacin de procesos 5.3. Hardware de Sincronizacin
Realice un cuadro comparativo de los tipos de interacciones que puede haber entre procesos: Sincronizacin de Procesos, Sealizacin de Procesos y Comunicacin de Procesos. Cite un ejemplo de cada uno. Cite los principales problemas de sincronizacin de procesos e indique brevemente sus caractersticas.
PRIMER BIMESTRE
Recuerde que puede consultar a su profesor las dudas que tenga de la materia. Esto lo puede hacer va correo electrnico o llamada telefnica.
PRIMER BIMESTRE
Parte Objetiva
Comportamiento tico Actitudes Cumplimiento, puntualidad, responsabilidad Esfuerzo e inters en los trabajos Respeto a las personas y a las normas de comunicacin Creatividad e iniciativa Habilidades Contribucin en el trabajo colaborativo y de equipo Presentacin, orden y ortografa Emite juicios de valor argumentadamente Dominio del contenido Conocimientos Investigacin (cita fuentes de consulta) Aporta con criterios y soluciones Anlisis y profundidad en el desarrollo de temas
X X X
X X X
X X X
X X
X X
PORCENTAJE
Puntaje
TOTAL
20 puntos
Para aprobar la asignatura se requiere obtener un puntaje mnimo de 28/40 puntos, que equivale al 70%
* Son estrategias de aprendizaje, no tienen calificacin; pero debe responderlas con el fin de autocomprobar su proceso de aprendizaje. ** Recuerde: que la evaluacin a distancia del primero y segundo bimestre consta de dos partes: una objetiva y otra de ensayo, debe desarrollarla y entregarla en su respectivo Centro Universitario .
Sr. estudiante: Tenga presente que la finalidad de la valoracin cualitativa es principalmente formativa; sin embargo, en circunstancias especiales podra afectarle positiva o negativamente en su calificacin cuantitativa.
Evaluacin Presencial X X 14
13
PRIMER BIMESTRE
Unidad 1
INTRODUCCIN A LOS SISTEMAS OPERATIVOS
Estimado estudiante, comenzaremos a revisar los conceptos generales de los Sistemas Operativos, como primer paso tratemos de entender significado de lo que es un sistema operativo. Con este propsito le proponemos una actividad de tres pasos: 1) Buscar conceptos generales, 2) Luego con sta informacin generar nuestro concepto 3) verificar en el libro bsico el concepto y compara con el concepto que hemos generado. La desagregacin es una de las formas de asimilar los conceptos y relacionarlos. Comencemos: Una de las formas de asimilar los conceptos y relacionarlos es desagregarlos. Antes de leer el primer captulo les invitamos a buscar los conceptos generales de sistema y luego de operacin. Ahora analcelos, jntelos y defina a continuacin que es para usted un Sistema Operativo: _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ ______________________________________________________________________________________ Ahora lo invitamos a buscar, los conceptos pero relacionado en materia de Ciencias de la Computacin o Informtica. _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ ______________________________________________________________________________________ Ahora busque el concepto en las primeras pginas de nuestro texto bsico y transcrbalo: _______________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ ____________________________________________________________________________________ Con los tres conceptos que ha obtenido, estamos seguros que ya tiene claro que es un sistema operativo y lo ms importante lo puede definir en el contexto de Ciencias de la Computacin. En muchas ocasiones los conceptos en general, se mantienen similares en cada rea de estudio definida, en nuestro caso Informtica. Est de acuerdo? Piense en otros ejemplos en los cuales se cumple o no esta afirmacin.
14
PRIMER BIMESTRE
Continuemos con nuestro texto bsico, lea seccin 1.1 Qu hace un sistema operativo?, mientras lo revisa, sugerimos que haga un cuadro sinptico en donde coloque los componentes de un sistema operativo y los relacione con un sistema operativo de un computador de escritorio y un sistema operativo de un dispositivo mvil. (Celulares, tabletas), piense y escriba las diferencias y similitudes con respecto del hardware, el sistema operativo (en adelante lo llamaremos SO), los programas de aplicacin y los usuarios. Tambin es una herramienta de aprendizaje muy til, tener una visin de las cosas desde diferentes ngulos. Imagine que tiene que programar (crear) un nuevo sistema operativo para un telfono celular, Cmo ve el programador al SO, cual es el punto de vista del fabricante del hardware, qu esperan los usuarios, que debera hacer el SO? Con la ayuda del texto bsico responda a estas preguntas en la siguiente tabla: Punto de vista Sistema Funciones, procesos, visin de SO
Usuario
Programador
15
PRIMER BIMESTRE
cualquier persona en el mundo para la bsqueda de inteligencia extraterrestre. Investigue las razones por las cuales este proyecto utiliza los sistemas en clster. Interesante!
Temporizadores
En sistemas operativos y en cualquier disciplina es importante el manejo del tiempo, entre otras cosas para el uso eficiente de recursos y la identificacin de procesos que no agregan valor o estn en un bucle infinito. Por lo general se utilizan dos estrategias: el uso de un lmite de tiempo y un contador de
16
PRIMER BIMESTRE
tiempo (cronmetro). Imagine que es entrenador de atletismo para carreras de 100 metros y usted est haciendo audiciones para seleccionar atletas. El temporizador se configurara de la siguiente forma: 1) El lmite de tiempo 15 segundos (basado aleatoriamente) 2) El cronometro sera encendido para cada atleta. De tal forma que una vez que un atleta salga usted esperar que complete el recorrido antes de los 15 segundos para seleccionarlo.
Conclusin de la unidad
Hasta aqu hemos revisado la introduccin de los Sistemas Operativos, los apartados obligatorios para su estudio son hasta el apartado de Operaciones del Sistema Operativo. Sin embargo recomendamos que lea todo el captulo 1del texto bsico para que conozca en forma general todas las funciones, operaciones y procesos los cuales son responsabilidad y forman parte de un Sistema Operativo. Finalmente recomendamos desarrollar los ejercicios del texto bsico y las autoevaluaciones propuestas a continuacin. Le recordamos que las respuestas a estas autoevaluaciones se encuentran al final de esta gua. En este momento es ideal que revise y empiece a desarrollar su evaluacin a distancia. Y ahora a trabajar en los ejercicios, la autoevaluacin y a compartir sus hallazgos a travs del EVA. Manos a la obra!
AUTOEVALUACIN 1
Hemos finalizado el estudio de la primera unidad, como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de autoevaluacin y luego compare sus respuestas con las que estn al final de la presente gua. 1. El sistema operativo se define como: a) b) c) d) 2 Un conjunto de programas que sirven de interfaz entre el sistema de E/S y la memoria Es un programa que acta como intermediario entre el usuario y el hardware de una computadora. Conjunto de dispositivos lgicos que usa el computador Es el sistema computacional que se divide en cuatro componentes: el hardware, el sistema operativo, los programas de aplicacin y los usuarios.
Desde el punto de vista del sistema operativo, cuales es la diferencia entre sistemas monoprocesador y multprocesador? a) b) c) d) El incremento de la complejidad para la administracin del uso del CPU No existe diferencia por que el sistema operativo es el mismo no importa el nmero de procesadores. El sistema multiprocesador tiene la capacidad de atender a ms de un proceso en forma concurrente, mientras que el sistema monoprocesador solo atiende a uno El sistema monoprocesador tiene mayor rendimiento y mayor fiabilidad que un sistema multiprocesador
17
PRIMER BIMESTRE
Selecciones los elementos que debe manejar un sistema operativo a) b) c) d) Procesos Memoria Procesador Almacenamiento
El sistema operativo se encarga de las siguientes actividades relacionadas con la gestin de procesos: a) b) c) d) Saber cules partes de la memoria se estn usando actualmente y quin las est usando. Proveer primitivas para manipulacin de archivos y directorios Crear y eliminar procesos tanto de usuario como del sistema Planificar disco
5. 6. 7.
Presente una lista de los cuatro pasos necesarios para ejecutar un programa en una mquina completamente dedicada. Cul es la ventaja principal de la multiprogramacin? En qu circunstancias sera mejor para un usuario el de un sistema de tiempo compartido, en lugar de una PC o una estacin de trabajo para un solo usuario?
18
PRIMER BIMESTRE
Unidad 2
ESTRUCTURAS DE SISTEMAS OPERATIVOS
En la Unidad 1, se realiz una introduccin a los sistemas operativos, identificando y listando sus componentes y funcionamiento, con esta introduccin comenzaremos a desarrollar en mayor detalle cada uno de los componentes que conforman los sistemas operativos. En esta unidad trabajaremos sobre los servicios que presta un sistema operativo a los usuarios, a los procesos y a otros sistemas, veremos tambin como estructurar un sistema operativo para finalmente entender cmo se instalan, personalizan y arrancan. Pasemos a leer los prrafos introductorios y los objetivos planteados en el texto bsico.
Actividad Recomendada:
Para interactuar con un sistema operativo desarrollado por Microsoft (Marca Registrada) a travs de la lnea de comandos, el usuario debe ejecutar el comando cmd. (Vaya a inicio, ejecutar y coloque la palabra cmd). Ahora coloque el comando dir, Qu muestra en pantalla este comando? Cmo puede hacer lo mismo con la interfaz grfica? 3. Por lotes: En el cual todos los comandos necesarios son colocados en un archivo o en una base de datos, desde donde el Sistema Operativo los extrae y ejecuta. Como ejemplo de una interfaz por lotes: piense en las tareas de respaldo que deben hacer todos los das los bancos.
Finalicemos la lectura de este apartado, para determinar si ya ha logrado entender estos contenidos, tiene que listar y comprender por los menos cinco servicios que prestan los sistemas operativos.
19
PRIMER BIMESTRE
Una de las estrategias de memorizacin ordenada es relacionar la primera silaba de cada letra, crear una nueva palabra de tal forma que todas generen una oracin. Por ejemplo: Interfaz de usuario Ejecucin de programas Operaciones de E/S In Ej Ope Inteligente Ejecucin Opera Manuel Comiendo Dedales
Manipulacin del sistema de Ma archivos Comunicaciones Deteccin de errores La oracin puede quedar Co De
Inteligente ejecucin de la opera de manuel comiendo dedales, mientras ms original sea la oracin ms fcil ser recordar y por lo tanto usted podr traer ese conocimiento en cualquier momento que necesite, solo recordando la oracin. Le animamos a crear su propia oracin y a utilizar esta estrategia para los conceptos en esta materia y en cualquier actividad de aprendizaje que usted necesite.
20
PRIMER BIMESTRE
de llamadas al sistema que se han realizado. Ahora imagine para procesos ms complejos, cuando el sistema operativo debe atender a ms de un usuario, o cuando hay mltiples procesos solicitando acceso al sistema, todos estas llamadas a los servicios del sistema y a los recursos del mismo deben ser planificados y controlados para que el equipo no falle. Toda esta planificacin y control de los componentes de los sistemas operativos lo veremos en los captulos siguientes. A continuacin revise el termino Interfaz de Programacin de Aplicaciones (API, del trmino en Ingls). Por qu es importante este componente? Qu funciones tiene un API? Cundo es utilizado? Registre sus respuestas. Recuerde que las Llamadas al Sistema son algoritmos que son implementados en funciones o procedimientos en lenguaje de programacin C o Ensamblador. Por lo tanto como cualquier programa de computadora tiene tres componentes claramente identificados: Entrada, Proceso y Salida. El componente de entrada esta dado por los requerimientos necesarios para que el proceso trabaje normalmente, en nuestro caso con los parmetros que se pasan a la funcin cuando es invocada. El procesamiento, toma el valor de los parmetros para realizar el proceso establecido. Finalmente estas llamadas al sistema retornan un valor o en su defecto un error si existiera. Para aclarar este tema revisemos la figura 2.2 del texto bsico, y para reforzar veamos el siguiente ejemplo de una funcin definida en c++. Funcin 1: Determinar un vecino bool HNeighborTable::isNeighbor(nsaddr_t addr) { ntable_ent *ent = GetEntry(addr); if (ent == NULL) { return false; }else { return true; } } Analicemos la funcin 1, est escrita en lenguaje C++, su funcin es determinar si existe un vecino, sta funcin ha sido desarrollada dentro de un protocolo de comunicacin para redes mviles, en donde todos los equipos se comunican mediante enlaces inalmbricos. Como puede ver esta funcin tiene un parmetro de entrada nsaddr_t addr, el parmetro es addr y es de tipo nsaddrt (como puede ser de tipo entero, real, etc). El proceso es ubicar en la tabla de enrutamiento del equipo si existe una entrada para el valor enviado en addr. Si la direccin addr es ubicado en la tabla de enrutamiento entonces retorna un valor booleano de true. Que le parece, con este ejemplo estamos seguros que se dio cuenta de la importancia de las llamadas al Sistema, as como su funcionamiento y estructura.
21
PRIMER BIMESTRE
Actividad Recomendada:
Recomendamos probar Ubuntu en su computador, Ubuntu es un sistema operativo basado en Linux de distribucin gratuita, si no puede conseguir en su sector, enveme un email para enviarle una copia. Puede probar Ubuntu en tres formas: 1) Live CD, 2) A travs de una mquina virtual y 3) Instalando en particiones separadas a su sistema operativo original. Para nuestro estudio con la opcin de Live CD es ms que suficiente. El uso de Ubuntu en Live CD implica que no debe cambiar, ni instalar, nada en su computador, el CD arranca una versin completa de Ubuntu, sin cambiar la instalacin actual de su computador. Una vez que instale abra una ventana de terminal Vaya a Aplicaciones, luego Accesorios y haga un click en terminal. Si se da cuenta hemos accedido a una Interfaz de comandos del sistema operativo. Ahora coloque los comandos man chmod y luego man chown, el comando man le muestra el manual de los argumentos que le siguen, en este caso chmod y chown. El comando chmod permite cambiar los permisos de los archivos y directorios y el comando chown le permite cambiar el grupo y el dueo del archivo. Como actividad, luego de la lectura, analice los permisos que se definen en Linux para archivos y directorios. Y tambin verifique que son los grupos y usuarios de archivos en Linux. Conteste las siguientes preguntas. Cules son los tipos de permisos para archivos y cmo se diferencian de los directorios? Cmo en Linux se puede determinar si un elemento es un archivo o un directorio (Ayuda revise el comando ls -lh? Puede pertenecer un archivo o directorio a ms de un grupo o usuario? Qu significan los permisos de archivos? Ahora continuemos con la lectura de los apartados de Administracin de dispositivos, Mantenimiento de Informacin y Comunicaciones. De igual forma es importante que recuerde de cada uno por lo menos tres llamadas al sistema. Tambin es necesario que en sus propias palabras defina y enumere:
22
PRIMER BIMESTRE
los tipos de dispositivos, la definicin de dispositivo; la necesidad de mantener la informacin y que informacin cree que se debe mantener; los modelos de comunicacin entre procesos. Prosigamos, ahora con el siguiente apartado:
Objetivos de diseo:
Usuario Cuando se reciba una llamada debe mostrar el nmero y el nombre del que llama lo ms grande Debe ser multitarea. posible. Sistema
Mecanismos y polticas:
MECANISMOS POLITICAS
23
PRIMER BIMESTRE
Implementacin
CARATERISTICA Implementado en C++ y Java DETALLE Los procesos de acceso al sistema se implementarn en C++, mientras que los procesos o interfaces se usuario se programarn en JAVA
Ahora que ha realizado un excelente ejercicio de definicin de requerimientos. Como puede ver el diseo de un sistema operativo comienza con una definicin formal de los requisitos, facilidades y componentes que debe tener el dispositivo en donde trabajar el sistema operativo. Es tiempo de continuar con el siguiente apartado.
Actividad Recomendada:
Le retamos y animamos a instalar Ubuntu a travs de una mquina virtual. Para lo cual puede utilizar la versin demo del software vmware workstation (http://downloads. vmware.com/d/info/desktop_downloads/vmware_workstation/7_0) y el software Ubuntu. Recuerde tener respaldo de su informacin. Ahora revise si todo su hardware fue identificado e instalado sin problemas en la mquina virtual. Haga un listado de aquel hardware que no fue identificado y cuestinese e
24
PRIMER BIMESTRE
investigue en Internet, luego de leer el apartado del texto bsico, porque razn o razones este hardware no fue identificado correctamente. Pasemos ahora a revisar el siguiente apartado del texto bsico.
Autoevaluacin 2
Estamos seguros que el estudio de esta unidad ha sido de su inters. Verifiquemos cuanto ha asimilado respondiendo las preguntas de la autoevaluacin. 1. La estructura por capas de un Sistema Operativo a) b) c) d) 2) Implica un solo nivel en donde se implementa slo un pequeo conjunto de primitivas necesarias. Los recursos reales se reparten entre las distintas mquinas virtuales. Crea la ilusin de que mltiples procesos se ejecutan cada uno en su propio procesador con su propia memoria (virtual). La principal ventaja es la modularidad. Las capas se escogen de modo que cada una utilice funciones y servicios de las capas inferiores.
En los Sistemas por lotes a) b) c) d) Los trabajos con necesidades similares se agrupaban y se los ejecutaban en la computadora como un grupo. Se sincronizan procesadores y los recursos compartidos a los que acceden. El que una tarea de tiempo real crtica goza de prioridad respecto a otras tareas y conserva esa prioridad hasta que se lleva a cabo. El usuario interacta directamente con el equipo puede ver los resultados inmediatamente.
25
PRIMER BIMESTRE
3.
Entre las desventajas de una mquina virtual tenemos a) b) c) d) Los costos de una mquina virtual son muy altos. Difcil manejo. Dependencia del Hardware. La implementacin puede ser compleja y lenta.
4.
Las llamadas al sistema operativo proporcionan una interfaz a travs de la cual se puede invocar los servicios que el sistema operativo ofrece. ( ( ) Verdadero ) Falso
5. 6. 7 8 9
Cul es el propsito del intrprete de comandos? Por qu est generalmente separado del kernel? Cul es el propsito de las llamadas al sistema? Cul es el propsito de los programas del sistema? Cul es la principal ventaja de la estructura en niveles en el diseo de sistemas? Cul es la principal ventaja del enfoque con microkernel para el diseo de sistemas?
Ejercicios
Ahora a desarrollar y resolver los problemas planteados del texto bsico, con esta actividad se reforzar el nivel de conocimientos de la presente unidad, hemos planteado que desarrolle los siguientes ejercicios, si tienes dudas sobre estos no olvide contactarnos a travs de los canales dispuestos por la Universidad. Ejercicios 2.2, 2.5, 2.7, 2.13, 2.14
26
PRIMER BIMESTRE
Unidad 3
PROCESOS
Iniciemos el estudio de la Unidad 3, captulo 3 del texto bsico. Esta unidad muestra uno de los procesos y funciones que son parte obligatorio de un sistema operativo. Se revisan el concepto de procesos, como se planifican los procesos, como se comunican y que operaciones puede el sistema operativo realizar sobre procesos.
Estas preguntas le ayudarn a entender este apartado. Ahora continuemos con el siguiente.
UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja
27
PRIMER BIMESTRE
Actividad Recomendada:
Para responder esta pregunta realicemos la siguiente actividad en su distribucin de Ubuntu: 1. Abra, una ventana de terminal y coloquemos el comando: ps -el | more Deberamos obtener una respuesta similar a la inferior. FS 4S UID PID PPID C PRI NI ADDR SZ WCHAN TTY 0 1 0 0 80 0 696 poll_s ? TIME CMD 00:00:00 init
De aqu es importante determinar cual el PID (Identificador de proceso de sus siglas en ingles) del proceso init. 2. Ahora coloquemos el comando ps axjf Deberamos obtener una salida en pantalla similar a esta, o identifique esta salida en su computador: PPID PID PGID SID TTY 1 6922 1424 1424 ? 6922 6923 1424 1424 ? 6922 6924 6924 6924 pts/0 6924 7494 7494 6924 pts/0 TPGID STAT UID TIME COMMAND -1 -1 7494 7494 Sl S 1000 0:08 gnome-terminal 1000 0:00 \_ gnome-pty-helper Ss R+ 1000 0:00 \_ bash 1000 0:00 \_ ps axjf
Ahora llene la siguiente tabla identificando el Identificador de proceso (PID) y el Identificador de proceso superior o padre (PPID). Proceso Gnome-terminal gnome-pty-helper bash ps axjf Init Le animamos a identificar el resto de columnas leyendo el manual del comando ps, a travs del comando man ps. PPID PID
28
PRIMER BIMESTRE
Cundo se ejecuta un proceso hijo existen dos acciones que puede hacer el proceso padre? Ahora continuemos leyendo el texto bsico, en el apartado referente a la terminacin de procesos. Mientras lee le invitamos a responder las siguientes preguntas: Qu relacin tiene la terminacin de procesos con la utilizacin de memoria? En un sistema operativo para telfonos inteligentes, de las formas de como terminar un proceso, cul cree que sera la mejor opcin y por qu?
Seguros de que este apartado fue de su agrado, recuerde que cualquier duda se lo puede hacer a travs del Entorno Virtual de Aprendizaje o por los medios dispuestos por la Universidad. Continuemos ahora con otro apartado.
Como se ha dado cuenta la comunicacin entre procesos necesita de mecanismos IPC (Intercomunication process), esta comunicacin entre procesos sirve para intercambiar informacin. Existen dos formas que estos procesos pueden intercambiar informacin, 1) memoria compartida y paso de mensajes. Por ejemplo memoria compartida es un lugar de almacenamiento de informacin temporal en la cual todos los procesos depositan la informacin a ser compartida. Una analoga sera los mensajes que pegamos en el refrigerador. Puede pensar otra? El paso de mensajes es anlogo a una central telefnica en donde los telfonos seran anlogos a procesos y el concepto de central telefnica es anlogo al kernel. Busque en sus acciones diarias otra analoga referente a la comunicacin de procesos usando el paso de mensajes? En memoria compartida los procesos pueden hacer uso de un buffer (espacio de memoria) que puede ser limitado e ilimitado. Limitado en la cantidad de informacin que puede colocar el proceso productor. De tal forma que si este buffer de memoria est lleno el proceso productor debe esperar a que el proceso consumidor tome esos y vace el buffer de memoria. Cuando usa el buffer ilimitado esta restriccin no existe. En la comunicacin de mensajes usando paso de mensajes es importante determinar cules son las implicaciones. Cuando uno se comunica con otra persona existen circunstancias similares a las descritas aqu en este apartado. Imagine una comunicacin telefnica mientras lee este apartado. Y encuentre similitudes con los siguientes aspectos: 1) El nmero de telfono de destino y el nombrado 2) La lnea de telfono y el enlace de comunicacin, 3) Las pausas que existen en la conversacin y la sincronizacin 3) la cola temporal con la capacidad de retencin de los que intervienen en la llamada telefnica.
29
PRIMER BIMESTRE
Como pudo determinar este apartado es de fcil lectura y comprensin, el apartado de ejemplo no es necesario revisarlo para la presente asignatura, sin embargo le sugerimos su lectura ya que le ayudara a mejorar la comprensin de lo que son los conceptos generales de comunicacin entre procesos. Finalmente vamos a revisar la comunicacin entre dos entidades cliente y servidor, que no necesariamente deben estar en diferentes equipos.
Autoevaluacin 3
Una vez finalizada la unidad 3, veamos cuanto hemos comprendido desarrollando la presente autoevaluacin. Revise nuevamente los conceptos de las preguntas con las cuales tuvo dificultad. No olvide interactuar con sus compaeros y profesores a travs del EVA. 1. Tres de las razones para la culminacin de un proceso son. a) b) c) d) Normal, Por tiempo excedido, Violacin de lmites. Memoria disponible, tiempo de ejecucin, Error de proteccin. Normal, Por tiempo cancelado, Violacin de lmites. Error de ejecucin, Por tiempo excedido, Violacin de lmites.
30
PRIMER BIMESTRE
2.
De la siguiente lista identifique cuales son los estados de un proceso. a) b) c) d) Nuevo Listo Procesado En ejecucin
3.
El planificador a corto plazo selecciona de entre los procesos terminados para ser ejecutados nuevamente. ( ) Verdadero ( ) Falso
4.
Los procesos cooperantes se definen como: a) b) c) d) Abstraccin de un programa en ejecucin y es la unidad de trabajo del sistema. Son los que pueden que no son afectados por los dems procesos que se ejecutan en el sistema Las tareas y algunos de sus atributos son definidos por el programador y permiten elevar el rendimiento y controlar explcitamente las actividades Son los que pueden afectar o ser afectados por los dems procesos que se ejecutan en el sistema
5. 6. 7. 8. 9.
Describa las diferencias entre la planificacin de corto plazo, de mediano plazo y de largo plazo. Describa las acciones que efecta el kernel para realizar una conmutacin de contexto entre procesos. Mencione dos diferencias entre los hilos a nivel de usuarios y los hilos a nivel de kernel. Indique bajo qu circunstancias un tipo es mejor que otro. Describa las acciones tomadas por un kernel para realizar una conmutacin de contexto entre hilos a nivel del kernel. Qu recursos se emplean cuando se crea un hilo? En qu difieren con respecto a los que se utilizan cuando se crea un proceso?
Ejercicios
Proponemos los siguientes ejercicios, los mismos que hemos seleccionado para reforzar el nivel de conocimientos de la presente unidad. Manos a la obra y empecemos a desarrollarlos. Ejercicios: 3.1, 3.2, 3.3, 3.4, 3.5
31
PRIMER BIMESTRE
Unidad 4
PLANIFICACIN DE LA CPU
Esta unidad corresponde al captulo 5 del texto bsico. El propsito de esta unidad es analizar los algoritmos de planificacin de procesos y exponer criterios de evaluacin para seleccionar el ms adecuado. El proceso de planificacin de la CPU consiste en organizar los procesos que lleva el CPU para hacer que el trabajo sea ms productivo. Esta unidad es una de las que tiene la mayor cantidad de informacin debido a que el CPU es uno de los elementos, sino el ms importante, por lo que se debe detallar en profundidad el trabajo y la organizacin con este elemento central con el sistema operativo. Comencemos con la lectura del texto bsico, revisemos el apartado 5.1 Conceptos Bsicos del texto bsico.
Actividad Recomendada:
Utilice la siguiente tabla para anotar las caractersticas ms importantes de cada uno de los siguientes conceptos. Multiprogramacin Ciclo de rfagas de CPU y de E/S Planificador a corto plazo FIFO Planificacin corporativa Planificacin apropiativa Despachador Latencia de despacho Si an no ha dominado estos conceptos le invitamos a una nueva lectura mientras elabora un mapa conceptual sobre los mismos. Utilizado por: Utilizado por :
32
PRIMER BIMESTRE
Una vez dominados los conceptos ms importantes para la planificacin, continuemos con la lectura del siguiente apartado.
El algoritmo FCFS (first come first-served), conocido como primero en llegar, primero en ser atendido.
Dentro de este campo de planificacin es el ms sencillo, pues es similar a una cola de estructura (FIFO) Este algoritmo trabaja de la siguiente manera, al entrar un proceso al estado de listo, el bloque de
33
PRIMER BIMESTRE
control de proceso se ubica en el final de la cola, entonces el CPU al estar libre retirar de esta cola el primer elemento (cabeza). Es decir, en este algoritmo el tiempo de espera para que un proceso se ejecute es incierto y no mnimo. Pudiendo as ejecutarse dentro de la CPU un proceso que consuma demasiado tiempo, atrasando a otros procesos y dejando la CPU sin trabajo por lapsos de tiempo. En definitiva este algoritmo hace que los procesos pequeos (en relacin de rfagas de CPU o tiempo de uso de CPU) esperen a que un proceso grande abandone la CPU. Una gran desventaja. Cuando se trabaja con un dispositivo con un solo procesador, Qu es lo que pasa? Refirase al texto bsico para encontrar la respuesta. Conoce estrategias en la vida real que utilicen este algoritmo? Lo utilizara en el sistema operativo qu est diseando? Como puede ver en algunos algoritmos el tiempo de espera es un criterio muy importante para la seleccin de un algoritmo sobre otro.
34
PRIMER BIMESTRE
es decir una espera indefinida. Es aqu donde se puede aplicar una tcnica conocida como envejecimiento, que ir incrementando la prioridad de los procesos en espera cada determinado tiempo hasta que estos se ejecuten. Ha visto en algunos bancos que hay colas especiales, o que a los clientes propios de los bancos tienen mayor prioridad (los atienden ms rpido) que a aquellos que no son? Pues en estos casos estn utilizando este tipo de algoritmo.
35
PRIMER BIMESTRE
Equilibrado de carga
Mientras lee identifique relacin tiene el equilibrado de carga con las colas privadas de cada CPU y con el concepto de cola comn. Y piense en las estrategias de migracin solicitada y migracin comandada para lograr equilibrio en el uso de cada procesador. No olvide que se trata de mantener a todos los procesadores ocupados en forma equilibrada.
36
PRIMER BIMESTRE
Autoevaluacin 4
Cunto he aprendido? Ahora desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de autoevaluacin. 1. El algoritmo de planificacin de procesos que realiza una asignacin equitativa del tiempo de Procesador es a) b) c) d) 2. SJF Round Robin Por prioridad FIFO
El algoritmo de planificacin que despacha primero al proceso ms antiguo es: a) b) c) d) SJF Round Robin Por prioridad FIFO
3.
Seleccione los criterios que utilizan los algoritmos para la planificacin de la CPU a) b) c) d) Utilizacin de la CPU Buffer del disco duro Tiempo de ejecucin de los procesos Tasa de procesamiento
4.
El multiprocesamiento simtrico (SMP) existe o se caracteriza por: a) b) c) d) Existe un procesador maestro que planifica el trabajo de los otros procesadores En sistemas monoprocesador permite que dos procesos se ejecuten simultneamente. En sistemas multiprocesador en el que capa procesador se auto-planifica Todos los procesos utilizan los algoritmos de planificacin FIFO para que los procesos se ejecuten en forma paralela.
5.
Un algoritmo de planificacin de la CPU determina un orden para la ejecucin de sus procesos. Dados n procesos a ser planificados en un procesador, Cuntos posibles planes diferentes hay? Proporcione una frmula en trminos de n Defina la diferencia entre la planificacin apropiativa y la no apropiativa. Explique por qu es poco probable que una planificacin estricta no apropiativa se utilice en un centro de cmputo. Considere el siguiente conjunto de procesos, con el tiempo de rfaga de CPU dada en milisegundos:
6. 7
37
PRIMER BIMESTRE
PROCESO P1 P2 P3 P4 P5
TIEMPO DE RFAGA 10 1 2 1 5
PRIORIDAD 3 1 3 4 2
Se supone que los procesos llegaron en el orden de P1, P2, P3, P4 y P5, todos ellos en el momento 0. a) Elabore cuatro grfica de Gantt que ilustre la ejecucin de estos procesos empleando la planificacin FIFO, SJf, una planificacin por prioridades no apropiativa (un nmero de prioridad menor implica una mayor prioridad) y una planificacin RR (quantum=1) Cul es el tiempo de entrega de cada proceso para cada uno de los algoritmos de planificacin de la parte a? Cul es el tiempo de espera de cada proceso para cada uno de los algoritmos de planificacin de la parte a? Cul de los planes de la parte a da por resultado el mnimo tiempo de espera promedio (sobre todos los procesos)?
b) c) d) 8
Considere una variante del algoritmo de planificacin Round Robin en donde las entradas en la cola de listos son apuntadores a los Bloques de Control de Procesos. Cules seran dos ventajas y dos desventajas importantes de este esquema? Qu ventajas existe al tener diferentes tamaos de quantum en los diferentes niveles de un sistema de colas de niveles mltiples?
A interactuar en el EVA
Ingrese al campus virtual que se encuentra en la siguiente direccin: http://www.utpl.edu.ec y de respuesta a la pregunta que se ha previsto como parte del foro, su aporte es importante y calificado.
38
PRIMER BIMESTRE
Unidad 5
SINCRONIZACIN DE PROCESOS
El propsito de esta unidad es analizar soluciones tanto de software como de hardware para el problema de las secciones crticas. Esta unidad tiene correspondencia con el captulo 6 del texto bsico. Continuemos.
5.1. Fundamentos
Iniciemos, lea y comprenda la seccin 6.1 Fundamentos, del texto bsico. Un proceso es cooperativo si puede afectar o ser afectado por los otros procesos que se estn ejecutando en el sistema. La cooperacin entre procesos requiere: la ejecucin concurrente de los mismos, mecanismos de comunicacin y mecanismos de sincronizacin Al haber procesos concurrentes se deben emplear mecanismos para asegurar la consistencia de los datos. Como ejemplo, supongamos que tenemos tres (3) procesos concurrentes que quieren modificar un mismo archivo. Si los tres (3) acceden a este al mismo tiempo el archivo quedar con valores incorrectos. Para resolver problemas como este se ide la seccin crtica, que es el segmento de cdigo que accede a los recursos. Slo puede haber una seccin crtica en ejecucin por vez, as nos aseguramos que los datos quedan consistentes. Sugerimos leer nuevamente este apartado y crear un mapa conceptual del mismo. Es importante dominar estos conceptos para facilitar el entendimiento de los siguientes apartados.
39
PRIMER BIMESTRE
1. 2.
Kernels apropiativos.- Permite que un proceso sea desalojado mientras se est ejecutando en modo kernel. Kernels no apropiativos.- No apropiativo no permite que un proceso que se est ejecutando en modo kernel sea desalojado.
Sugerimos leer la seccin 6.3 Solucin de Peterson, del texto bsico, en donde se detalla una solucin al problema de la sincronizacin de procesos, esta seccin no ser tomada en cuenta en las evaluaciones a distancia ni presencial. Desarrolle un tabla comparativa entre kernel apropiativos y kernel no apropiativos.
5.4. Semforos
Las soluciones por hardware presentadas no son fciles de generalizar a problemas ms complejos. Para entender cmo funciona esta solucin usted debe revisar la seccin 6.5 Semforos, del texto bsico. Esta dificultad se puede superar usando una herramienta de sincronizacin llamada semforo. Un semforo S es una variable entera que solo es accedida a travs de dos operaciones atmicas: wait y signal. wait(S): while S <= 0 do no-op S := S - 1; signal(S): S := S +1;
40
PRIMER BIMESTRE
Le incitamos a revisar la seccin 6.6 Problemas clsicos de sincronizacin, del texto bsico, como le fue con la lectura, que interesantes son los problemas con los que un sistema operativo puede encontrarse, no es verdad?
Buffer finito
Mientras lee este apartado defina los siguientes conceptos y algoritmos presentados. Buffer de tamao N Semforo mutex inicializado en 1 Semforo full inicializado en 0 Semforo empty inicializado en N
Lectores y escritores
Mientras lee este apartado defina los siguientes conceptos y algoritmos presentados. Utilice un mapa conceptual para recrear y mejorar la comprensin de este problema. Una zona de memoria es compartida por varios procesos concurrentes Lectores slo lee datos; no efectan actualizaciones de datos Escritores puede leer y escribir
Problema permitir a mltiples lectores leer simultneamente; slo un escritor puede acceder a los datos en forma simultnea. Recursos Compartidos Datos Semforo mutex inicializado en 1. Semforo wrt inicializado en 1. Entero readcount inicializado en 0.
41
PRIMER BIMESTRE
5.6. Monitores
Otro mtodo de solucionar los problemas de sincronizacin es los monitores, para que comprenda este mecanismo lo invitamos a revisar la seccin 6.7 Monitores, del texto bsico. Ahora recordemos, Qu son los monitores? Son mecanismos de sincronizacin de nivel ms alto que los semforos. La construccin se realiza a nivel de lenguaje de programacin que controla el acceso a datos compartidos. Un tipo monitor tiene un conjunto de operaciones definidas por el programador que gozan de la caracterstica de exclusin mutua dentro del monitor. Revise y haga un diagrama de flujo para el problema de la CENA DE LOS FILOSOFOS usando el texto bsico con la solucin de monitores. Este es el final del primer bimestre. No olvide ingresar al Entorno Virtual de Aprendizaje para intercambiar ideas con sus compaeros profesores. Como ltima estrategia de aprendizaje sugerimos revisar nuevamente sus notas y los ejercicios que ha desarrollado como actividades complementarias y en su evaluacin a distancia.
Autoevaluacin 5
Cunto he aprendido? Desarrollemos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de la presente autoevaluacin. 1. El concepto de semforo es: a) b) c) d) 2. Proceso que es definido por el sistema y se aplica en sistemas operativos multitarea. Tiempo relacionado con los tiempos de respuesta parciales de los procesos interactivos Es una seleccin de trabajos a cargar en memoria principal. Es una variable entera a la que, una vez asignado un valor inicial, slo puede accederse a travs de dos operaciones atmicas estndar.
La regin crtica es: a) b) c) d) El conjunto de instrucciones que delimitan la actualizacin de una o ms variables compartidas. Cuando un proceso permite temporalmente a los dems de utilizar la seccin compartida. El conjunto de instrucciones que permiten trabajar con secciones compartidas. Una regin que existe en memoria virtual.
42
PRIMER BIMESTRE
3.
Si el proceso se est ejecutando en su seccin crtica los dems procesos no pueden estar ejecutndose en sus secciones crticas, significa que existe un estado de a) b) c) d) Exclusin mutua Sincronizacin Bloqueo mutuo Seccin crtica
4.
Seleccione los problemas de sincronizacin en los cuales la utilizacin de semforos es una solucin conveniente: a) b) c) d) Problema de los lectores-escritores Problema de la cola compartida Problema de dispositivos de E/S Problema de la cena de los filsofos
5. 6. 7. 8.
Una solucin al problema de la seccin crtica debe satisfacer los siguientes requerimientos? Cules son las principales caractersticas de los semforos? Cul es la principal funcin de los monitores? Cules son las principales reglas de sincronizacin que se utilizan en JAVA?
43
Segundo bimeStre
SEGUNDO BIMESTRE
7.4
CONTENIDOS Unidades/Temas Captulo 6: Interbloqueo de Procesos 6.1. Modelo del sistema Semana 01 y 11: 4 horas de autoestudio y 4 de interaccin. Semana 9: Tiempo estimado CRONOGRAMA ORIENTATIVO
COMPETENCIAS ESPECFICAS
OBJETIVOS DE APRENDIZAJE
Analizar, disear, validar, instalar y mantener redes de computadoras en diferentes reas dentro de una organizacin. 6.5. Deteccin de interbloqueos. 6.6. Recuperacin de interbloqueos UNIDAD 7: Gestin de Memoria 7.1 Fundamentos de Gestin de memoria principal
Analizar las posibles soluciones para un 6.2. Caracterizacin de los interbloqueos interbloqueo. Demostrar si un conjunto de procesos se 6.3. Mtodos para tratar interbloqueos encuentran en un interbloqueo. 6.4. Prevencin de Interbloqueos
Aplicar la lgica matemtica en el contexto de las Ciencias de la Computacin, con proyeccin, al diseo de circuitos, programacin, anlisis y desarrollo de algoritmos 7.4 Paginacin 7.5 Segmentacin
Clasificar los diferentes mtodos de 7.2 Intercambio asignacin de memoria. 7.3 Asignacin de memoria contigua
Explicar en qu circunstancias es 8.1. Fundamentos de Gestin de memoria virtual necesario o conveniente utilizar una 8.2. Paginacin por demanda memoria virtual. Aplicar los diferentes mtodos de 8.3. Sustitucin de pginas. asignacin de memoria virtual. 8.4. Asignacin de marcos 8.5. Sobrepaginacin
45
COMPETENCIAS ESPECFICAS ACTIVIDADES DE APRENDIZAJE UNIDAD 9: Interfaz con el Sistema de Archivos 4 horas de autoestudio y 4 de interaccin. Semana 13: Resuelva la autoevaluacin 8. Contine con el desarrollo de la evaluacin a distancia Revise el Captulo 10 del texto bsico y la gua de estudio. Revise el material de apoyo subido en el EVA. Unidades/Temas Tiempo estimado
OBJETIVOS DE APRENDIZAJE
CONTENIDOS
46
9.5 Estructura de un Sistema de Archivos 9.6 Mtodos de Asignacin 9.7 Administracin del espacio libre 9.8 Eficiencia y prestaciones 9.9 Recuperacin UNIDAD 10: Sistema de Entrada/Salida Semana 14 Estudie y comprenda la presente unidad. 4 horas de autoestudio y 4 de interaccin. Semana 15 y 16 8 horas de autoestudio Resuelva la autoevaluacin 9. Contine con el desarrollo de la evaluacin a distancia 10.4. Subsistema de E/S del kernel Preparacin de la Evaluacin Presencial Resuelva la autoevaluacin 10. Revise el material de apoyo subido en el EVA. Revise las actividades de interaccin del EVA
9.1 Introduccin a los Sistemas de Archivos. Clasificar las diferentes estructuras de 9.2 Mtodos de Acceso directorios. Utilizar los diferentes medios de 9.3 Estructura de directorios proteccin. 9.4 Proteccin
Indique Cmo establece una correspondencia entre el sistema de archivos lgico y los dispositivos de almacenamiento secundario fsicos? Qu se debe hacer para que un sistema de archivos est disponible para los procesos del sistema? Realice un cuadro comparativo de los mtodos de administracin de espacio libre.
10.1. Introduccin Explicar cmo funciona la interface de 10.2. Hardware de E/S entrada y salida. 10.3. Interfaz de E/S
Realice un cuadro de los principales aspectos que diferencian cada tipo de dispositivo. Indique Cules son las ventajas de utilizar buffer, cachs o spool? Revise las actividades y evaluaciones realizadas durante todo el bimestre.
SEGUNDO BIMESTRE
Recuerde que puede consultar a su profesor las dudas que tenga de la materia. Esto lo puede hacer va correo electrnico o llamada telefnica.
SEGUNDO BIMESTRE
Parte Objetiva
Comportamiento tico Actitudes Cumplimiento, puntualidad, responsabilidad Esfuerzo e inters en los trabajos Respeto a las personas y a las normas de comunicacin Creatividad e iniciativa Habilidades Contribucin en el trabajo colaborativo y de equipo Presentacin, orden y ortografa Emite juicios de valor argumentadamente Dominio del contenido Conocimientos Investigacin (cita fuentes de consulta) Aporta con criterios y soluciones Anlisis y profundidad en el desarrollo de temas
X X X
X X X
X X X
X X
X X
X X
X X X
X X X X
Estrategia de aprendizaje
PORCENTAJE
10%
20%
Puntaje
TOTAL
20 puntos
Para aprobar la asignatura se requiere obtener un puntaje mnimo de 28/40 puntos, que equivale al 70%
* Son estrategias de aprendizaje, no tienen calificacin; pero debe responderlas con el fin de autocomprobar su proceso de aprendizaje. ** Recuerde: que la evaluacin a distancia del primero y segundo bimestre consta de dos partes: una objetiva y otra de ensayo, debe desarrollarla y entregarla en su respectivo Centro Universitario .
Sr. estudiante: Tenga presente que la finalidad de la valoracin cualitativa es principalmente formativa; sin embargo, en circunstancias especiales podra afectarle positiva o negativamente en su calificacin cuantitativa.
Evaluacin Presencial X X 14
47
SEGUNDO BIMESTRE
Unidad 6
INTERBLOQUEOS
En este segundo bimestre empezaremos aprendiendo como los interbloqueos impiden que un conjunto de procesos concurrentes completen su tarea. Adems conocer los diferentes mtodos para prevenir o evitar los interbloqueos en un sistema informtico.
48
SEGUNDO BIMESTRE
Un conjunto de procesos se encuentra en un interbloqueo cuando cada proceso del conjunto est esperando por un evento que slo puede ser provocado por otro proceso del mismo conjunto.
Actividad Recomendada:
Cules son las principales diferencias entre bloqueo mutuo e inanicin?
Actividad Recomendada:
Explique cada una de las condiciones escenarios para que se produzca un interbloqueo? Exclusin mutua: ________________________________________________________________________ ________________________________________________________________________ Retencin y espera ________________________________________________________________________ ________________________________________________________________________ No apropiacin ________________________________________________________________________ ________________________________________________________________________ Espera circular ________________________________________________________________________ ________________________________________________________________________
49
SEGUNDO BIMESTRE
50
SEGUNDO BIMESTRE
Actividad Recomendada:
Explique los dos mtodos utilizados en la terminacin de procesos. En la apropiacin de recursos Qu es necesario tomar en cuenta al momento de realizar el desalojo? Hemos llegado al final de la unidad 6, ahora como en todas las unidades, es importante desarrollar la autoevaluacin, el desarrollo de los ejercicios propuestos y la interaccin a travs del entorno virtual de aprendizaje.
Autoevaluacin 6
Es importante desarrollar la autoevaluacin para determinar cuales son los apartados que requieren una lectura adicional. Desarrolle las siguientes preguntas y luego compare con las soluciones desarrolladas al final de la guia. 1. a) b) c) d) 2. En qu tipos de entornos se dan los problemas de interbloqueos? Monoprocesador Multiprocesador Multiprogramacin Mviles
Cul de los siguientes son mtodos para tratar el problema de interbloqueos? a) b) c) d) Usando un protocolo para impedir o evitar los interbloqueos. Ignorar el problema y actuar como si nunca se produjeran interbloqueos en el sistema. Aplicando un algoritmo de planificacin SJF. Permitiendo que los dispositivos de E/S tengan una regin de memoria no compartida.
3.
Cules son las cuatro condiciones necesarias para qu se produzca un interbloqueo? a) b) c) d) Exclusin mutua, retencin y espera, sin desalojo, espera circular Exclusin mutua, desalojo, colisin, espera circular Colisin, sin desalojo, espera circular, retencin y espera Retencin y espera, retencin y espera, espera circular, bloqueo mutuo
51
SEGUNDO BIMESTRE
4.
Un mtodo alternativo para evitar interbloqueos consiste en requerir informacin adicional sobre cmo van a ser solicitados los recursos. ( ) Verdadero ( ) Falso
5. 6. 7.
Presente una lista de tres ejemplos de bloqueos mutuos que no estn relacionados con un entorno de sistemas de cmputo Es posible tener un bloqueo mutuo en el que intervengan un solo proceso? Explique su respuesta Considere un sistema compuesto de cuatro recursos del mismo tipo que son compartidos por tres procesos, cada uno de los cuales necesita a lo sumo dos recursos. Demuestre que el sistema est libre de bloqueos mutuos. Cundo se debera invocar el algoritmo de deteccin de bloqueos?
8.
52
SEGUNDO BIMESTRE
Unidad 7
MEMORIA PRINCIPAL
En la unidad 4 se estudi como puede ser compartido el procesador por un conjunto de procesos, en esta unidad se revisa las estrategias con las que cuenta el sistema operativo para compartir la memoria entre los procesos. En esta unidad se analizar las diferentes formas de gestionar la memoria incluyendo la paginacin y la segmentacin.
7.1. Fundamentos
En la seccin 8.1 Fundamentos, del texto bsico usted podr conocer los aspectos primordiales de la memoria como es el Hardware bsico, en este punto debe realizarse las siguientes preguntas: Cules son las reas de almacenamiento a las que el CPU puede acceder directamente? Qu es el rango de direcciones legales? Cmo funciona la proteccin hardware de las direcciones?
Contestada estas preguntas ahora usted revisar que es la reasignacin de direcciones, en el conocer los pasos para poder ejecutar un proceso. Finalmente analizar las diferencias entre los espacios de direcciones lgicas y fsicas. As como tambin el proceso de traduccin de direcciones y la intervencin de la MMU (Unidad de Gestin de Memoria). Explique con un ejemplo como se realiza la proteccin de direcciones de memoria. _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________
7.2. Intercambio
El intercambio es un tema muy interesante para mejorar el rendimiento de un sistema operativo para ellos le invitamos a revisar la seccin 8.2 Intercambio, del texto bsico. Como ya sabemos, para que un proceso sea ejecutado es necesario que este en memoria, pero en muchas ocasiones el tamao de memoria no es suficiente para ejecutar todos los procesos que lo requieren, por lo que se puede utilizar el mtodo de intercambiar los procesos de memoria principal a secundaria y viceversa segn las necesidades de ejecucin de los procesos y la disponibilidad de memoria principal. Comprendido este apartado, estamos seguros que contestar las siguientes preguntas con relativa facilidad. El proceso durante su ejecucin siempre pasa en memoria principal? Qu es el espacio de intercambio?
53
SEGUNDO BIMESTRE
Qu ser necesario que los procesos guarden en el espacio de intercambio para que puedan en un futuro reanudar su ejecucin? Qu es el cambio de contexto?
Como le fue, estamos seguros que acert a la mayora, para reforzar este apartado, ahora, realice un flujograma del funcionamiento del proceso de Intercambio y sus elementos principales.
Actividad Recomendada:
Explique para qu sirve el registro de reubicacin
Asignacin de Memoria
En la seccin de Asignacin de Memoria encontrar uno de los mtodos bsicos y sencillos de asignacin. Explique en qu consiste? ______________________________________________________________________________ _______ _____________________________________________________________________________________ Adems este tipo de asignacin de memoria definir el grado de multiprogramacin. Consulte que es la multiprogramacin. Ahora explique que es la multiprogramacin. _____________________________________________________________________________________ _____________________________________________________________________________________ Como usted ya habr ledo, si se utiliza este tipo de asignacin de memoria se van a formar agujeros de diferentes tamaos por toda la memoria, por lo cual el sistema tendr un problema general de asignacin dinmica de espacio de almacenamiento. Comprendido este problema conteste las siguientes preguntas:
54
SEGUNDO BIMESTRE
Cules son los mecanismos de seleccin de un agujero libre? Cul sera el ms eficiente? Justifique su repuesta
Fragmentacin
Otro problema que debe manejar un sistema operativo es la fragmentacin interna y externa, explique en qu consisten estos dos trminos y exponga una posible solucin a cada uno. _________________ _____________________________________________________________________________________ _____________________________________________________________________________________
7.4. Paginacin
Lea cuidadosamente la seccin 8.4 Paginacin, del texto bsico, ahora comprendido este tipo de mecanismo de asignacin de memoria, realice las siguientes actividades para reforzar el conocimiento: 1) Dominio de conceptos y 2) Desarrollo del ejercicio propuesto.
Actividades recomendadas
1) Desglosemos algunas palabras importantes: Marco: ____________________________________________________________ Paginas: ___________________________________________________________ Nmero de pginas: _________________________________________________ Desplazamiento: ____________________________________________________ Tabla de pginas: ____________________________________________________ Composicin de la direccin lgica: ____________________________________ 2) Desarrollemos el presente ejercicio El proceso A est dividido en 5 pginas, ubique las pginas en la memoria fsica segn la tabla de pginas
# de marcos
0 1 2 3 4
7 2 4 6 11 Tabla de pginas
0 1 2 3 4 5 6 7 8 9 10 11
12 memoria fsica
55
SEGUNDO BIMESTRE
Al igual que en el mtodo anterior de asignacin de memoria, en la paginacin tambin se tiene problemas o inconvenientes, cules son los problemas que pudo descubrir usted en la lectura de este apartado? _____________________________________________________________________________________ _____________________________________________________________________________________ Adems, en este mtodo se tiene el bit de vlido-invlido que permite proteger el espacio de direcciones lgicas. Cmo es utilizado este bit? Finalmente, para finalizar este apartado, lea la seccin Pginas compartidas seccin 8.4.4 del texto bsico, que le permitir al sistema no duplicar informacin, cuando dos procesos utilicen los mismos datos o secciones de cdigo, que le pareci este tema, interesante verdad!
7.5. Segmentacin
Leamos y comprendamos la seccin 8.6 Segmentacin, del texto bsico. Desde el punto de vista del usuario la memoria no es la misma que la memoria fsica real, esto permite diferenciarla entre memoria lgica y memoria fsica. Este tipo de mecanismos es mucho ms fcil para que el usuario pueda comprender su funcionamiento. Ahora lea los apartados Mtodo Bsico y Hardware, en ellos se explica claramente cmo funciona la segmentacin, Listo? Ahora recordemos: Cmo est compuesta la direccin lgica en un segmento? Qu contiene la tabla de segmentos? Qu es la direccin base y lmite del segmento?
Para reforzar este tema lea los ejemplos que se presentan en el texto bsico. Hemos llegado al final de esta unidad para mejorar y reforzar el conocimiento adquirido es tiempo de responder la autoevaluacin, desarrollar los ejercicios propuestos e interactuar con sus profesores y compaeros a travs del entorno virtual de aprendizaje.
Autoevaluacin 7
Cunto hemos aprendido? Verifiquemos desarrollando las siguientes preguntas de la autoevaluacin. Recuerde que si no domina un tema, es necesario volver a revisarlo. A travs del EVA se puede tambin sus dificultades y logros, en el desarrollo de estas actividades. 1. En segmentacin los segmentos tiene longitud a) b) c) d) Fija Tamao de proceso / 2 Tamao de proceso / 4 Variable
56
SEGUNDO BIMESTRE
2.
La fragmentacin es: a) b) c) d) La capacidad del sistema operativo para asignar porciones de memoria que ya estn utilizadas. La capacidad del sistema operativo desaprovechadas o libres. para asignar porciones de memoria que estn
Un mecanismo que genera desperdicio de memoria. Un mecanismo que optimiza el uso del procesador.
3.
Los objetivos de un Sistema de Gestin de Memoria son: a) b) c) d) Proporcionar proteccin entre los procesos. Ofrecer a cada proceso un espacio lgico propio. Proveer mecanismos para la sincronizacin de procesos. Planificacin de disco.
4. 5. 6. 7.
Explique la diferencia entre fragmentacin interna y externa. En qu consiste la particin esttica de memoria? Cules son las principales caractersticas de la particin dinmica? Dadas las particiones de memoria de 100K, 500K, 200K, 300K y 600K (en ese orden), cmo colocara cada uno de los algoritmos de primer ajuste, mejor ajuste y peor ajuste a los procesos de 212K, 417K, 112K y 426K (en ese orden)? Cul algoritmo hace el uso ms eficiente de la memoria? Por qu la segmentacin y la paginacin en ocasiones se combinan en un solo esquema? Considere la siguiente tabla de segmentos: Segmento 0 1 2 3 4 Base 219 2300 90 1327 1952 Longitud 600 14 100 580 96
8. 9.
Cules son las direcciones fsicas para las siguientes direcciones lgicas? a) b) c) d) e) 0,430 1,10 2,500 3,400 4,112
57
SEGUNDO BIMESTRE
10.
58
SEGUNDO BIMESTRE
Unidad 8
MEMORIA VIRTUAL
Como ya sabemos, para que un proceso pueda ejecutarse este debe estar completamente ubicado en memoria. Ahora en esta unidad usted conocer una tcnica llamada Memoria Virtual, qu permite al sistema operativo la ejecucin de procesos que no se encuentren completamente ubicados en memoria. Le invitamos a revisar el texto bsico captulo 9.
8.1. Fundamentos
En la seccin 9.1 Fundamentos, del texto bsico usted revisar algunos fundamentos previo antes de introducirnos a detallar el funcionamiento de la Memoria Virtual. Qu tal le fue con la lectura? Bien? De lo ledo respondamos lo siguiente: Es necesario qu el programa este en memoria completamente para su ejecucin, en qu casos s y en qu casos no sera posible? Con el mecanismo de Memoria Virtual Los programas pueden superar la memoria fsica? Justifique la respuesta. _____________________________________________________________________________________ _____________________________________________________________________________________
59
SEGUNDO BIMESTRE
Qu sucede si el proceso intenta acceder a una pgina que no ha sido cargada en memoria? ________________________________________________________________________ ________________________________________________________________________ Explique Cmo es tratado este problema? ________________________________________________________________________ ________________________________________________________________________
60
SEGUNDO BIMESTRE
Actividad Recomendada:
Considere la siguiente cadena de referencias a pginas: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
61
SEGUNDO BIMESTRE
Cuntos fallos de pgina ocurriran en el caso de los siguientes algoritmos de reemplazo, suponiendo que se tiene cuatro marcos de pgina? Recuerde que todos los marcos inicialmente estn vacos, por lo que sus primeras pginas nicas costarn un fallo de pgina cada una. 13. Reemplazo LRU
62
SEGUNDO BIMESTRE
8.5. Sobrepaginacin
En este apartado se abordar un problema dado debido a la alta tasa de paginacin, para entender este problema lea la seccin 9.6 de Sobrepaginacin, del texto bsico, y encuentre cuales son las causas y que consecuencias pueden haber con este problema. Revise la figura 9.18 del texto bsico y detalle el problema expuesto. _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ Para prevenir la sobrepaginacin se debe asignar a los procesos los marcos necesarios. Una tcnica para definir este trabajo es el modelo del conjunto de trabajo. Hemos llegado al final de la presente unidad les sugiero que desarrolle la autoevaluacin y los ejercicios propuestos, recuerde que puede interactuar con sus compaeros y profesores para compartir y aclarar inquietudes que se hayan presentado. Le recordamos desarrollar su trabajo a distancia, interactuar con sus compaeros y profesores.
Autoevaluacin 8
Le invitamos a desarrollar las siguientes preguntas que le servirn para determinar las reas en las cuales ha tenido mayor dificultad y necesitan una nueva revisin. 1. Cules de las siguientes tcnicas y estructuras de programacin son adecuadas para un ambiente compaginacin por demanda? Cules no son adecuadas? Explique sus respuestas. a. b. c. d. e. f. g. 2. Pila Tabla con smbolos dispersa Bsqueda secuencial Bsqueda binaria Cdigo Puro Operaciones con vectores Indireccin
Considere los siguientes algoritmos de reemplazo de pginas. Clasifique estos algoritmos en una escala de cinco puntos de malo a perfecto segn su tasa de fallo de pginas. Separe los algoritmos que adolecen de la anomala de Belady de los que no adolecen de ella. a. b. c. d. Reemplazo LRU Reemplazo FIFO Reemplazo ptimo Reemplazo de Segunda Oportunidad.
63
SEGUNDO BIMESTRE
3.
Las ventajas del uso de la memoria virtual son entre otras: a) b) c) d) Los programas deben tener un tamao menor que la memoria fsica. Permite a los programadores no preocuparse por limitaciones de memoria. Es fcil de implementar. Permite la ejecucin de procesos que no se encuentren completamente en memoria.
4.
Los algoritmos de asignacin de marcos de memoria entre procesos son equitativos y proporcionales ( ) Verdadero ( ) Falso
5. 6.
Bajo qu circunstancias ocurren los fallos de pgina? Describa las acciones que toma el sistema operativo cuando ocurre un fallo de pgina. Suponga que tiene una cadena de referencias a pginas para un proceso con m marcos (todos inicialmente vacos). La cadena de referencias tiene una longitud p; en ella ocurren n distintos nmeros de pgina. Responda las siguientes preguntas: a. b. Cul es un lmite inferior en el nmero de fallos de pgina? Cul es el lmite superior en el nmero de fallos de pgina?
7.
Considere las siguiente cadena de referencias a pginas: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 Cuntos fallos de pgina ocurriran en el caso de los siguientes algoritmos de reemplazo, suponiendo uno, dos, tres, cuatro, cinco, seis, o siete marcos? Recuerde que todos los marcos inicialmente estn vacos, por lo que sus primeras pginas nicas costarn un fallo de pgina cada una. Reemplazo LRU Reemplazo FIFO Reemplazo ptimo
64
SEGUNDO BIMESTRE
Unidad 9
INTERFAZ DEL SISTEMA DE ARCHIVOS
En esta unidad usted conocer el esquema de manejo del sistema de archivos y los mecanismos de proteccin de los mismos. Iniciemos con nuestro estudio. El propsito de este captulo es que tenga la capacidad de explicar la funcin, detallar las interfaces y explorar los mecanismos de proteccin de los sistemas de archivos.
Secuencial
Directo
65
SEGUNDO BIMESTRE
Estructura de almacenamiento
En ocasiones usted desear colocar mltiples sistemas de archivos en un mismo disco o utilizar parte de un disco para un sistema de archivos, otra parte para un sistema de archivos diferente, como por ejemplo: espacio de intercambio. Estas partes se conocen con diversos nombres como particiones, franjas o minidiscos. De la misma manera podr querer unir varios discos o partes para tener una estructura de mayor tamao, a esto se lo conoce como volmenes, y tambin podr crear sistemas de archivos en dichos volmenes. Cada volumen que contenga un sistema de archivos debe tambin contener informacin acerca de los archivos almacenados en el sistema. Esta informacin se almacena como entradas en un directorio de dispositivo o tabla de contenidos del volumen. Este directorio almacena informacin de todos los archivos: nombre, ubicacin, tamao y tipo.
66
SEGUNDO BIMESTRE
9.4. Proteccin
Algo muy importante que hay que tener en cuenta es como se protege la informacin que se va a tener almacenada, para esta actividad le invitamos a leer la seccin 10.6 Proteccin, del texto bsico. En ella se explica los tipos de acceso que se pueden dar a los archivos y sus controles. Le invitamos a revisar el tema de asignacin de permisos en los sistemas Linux, para ello lea el siguiente link http://www.linuxcentro.net/linux/staticpages/index.php?page=PermisosLinux Comprendido!, Ahora vamos realizar la siguiente actividad.
Actividad Recomendada:
En su sistema Ubuntu. Cree un archivo llamado prueba.txt Liste los permisos (ls prueba.txt) que tiene el archivo creado, escriba la salida ............................................................................. Ahora, cambiemos los permisos de la siguiente forma: Propietario: todos los permisos. Grupo: Lectura Universo: Ningn permisos Escriba el comando que ejecuto para realizar este cambio ...............................................................................
67
SEGUNDO BIMESTRE
Actividad Recomendada:
Para reforzar esta Unidad revise el siguiente enlace y realice las prcticas que en l se indican en su sistema Ubuntu. http://atc1.aut.uah.es/~arqui/lab/Previa2.html
Actividad Recomendada:
Le invitamos a investigar en Internet y luego a analizar el uso eficiente y de las prestaciones de un disco.
9.8. Recuperacin
Debido a que los datos pueden estar alojados en la memoria principal o en el disco duro, el sistema operativo debe asegurarse de que estos no sean inconsistentes o se pierdan como resultado de fallo del sistema. Para conocer como el sistema asegura la confiabilidad, le invitamos a leer la seccin 11.7 Recuperacin, del texto bsico. Como pudo leer, se puede realizar una verificacin de consistencia de datos, luego de que existe una cada del sistema, esta verificacin permite sincronizar y corregir posibles problemas. Para entender secuencia del proceso de verificacin realice un diagrama de flujo de cmo el sistema realiza la verificacin de consistencia de datos.
68
SEGUNDO BIMESTRE
Otro mecanismo de recuperacin son los mecanismos de respaldos y restablecimientos, este son procesos muy simples, la restauracin del sistema de archivo va a basarse en las copias de la informacin que el usuario tenga del sistema.
Actividad Recomendada:
Investigue que tipos de respaldos usted puede realizar al sistema de archivos. Le recomiendo revisar el apartado NFS, seccin 11.9 del texto bsico para una mejor comprensin de los sistemas de archivo. Hemos llegado al final de esta unidad, enhorabuena, para determinar su nivel de aprendizaje le sugerimos desarrollar las preguntas de la autoevaluacin propuesta a continuacin.
Autoevaluacin 9
Resuelva las siguientes preguntas y revise sus respuestas con las detalladas al final de la gua. Si tuvo problemas con alguna le sugerimos revisar nuevamente dicho apartado. Una vez finalizada la autoevaluacin le sugerimos desarrollar los ejercicios propuestos a continuacin. 1. Seleccione de la lista los atributos de los archivos a) b) c) d) 2. Nombre Direccin Tipo Ubicacin
Las bases de datos se suelen implementar en archivos que tienen mtodos de acceso: a) b) c) d) Definido Secuencial Directo Enlazado y compartido
3.
Las tcnicas usadas para mejorar la eficiencia y las prestaciones del almacenamiento secundario son: a) b) c) d) Preasignacin de inodos Asignacin eficiente del tamao de los punteros Uso de una memoria cache para el disco Eliminacin de directorios e inodos
69
SEGUNDO BIMESTRE
4.
La copia de seguridad y restauracin puede realizarse a travs de copias completas e incrementales. ( ) Verdadero ( ) Falso
5.
Considere un sistema de archivos en donde pueda borrarse un archivo y reclamar su espacio en disco mientras todava existan enlaces a dicho archivo. Qu problemas pueden ocurrir si se crea un nuevo archivo en la misma rea de almacenamiento o con el mismo nombre de ruta absoluto? Cmo se pueden evitarse estos problemas? Algunos sistemas automticamente borran todos los archivos del usuario cuando un usuario se desconecta o el trabajo termina, a menos que el usuario solicite explcitamente que se mantengan los archivos; otros sistemas mantienen todos los archivos a menos que el usuario los borre explcitamente. Presente los mritos relativos de cada enfoque. Cules son las ventajas y desventajas de registrar el nombre del programa creador con los atributos del archivo (como se hace en el sistema operativo Macintosh)? Proporcione un ejemplo de una aplicacin en la que se deba acceder a los datos de un archivo en el siguiente orden: a. b. Secuencialmente Aleatoriamente
6.
7. 8.
70
SEGUNDO BIMESTRE
Unidad 10
SISTEMAS DE E/S
Hemos llegado a la ltima unidad de esta materia, hemos aprendido muchas cosas sobre los sistemas operativos, interesantes y novedosas verdad?, ahora revisaremos que es el sistema de entrada y salida. En esta unidad vamos a detallar la estructura del subsistema de E/S de un sistema operativo y explorar los principios en que se basa el hardware de E/S y los aspectos relativos a su complejidad.
10.1. Introduccin
En el diseos de un SO, el control de los dispositivos conectados a la computadora es primordial, debido a que los dispositivos cambia en funcin y velocidad, es necesario implementar diferentes mtodos para su control. Estos mtodos son parte del subsistema de E/S del kernel, lo que asla al resto del kernel de su complejidad. Lea la seccin 13.1 Introduccin, del texto bsico, Cmo le fue?, ha sido una lectura amena, verdad. Ahora complete. Las peculiaridades de cada dispositivo se encapsulan en: _______________
Actividad Recomendada:
Mencione cuales son los objetivos del Sistema de E/S
Como podr haber ledo los dispositivos se pueden clasificar segn como se conectan al sistema en: bloques y caracteres. Explquese cual es la diferencia.
Actividad Recomendada
Cmo puede el procesador entregar comandos y datos a un controlador para realizar una transferencia de E/S? Existen dos formas en que los dispositivos se pueden comunicar con el sistema. La primera es mediante el uso de interrupciones especiales de E/S que especifican la transferencia de un byte o palabra a la direccin de un puerto de E/S. Y la segunda por medio del mapeo en memoria; en este caso los registros de control del dispositivo se mapean en el espacio de direcciones del procesador.
UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja
71
SEGUNDO BIMESTRE
Realice un cuadro comparativo del mecanismo de escrutinio, interrupciones y acceso directo a memoria.
Como pudo observar, algunos de los puntos importantes de la planificacin de operaciones de E/S son: Determinar un orden adecuado para la ejecucin de las solicitudes de E/S. Mejora el desempeo global del sistema. Compartiendo equitativamente el acceso a dispositivos entre los procesos y reducir el tiempo de espera promedio para la terminacin de E/S. Los diseadores de SO implementan la planificacin manteniendo una cola de solicitudes para cada dispositivo, puede darle prioridad a las solicitudes sensibles a demoras.
72
SEGUNDO BIMESTRE
Realice un cuadro comparativo del uso del buffer, cach y spool, identificando sus caractersticas, beneficios y usos. Ahora le animamos a desarrollar las preguntas de la autoevaluacin, desarrollar los ejercicios propuestos e interactuar con sus compaeros y profesores a travs del entorno virtual de aprendizaje. Hemos finalizado con el estudio de la presente unidad y de la materia. Es tiempo de revisar su evaluacin a distancia y prepararla para el envo a sus profesores. Recuerde que su evaluacin a distancia es calificada y obligatoria.
Autoevaluacin 10
Hemos finalizado el estudio de esta unidad, como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de autoevaluacin y luego compare sus respuestas con las que estn al final de la presente gua. 1. El papel del sistema operativo en la E/S de la computadora consiste en gestionar y controlar las operaciones del acceso a la CPU de los dispositivos externos. ( ) Verdadero 2. ( ) Falso
Seleccione los elementos que utilizan los dispositivos de E/S para interactuar con el sistema operativo a) b) c) d) Puerto (punto de conexin) Controladora Manejo de interrupciones Acceso directo a memoria
3.
Una unidad de CD-ROM tiene las siguientes caractersticas: a) b) c) d) Modo de transferencia de datos es a travs de bloques. Mtodo de acceso es secuencial. Soporta solo lectura. Forma de transferencia es asncrona.
4.
Seleccione que procedimientos supervisa el subsistema de entrada y salida: a) b) c) d) Control de acceso a los archivos y dispositivos. Planificacin de E/S. Asignacin de dispositivos. Almacenamiento en cache y gestin de colas de impresin.
73
SEGUNDO BIMESTRE
5. 6.
Mencione tres ventajas de colocar funcionalidad en un controlador de dispositivo, en lugar de hacerlo en el kernel. Indique tres desventajas. Considere los siguientes escenarios de E/S en una PC de un solo usuario. a) b) Un ratn utilizado con una interfaz grfica de usuario. Una unidad de cinta en un sistema operativo multitarea (suponga que no se cuenta con asignacin previa de dispositivos).
Para cada uno de estos escenarios de E/S, diseara el sistema operativo para que empleara buffers, spool, cachs o una combinacin de ellos? Empleara E/S con escrutinio o E/S activada por interrupciones? Mencione las razones para tomar sus decisiones. 7. 8. Describa tres circunstancias en las cuales debera emplearse E/S con bloqueo. De qu forma el DMA aumenta la concurrencia del sistema? En qu forma complica el diseo del hardware?
74
SOLUCIONARIO
8. Solucionario
Autoevaluacin 1
1. 2. 3. 4. 5.
A y B: Un sistema operativo es un programa que administra el hardware de una computador y es intermediario entre el usuario y el hardware de la computador. a) Mientras ms procesadores existen es ms complejo asignar el uso del mismo a los diferentes procesos. a, b,c, d) Todos los elementos listados deben ser manejados por el sistema operativo c) Tiene que ve con procesos y el manejo de los mismos.
Tiempo de reserva de la mquina Cargar manualmente el programa en memoria. Cargue la direccin de inicio y comience la ejecucin. Monitorear y controlar la ejecucin del programa desde consola.
6.
La multiprogramacin hace el uso eficiente de la CPU traslapando las demandas para la CPU y sus dispositivos de Entrada/Salida de varios usuarios. Procura aumentar la utilizacin de la CPU siempre teniendo alguna tarea para que la CPU ejecute.
7 7.1 7.2 El SO siempre estaba residente en memoria. Para acelerar el procesamiento los operadores agrupaban en lotes los trabajos similares y los ejecutaban en la computadora como un grupo. Con frecuencia la CPU quedaba ociosa Se reemplazan el lector de tarjetas por discos. Por lo que surge la planificacin de trabajos y la multiprogramacin
Permite a varios usuarios compartir la computadora simultneamente. La CPU cambia rpidamente de un usuario a otro. Son utilizados cuando existen requerimientos rgidos de tiempo sobre la operacin de un procesador. Utilizado en un uso dedicado. Este sistema debe responder dentro de una cantidad de hora fija de asegurar funcionamiento correcto. Proporciona un ambiente en el que los usuarios, quienes tienen presente la multiplicidad de mquinas, pueden acceder a recursos remotos.
7.3
7.4
75
SOLUCIONARIO
7.5 8
Este sistema distribuye el cmputo entre varios procesadores fsicos. Los procesadores no comparten memoria o un reloj. En lugar, cada procesador tiene su propia memoria local. Se comunican a travs de varias lneas de comunicacin, tales como una lnea de alta velocidad o telefnica
Cuando hay pocos usuarios, la tarea es grande, y el hardware es rpido. Las capacidades del sistema se pueden aplicar en el problema del usuario. El problema se puede solucionar ms rpidamente que en un ordenador personal. Otro caso ocurre cuando las porciones de otros usuarios necesitan recursos en el mismo tiempo. Un ordenador personal es el mejor cuando el trabajo es bastante pequeo ser ejecutado razonablemente en l y cuando el funcionamiento es suficiente ejecutar el programa a la satisfaccin del usuario.
Autoevaluacin 2
1. 2. 3. d) La divisin del trabajo en capas permite a los desarrolladores implementar funciones especficas, sin preocuparse del resto de capas a) Los sistemas por lotes permiten agrupar comandos del sistema en un solo archivo y ejecutarlo en bloque. d) La implementacin de una mquina involucra el conocimiento del hardware base lo que complica su implementacin, adems una vez implementada por lo general hace que el rendimiento de la mquina anfitrin disminuya. Verdadero. Las llamadas al sistema son el mecanismo mediante el cual el sistema operativo da los servicios a los usuarios y procesos. Lee comandos del usuario o de un archivo de comandos y los ejecuta, generalmente alternndolos en unas o ms llamadas del sistema. No es generalmente parte del ncleo puesto que el intrprete del comando est conforme a cambios. Las llamadas del sistema permiten que los procesos de usuario soliciten servicios del sistema operativo. Proporcionan funcionalidad bsica a los usuarios y as que los usuarios no necesitan escribir sus propios programas para solucionar problemas comunes. Como en todos los casos del diseo modular, disear un sistema operativo de una manera modular tiene varias ventajas. En el sistema es ms fcil de eliminar errores y de modificarse porque los cambios afectan solamente a las secciones o capa especfica. Se guarda la informacin solamente donde es necesaria y es accesible nicamente dentro de un rea definida y con restriccin. Las ventajas incluyen tpicamente: (a) (b) Si se agrega un nuevo servicio no requieren la modificacin del ncleo. Es ms seguro como ms operaciones se hacen en modo del usuario que en modo del ncleo
4. 5.
6. 7. 8.
9.
76
SOLUCIONARIO
(c)
Un diseo y una funcionalidad ms simples del ncleo da lugar tpicamente a un sistema operativo ms confiable.
Autoevaluacin 3
1. 2. 3. 4. 5. d) Las razones para culminar un proceso son error de ejecucin, tiempo excedido y violacin de lmites. a) y d) Refirase a la figura 3.2 del texto bsico Estados de un proceso Falso. El planificador a corto plazo selecciona los procesos que ya estn preparados para ser ejecutados y asigna la CPU a uno de ellos c) Son los que pueden afectar o ser afectados por los dems procesos que se ejecutan en el sistema. Planificacin de corto plazo: Selecciona trabajos en memoria esos trabajos deben estar listos a ejecutarse y se asigna la CPU a ellos. Planificacin a Mediano Plazo: Es utilizado especialmente con los sistemas en tiempo compartido como nivel de planificacin intermedia. En este esquema se utiliza el swaping para lo cual quita parcialmente programas de memoria principal y los reinstala ms adelante para continuar donde fueron apagados. Planificacin a Largo plazo: Se determina qu trabajos se deben cargar en la memoria principal para procesar. La diferencia primaria est en la frecuencia de su ejecucin: La necesidad a corto plazo selecciona un nuevo proceso absolutamente a menudo. El largo plazo se utiliza mucho menos a menudo puesto que maneja poner trabajos en el sistema y puede esperar un rato un trabajo de acabar antes de que admita otro. 6. En general, el sistema operativo debe conservar el estado actual de funcionamiento del proceso y restaurar el estado del proceso para que siga funcionado despus. Ahorrar el estado de un proceso incluye tpicamente los valores de todos los registros de la CPU adems de la asignacin de memoria. Los cambios de contexto deben tambin realizar muchas operaciones, especficas de arquitectura, incluyendo eliminacin de datos e instrucciones de cach. Los hilos de nivel de usuario son desconocidos por el ncleo, mientras que el ncleo est enterado de los hilos a nivel del kernel. Los hilos a nivel del kernel no necesitan ser asociados a un proceso mientras que cada hilo a nivel de usuario pertenece a un proceso.
7. 8.
La conmutacin de contexto entre los hilos de del kernel requiere tpicamente conservar el valor de los registros de la CPU del hilo que es cambiado hacia fuera y restaurar los registros de la CPU del nuevo hilo a programar. Porque un hilo es ms pequeo que un proceso, la creacin del hilo utiliza tpicamente menos recursos que la creacin de proceso. Crear un proceso requiere la asignacin de un bloque de control de procesos (PCB), una estructura de datos algo grande. El PCB incluye un mapa de memoria, la lista de archivos abiertos, y variables
9.
77
SOLUCIONARIO
de entorno. La asignacin y el manejo del mapa de memoria es tpicamente la actividad ms desperdiciadora de tiempo. Crear un usuario o el hilo del kernel implica el asignar de una estructura de datos pequea para llevar a cabo un sistema, una pila y una prioridad del registro.
Autoevaluacin 4
1. 2. 3. 4. 5. 6. b) El algoritmo de planificacin de procesos que realiza una asignacin equitativa del tiempo de Procesador es Round Robin. d) El algoritmo de planificacin que despacha primero al proceso ms antiguo es FIFO. a), c) y d) son los criterios que utilizan los algoritmos para la planificacin de la CPU c) En sistemas multiprocesador en el que capa procesador se auto-planifica n! (n factorial = n n 1 n 2... 2 1) El programar con planificacin apropiativa preferente permite que un proceso sea interrumpido en medio de su ejecucin, eliminando la CPU y asignndola a otro proceso. El programar con planificacin no apropiativa de antemano se asegura de que un proceso abandona el control de la CPU solamente cuando acaba con su ejecucin actual en la CPU. a) FIFO 1 RR 1 SJF 2 4 3 5 1 2 3 4 5 1 3 5 1 5 1 5 1 5 2 3 4 5
7.
78
SOLUCIONARIO
La ventaja es que trabajos ms importantes se podran dar ms tiempo, es decir una prioridad ms alta en el tratamiento. La consecuencia, por supuesto, es que trabajos ms cortos sufrirn. Los procesos que se necesitan ms frecuentemente tal como procesos interactivos pueden estar en una cola con un quantum pequeo del tiempo. Los procesos con ninguna necesidad del mantenimiento frecuente pueden estar en una cola con un quantum ms grande, requiriendo pocos interruptores del contexto terminar el proceso, haciendo un uso ms eficiente de la computadora.
Autoevaluacin 5
1. 2. 3. 4. 5. d) El semforo es una variable entera a la que, una vez asignado un valor inicial, slo puede accederse a travs de dos operaciones atmicas estndar. c) La regin es el conjunto de instrucciones que permiten trabajar con secciones compartidas. a) La exclusin mutua se da cuando el proceso se est ejecutando en su seccin crtica los dems procesos no pueden estar ejecutndose en sus secciones crticas. a) y d) Los problemas de sincronizacin en los cuales la utilizacin de semforos es una solucin son el problema de la cena de los filsofos y el problemas de los lectores-escritores. Exclusin Mutua: Si el hilo T se est ejecutando en su seccin crtica, entonces ningn otro hilo puede estar en la misma ejecucin. Progreso: Si ningn hilo se est ejecutando en su seccin crtica y existen algunos hilos que desean entrar a sus secciones crticas, entonces slo aquellos hilos que no se estn ejecutando en su seccin no crtica pueden participar en la decisin acerca de cul entrar a su seccin crtica a continuacin, y esta seleccin no puede posponerse de manera indefinida. Espera Limitada: Existe un lmite sobre el nmero de veces que otros hilos tienen permitido entrar a su seccin crtica despus de que un hilo ha hecho una solicitud para entrar a su seccin crtica y antes de que se conceda dicha solicitud. Este lmite evita la inanicin de cualquier hilo individual.
6.
Disciplina de Servicio: Puesto que un proceso puede quedar bloqueado debido a la competencia con otros, generndose as un aplazamiento indefinido (bloqueo activo), se hace necesario seguir una disciplina de servicio adecuada, que no sea sesgada. Por tanto, la postergacin de procesos puede evitarse aadiendo, el siguiente requisito a la implementacin de semforo: Una peticin para entrar a la seccin crtica debe ser concedida en tiempo finito.
79
SOLUCIONARIO
Granularidad de los semforos: utilizada para controlar el paralelismo; as, la granularidad fina se logra dedicando un semforo separado para proteger cada recurso compartido especfico, por otro lado la granularidad ms gruesa se tiene si cada semforo protege una coleccin de recursos compartidos. Al proteger un solo recurso, se logra que solo un proceso a la vez pueda acceder al recurso pero se consume ms almacenamiento y tiempo de ejecucin. Protegiendo un conjunto de recursos, se reduciran los recursos que consumen pero se afectara el grado de paralelismo entre procesos concurrentes, haciendo que procesos que no utilizan recursos comunes tengan que esperar innecesariamente. 7. Controlar la concurrencia y naturaleza de la operaciones relacionadas sobre los datos, es decir, control sobre lo que se hace sobre los datos compartidos, hacindolos accesibles nicamente mediante un conjunto de procedimientos pblicamente disponibles. Un hilo que posee la cerradura de un objeto puede entrar a otro mtodo o bloque syncrhonized del mismo objeto. Un hilo puede anidar invocaciones al mtodo syncrhonized para diferentes objetos. Por lo tanto, un hilo poseer simultneamente la cerradura de varios objetos diferentes. Si no se declara un mtodo como syncrhonized, entonces puede ser invocado independiente de la posesin de la cerradura, an cuando se est ejecutando otro mtodo syncrhonized para el mismo objeto. Si el conjunto de espera para un objeto est vaco, entonces una llamada notify() o notifyAll() no tiene efecto alguno.
8.
Autoevaluacin 6
1. 2. 3. 4. 5. 6. 7. c) Los problemas de interbloqueos se dan en entornos de multiprogramacin. a) y b) El problema de interbloqueos se puede evitar con la utilizacin de un protocolo o ignorando el problema. a) Las condiciones necesarios para que se produzca un interbloqueo son: exclusin mutua, retencin y espera, sin desalojo, espera circular. Verdadero. Un mtodo alternativo para evitar interbloqueos consiste en requerir informacin adicional sobre cmo van a ser solicitados los recursos. Dos coches que cruzan un puente de una sola va en direcciones opuestas. Una persona que va abajo de una escalera mientras que otra persona est subiendo en la escalera. Dos trenes que viajan hacia un punto definido en la misma pista.
No. Ya que esto no cumple con la condicin de retencin y espera. Suponga que el sistema est estancado. Esto implica que cada proceso est ocupando un recurso y est esperando uno ms. Puesto que hay tres procesos y cuatro recursos, un proceso debe poder obtener dos recursos. Este proceso no requiere no ms de recurso y, por lo tanto volver sus recursos cuando est hecho.
80
SOLUCIONARIO
8.
Depende de dos factores: Frecuencia: Probable de que ocurra un bloqueo mutuo. Nmero de procesos: Se vern afectados por un bloqueo mutuo cuando est presente.
Autoevaluacin 7
1. 2. 3. 4. a) En segmentacin los segmentos tiene longitud variable. b) La fragmentacin es un mecanismo que genera desperdicio de memoria. a) y b) Los objetivos de un Sistema de Gestin de Memoria son proteccin y ofrecer un espacio lgico a los procesos. La fragmentacin interna es el rea en una regin o una pgina que no se ha utilizado por el trabajo que ocupa esa regin o pgina. Este espacio es inasequible para el uso por el sistema hasta que se acaba ese trabajo y se lanza la pgina o la regin. Se divide a la memoria principal en un conjunto de regiones no sobrepuestas llamadas particiones. Las particiones pueden ser de tamaos iguales o no. Cualquier proceso cuyo tamao sea menor o igual que el tamao de una particin puede ser cargado. Si todas las particiones estn ocupadas, el sistema operativo puede intercambiar un proceso fuera de una particin. Un programa puede ser demasiado grande para caber en una particin. El programador debe entonces disear el programa con soporte para overlays2. El uso de la memoria principal es ineficiente. Un programa, cualquiera sea su tamao ocupa una particin entera. Esto es llamado fragmentacin interna. El esquema de particiones no iguales disminuye el problema pero no lo elimina. El nmero de particiones y su tamao es variable. Cada proceso es alocado en una particin del tamao exacto necesario. Se forman reas libres en espacios de memoria al azar. Esto se llama fragmentacin externa Se usan tcnicas de compactacin. Debido al swapping y a la compactacin, un proceso puede ocupar diferentes locaciones de memoria principal durante su ciclo de vida, por tanto las referencias a memoria fsica no pueden ser fijas, esto se resuelve distinguiendo entre direcciones lgicas y fsicas.
5. 6.
O superposicin, permite que un proceso pueda ser mayor que la cantidad de memoria que se tiene.
81
SOLUCIONARIO
7.
Primer Ajuste: a. b. c. d. 212K se pone en la particin de 500K. 417K se pone en la particin 600K. 112K se pone en la particin de 288K (nueva particin 288K = 500K - 212K) 426K debe esperar.
Mejor Ajuste: a. b. c. d. 212K se pone en la particin de 600K. 417K se pone en la particin de 500K 112K se pone en la particin 200K. 426K se pone en la particin de 600K .
Peor Ajuste: a. b. c. d. 212K se pone en la particin de 600K. 417K se pone en la particin de 500K. 112K se pone en la particin de 388K. 426K debe esperar
En este ejemplo, Mejor ajuste resulta ser el mejor. 8. La segmentacin y la paginacin se combinan a menudo para mejorar su eficacia entre s. La Paginacin segmentada es provechosa cuando la tabla de pgina llega a ser muy grande. La segmentacin paginada maneja mejor el caso de tener segmentos muy largos que requieran mucho tiempo para la asignacin. Paginando los segmentos, reducimos la memoria prdida debido a la fragmentacin externa as como simplificamos la asignacin. a. b. c. d. e. 10.
Paginacin Visin del programador Espacios de direcciones Mem. Virtual Mem. Fsica Proteccin Cdigo !=Datos Crecimineto Comparticin Objetivo Fragmentacin No 1 Si No No No Espacio lineal de direcciones Interna Segmentacin Si Varios Si Si Si Si Visin del usuario, comparticin y proteccin Esterna
9.
219 + 430 = 649 2300 + 10 = 2310 Referencia Ilegal, trampa en el sistema operativo. 1327 + 400 = 1727 Referencia ilegal, trampa en el sistema operativo.
82
SOLUCIONARIO
Autoevaluacin 8
1.
Tcnica/Estructura de programacin Pila Tabla de smbolos dispersa Bsqueda secuencial Bsqueda binaria Cdigo Puro Operaciones con vectores Indireccin x x x x x Buenas x x Malas
2.
Puntuacin 1 2 3 4 Algoritmo ptimo LRU Segunda Oportunidad FIFO Sufre Anomala de Belady No No Si Si
3. 4. 5.
c) y d) Las ventajas del uso de la memoria virtual son entre otras la facilidad de implementacin y la ejecucin de procesos que no se encuentren completemanente en memoria. Verdadero. Los algoritmos de asignacin de marcos de memoria entre procesos son equitativos y proporcionales Un fallo de pgina ocurre cuando hay un acceso a una pgina que no se ha trado a memoria principal. El sistema operativo verifica el acceso de memoria, abortando el programa si es invlido. Si es vlido, se localiza un marco libre de E/S se solicita leer la pgina necesaria en el marco libre. Sobre la terminacin de E/S, la tabla de proceso y la tabla de pgina son actualizadas y se recomienza la instruccin. a) b) n p
6.
7.
Nmero de Marcos 1 2 3 4 5 6 7 LRU 20 18 15 10 8 7 7 FIFO 20 18 16 14 10 10 7 ptimo 20 15 11 8 7 7 7
83
SOLUCIONARIO
Autoevaluacin 9
1. 2. 3. a), c) y d) Los atributos de los archivos son Nombre, tipo, ubicacin, tiempo de acceso, tiempo de creacin. c) Las bases de datos se suelen implementar en archivos que tienen mtodos de acceso directo. a), b) y c) Las tcnicas usadas para mejorar la eficiencia y las prestaciones del almacenamiento secundario son preasignacin de inodos, eliminacin de directorios e inodos y uso de memoria cache para el disco. Verdadero. La copia de seguridad y restauracin puede realizarse a travs de copias completas e incrementales. Supongamos que F1 es el viejo archivo y F2 es el nuevo archivo. Un usuario desea tener acceso a F1 por un link existente en realidad tendr acceso a F2. Note que la proteccin de acceso para el archivo F1 es usada ms bien el que asociado con F2. Este problema puede ser evitado asegurando que todo se vincula a un archivo suprimido sea suprimido tambin. Esto puede ser logrado de varios modos: a. b. c. 6. Mantener una lista de todo lo que se vincula a un archivo, quitando cada uno de ellos cuando el archivo es suprimido. Conservar los links, quitndolos cuando una tentativa es hecha para tener acceso a un archivo suprimido. Mantener una lista de referencia de archivo (o el contador), suprimiendo el archivo slo despus de que todos los links o referencias a aquel archivo han sido suprimidos.
4. 5.
La supresin de todos los archivos no expresamente guardados por el usuario tiene la ventaja de reducir al mnimo el espacio de archivos necesario para cada usuario por no guardar archivos no deseados o innecesarios. El ahorro de todos los archivos a no ser que expresamente no suprimido es ms seguro para el usuario en el cual no es posible sin querer perder archivos por haber olvidado guardarlos.
7.
Por registrar el nombre del programa de creacin, el sistema operativo es capaz de poner en prctica rasgos (como la invocacin de programa automtica cuando el archivo es tenido acceso) basado en esta informacin. Esto realmente aade en lo alto en el sistema operativo y requiere el espacio en el descriptor de archivo, pese a todo. a. b. Imprimir el contenido de un archivo. Imprimir el contenido de un registro i. Este registro puede ser encontrado usando hashing o tcnicas de ndice.
8.
84
SOLUCIONARIO
Autoevaluacin 10
1. 2. 3. 4. 5. Falso. El papel del sistema operativo en la E/S de la computadora consiste en gestionar y controlar las operaciones y dispositivos de E/S. a), b), c) y d) Todas las opciones le permiten interactuar a los dispositivos de E/S con el sistema operativo. a) y c) Una unidad de CD-ROM es de lectura y su acceso es a travs de bloques. Todas las opciones son correctas. Son procesos supervisados por el subsistema de E/S. Ventajas: Los bugs tienen menor probabilidad de causar un desastre en el sistema operativo. El funcionamiento puede ser mejorado por utilizar el hardware dedicado y algoritmos con fuerza cifrados. El kernel es simplificado por el movimiento de algoritmos fuera de l.
Desventajas: 6. a) Los bugs son ms difciles de fijar en la nueva versin de firmware o en el nuevo hardware que es necesario. Provee algoritmos que de la misma manera que requiere una modernizacin de hardware se necesita una actualizacin del kernel o la actualizacin de controlador de dispositivo. Los algoritmos encajados podran estar en desacuerdo con el empleo del uso del dispositivo, causando el funcionamiento disminuido. Buffering puede ser necesario para registrar el movimiento de ratn cuando hay operaciones de prioridad alta. El spool y caching son inadecuados. La E/S activada por interrupciones es la ms apropiada. Una unidad de cinta magntica sobre una multi asignacin el sistema operativo (no asume ninguna preasignacin de dispositivo est disponible).
b)
Buffering puede ser necesario para manejar diferencias de rendimiento entre la unidad de cinta magntica y la fuente o la destinacin de la E/S. Caching puede ser usada para sostener las copias de los datos que residen sobre la cinta, para el acceso ms rpido. El escrutinio podra ser usado cuando mltiples usuarios desean leer o escribir. E/S activada por interrupciones probablemente permite el mejor funcionamiento. 7. Generalmente, la E/S con bloqueo es apropiada cuando el proceso slo esperar un acontecimiento especfico. Los ejemplos incluyen un disco, la cinta, o el teclado ledo por un programa de uso.
85
GLOSARIO
8.
DMA aumenta la concurrencia del sistema permitiendo a la CPU realizar tareas mientras el sistema DMA transfiere datos va buses de memoria y del sistema. El diseo de hardware es complicado porque el regulador DMA debe ser integrado en el sistema, y el sistema debe permitir al regulador DMA ser un maestro de bus. La ausencia de ciclo tambin puede ser necesario para permitir la CPU y el regulador DMA compartir el empleo del bus de memoria.
9. Glosario
Sistema Operativo: Un programa que interacta como intermediario entre el usuario y el hardware de una computadora. Hardware: Una coleccin compartida de datos lgicamente relacionados, junto con una descripcin de estos datos, que estn diseados para satisfacer las necesidades de informacin de una organizacin. Software: Un sistema software que permita a los usuarios definir, crear, mantener y controlar el acceso a la base de datos. Sistemas de un solo procesador: Usan un solo procesador de propsito general. Ejemplo: PDA, mainframes. Sistemas multiprocesador: Disponen de dos o ms procesadores. Pueden ser simtricos o asimtricos. Sistemas en clster: Est formado por varias computadoras que comparten el almacenamiento y se conectan entre s a travs de una red de rea local. Multiprogramacin: Incrementa el uso de la CPU, de modo que siempre tenga que ejecutar procesos. Sistemas Multitarea: Ejecuta mltiples trabajos conmutando entre ellos; varios usuarios comparten simultneamente la computadora. Sistemas Distribuidos: Es una coleccin de computadoras fsicamente separadas y posiblemente heterogneas que estn conectadas en red para proporcionar a los usuarios a los diversos recursos que el sistema mantiene. Sistemas de Tiempo Real: Se utiliza cuando se han establecido rgidos requisitos de tiempo en la operacin de un procesador o del flujo de datos Proceso: Se considera como un programa en ejecucin. Adems es considerado como la unidad del trabajo del sistema. Memoria Principal: Memoria interna del sistema informtico con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecucin o procesamiento. Archivo: Un conjunto de registros relacionados que se tratan como una unidad. Memoria Secundaria: La memoria ubicada fuera del sistema informtico, incluyendo discos y cintas.
86
GLOSARIO
Shell: La parte del sistema operativo que interpreta las rdenes interactivas del usuario y las rdenes del lenguaje de control de trabajos. Funciona como una interfaz entre el usuario y el sistema operativo. La funcin principal del intrprete de comandos es obtener y ejecutar el siguiente comando especificado por el usuario. Llamadas al sistema: Proporcionan una interfaz con la que poder invocar los servicios que el sistema operativo ofrece. Estructura Simple: Es limitado por la funcionalidad de hardware, proporcionan mxima funcionalidad en el menor espacio posible; los sistemas operativos de estructura simple no estn divididos en mdulos. Estructura en niveles: Los sistemas operativos pueden dividirse en partes ms pequeas (mdulos), con lo cual puede tener mejor control sobre la computadora. Adems que existe ocultacin de detalles de los niveles inferiores a los superiores. Mquinas Virtuales: Abstrae el hardware de la computadora, formando varios entornos de ejecucin diferentes, creando as la ilusin de que cada entorno de ejecucin est operando en su propia computadora privada. Proceso: Se considera como un programa en ejecucin. Adems es considerado como la unidad del trabajo del sistema. Un proceso es controlado y planificado por el sistema operativo, es lo mismo que una tarea. Estado de un Proceso: El estado de un proceso se define por la actividad actual de dicho proceso. Bloque de Control de Proceso: Es una estructura de datos que contiene informacin sobre las caractersticas y el estado del proceso. Planificador: Seleccionar trabajos o tareas que se vayan a expedir. En algunos sistemas operativos tambin se pueden planificar otras unidades de trabajo, como las operaciones de entrada/salida. Planificador a Largo Plazo: Se lo conoce como planificador de trabajos. Es el que selecciona procesos de la cola de procesos y los carga en memoria para su ejecucin. Planificador a Corto Plazo: Se lo conoce como planificador de la CPU. Es el que selecciona de entre los procesos que ya estn preparados para ser ejecutados y asigna la CPU a cada uno de ellos. Cambio de Contexto: La conmutacin de la CPU a otro proceso requiere una salvaguarda del estado del proceso actual y una restauracin del estado de otro proceso diferente. Despachador: Es el mdulo que proporciona el control de la CPU a los procesos seleccionados por el planificador a corto plazo. Planificacin del Primero en llegar, primero en ser atendido (FIFO FCFS): Una tcnica de colas en la que el elemento siguiente que se recupera es el elemento que ha permanecido en la cola durante ms tiempo. Planificacin de Primero el trabajo ms corto (SJF): Asocia con cada proceso la longitud de su siguiente rfaga de CPU. Cuando la CPU est disponible se le asigna al proceso que tiene la rfaga ms pequea de CPU.
87
GLOSARIO
Planificacin por prioridad: Se asocia una prioridad a cada proceso y la CPU se asigna al proceso con la prioridad ms alta. Los procesos con igual prioridad se planifican en el orden FIFO. Planificacin Round Robin o por turnos: La planificacin Round Robin o por turnos est diseado para sistemas de tiempo compartido. Es similar a FIFO pero se define una pequea unidad de tiempo denominada quantum. Por lo cual el planificador de la CPU da vueltas sobre la cola de listos, asignando la CPU a cada proceso durante un intervalo de tiempo de hasta un quantum. Planificacin de colas de niveles mltiples: Divide la cola de listos en varias colas separadas, los procesos se asignan de forma permanente a una cola, por lo general con base en alguna propiedad del proceso. Cada cola tiene su propio algoritmo de planificacin. Proceso Cooperativo: Es aquel que puede afectar o verse afectado por los dems procesos que estn ejecutando en el sistema. Los procesos cooperativos pueden compartir directamente un espacio lgico de direcciones o slo pueden compartir datos slo a travs de archivos. Sincronizacin entre procesos: Un conjunto de protocolos y mecanismos utilizados para preservar la integridad y consistencia del sistema cuando varios procesos concurrentes comparten recursos que son reutilizables en serie. Seccin Crtica: En un procedimiento asncrono de un programa de computador, es una parte que no puede ejecutarse simultneamente con la seccin crtica asociada a otro procedimiento asncrono. Semforo: Un valor entero usado para la sealizacin entre procesos. Slo se pueden realizar tres operaciones sobre un semforo, las cuales son atmicas: inicializar, decrementar e incrementar. Dependiendo de la definicin precisa del semforo, la operacin de decremento puede originar el desbloqueo de un proceso. Monitor: Diseados para controlar no slo la concurrencia sino tambin la naturaleza de las operaciones relacionadas sobre los datos, es decir, control sobre lo que se hace sobre los datos compartidos, hacindolos accesibles nicamente mediante un conjunto de procedimientos pblicamente disponibles. Bloqueo Mutuo: Un punto muerto que se produce cuando varios procesos estn esperando a que est libre un recurso que no llegar a estar disponible porque est retenido por otro proceso que est en un estado de Espera anlogo. Exclusin Mutua: Al menos un recurso debe estar retenido en un modo no compartido; es decir, slo un proceso a la vez puede usar el recurso. Si otro proceso solicita dicho recurso, el proceso solicitante debe esperar hasta que el recurso haya sido liberado. Retencin y Espera: Debe existir un proceso que est retenido por lo menos un recurso y est esperando adquirir recursos adicionales que en este momento estn siendo retenidos por otros procesos. No apropiacin: Los recursos no pueden ser apropiados; es decir, un recurso slo puede ser liberado voluntariamente por el proceso que lo est reteniendo, una vez que dicho proceso ha completado su tarea. Espera Circular: Debe existir un conjunto {P0, P1, . . . ,Pn} de procesos en espera, tal que P0, este esperando un recurso que est retenido por P1, P1 y estos esperen por un recurso retenido por P2, , Pn-1, espere un recurso retenido por Pn, y Pn est esperando un recurso retenido por P0.
88
GLOSARIO
Memoria Principal: Memoria interna del sistema informtico con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecucin o procesamiento. Direccin Lgica: Una referencia a una posicin de memoria independiente de la asignacin actual de los datos de la memoria. Se debe hacer una traduccin a una direccin fsica antes de realizar el acceso a memoria. Direccin Fsica: La posicin absoluta de una unidad de datos en la memoria (por ejemplo, una palabra o un byte en memoria principal o un bloque en memoria secundaria) Traductor de Direcciones: Una unidad funcional que transforma las direcciones virtuales en direcciones reales. Intercambio: Un proceso que intercambia el contenido de una zona del almacenamiento principal con el contenido de una zona del almacenamiento auxiliar. Reubicacin: Es el hecho de cargar y ejecutar un programa en una posicin arbitraria de memoria. Existen dos tipos de reubicacin: esttica y dinmica. Reubicacin Esttica: Cuando un proceso que ha sido bajado a memoria auxiliar al ser cargado nuevamente ocupar el mismo lugar en memoria principal donde se ubicaba al inicio; an cuando el rea est ocupado deber esperar para poderse colocar. Reubicacin Dinmica: Cuando el proceso se va a subir en memoria principal puede ser colocado en cualquier particin libre. En este caso es necesario realizar un reasignacin de direcciones cada vez que el programa se ejecute. Este esquema resulta costoso por el hardware que se utiliza, as como aumenta el tiempo de acceso a memoria. Asignacin de memoria contigua: Significa que cada objeto lgico es colocado en un conjunto de posiciones de memoria con direcciones estrictamente consecutivas Asignacin con una sola particin: En el espacio correspondiente a los procesos de usuario se carga un solo proceso a la vez; estos procesos se los conoce como procesos transitorios Asignacin con mltiples particiones: Surgi de la necesitad de que existan varios procesos en memoria; para lo cual se debe dividir la memoria en varias particiones de tamao fijo, ubicando un proceso en cada particin. La divisin puede realizarse de manera esttica y dinmica. Fragmentacin Externa: Se produce cuando la memoria se divide en particiones de tamao variable correspondientes a los bloques de dalos asignados de la memoria (por ejemplo, los segmentos de la memoria principal). A medida que se trasladan los segmentos dentro y lucra de la memoria principal, se producirn huecos entre las partes ocupadas de la memoria. Fragmentacin Interna: Se produce cuando la memoria se divide en particiones de tamao fijo (por ejemplo, marcos de pgina en la memoria principal o bloques fsicos en el disco). Si un bloque de datos es asignado a una o ms particiones, puede haber un espacio desaprovechado en la ltima particin. Esto se producir si la ltima porcin de los datos es ms pequea que la ltima particin. Paginacin: La transferencia de pginas entre el almacenamiento real y el secundario. Segmentacin: La divisin de un programa o aplicacin en segmentos como parte del esquema de memoria.
89
GLOSARIO
Memoria Virtual: Mediante el esquema de memoria virtual se busca eliminar la limitacin del tamao de los programas que se tiene respecto a las limitaciones de la memoria principal; es decir, permite que los procesos estn parcialmente cargados en memoria lo que permitir trabajar con memoria de mayor capacidad que la que realmente se tiene. Marco de Pgina: Una zona del almacenamiento principal empleada para guardar una pgina. Paginacin por demanda: Transferencia de una pgina del almacenamiento auxiliar hacia el almacenamiento real en el momento en que se necesite. Fallo de Pgina: Se produce cuando la pgina que con-tiene una palabra referenciada no est en memoria principal. Esto provoca una interrupcin y exige que se traiga a la memoria la pgina adecuada. Sobrepaginacin: Esto ocurre cuando un sistema pasa la mayor parte del tiempo paginando que ejecutando procesos, lo que ocasiona una considerable disminucin del desempeo del sistema. Archivo: Un conjunto de registros relacionados que se tratan como una unidad. Archivo de Texto: Secuencia de caracteres organizados en lneas y posiblemente en pginas. Archivo Fuente: Es una secuencia de subrutinas y funciones, cada una de las cuales se organiza a su vez como declaraciones seguidas por enunciados ejecutables. Archivo Objeto: Es un secuencia de bytes organizados en bloques que pueden ser entendidos por el enlazador del sistema. Archivo Ejecutable: Es una serie de secciones de cdigo que el cargador puede llevar a la memoria y ejecutar. Estructura de Directorios: Organiza y proporciona informacin de todos los archivos en el sistema. Acceso Secuencial: La posibilidad de introducir datos en un medio o dispositivo de almacenamiento en la misma secuencia en que estn ordenados los datos, o bien la de obtener datos en el mismo orden en que se introdujeron. Acceso Directo: Mediante este acceso se permite el acceso aleatorio, puesto que el archivo se presenta como una secuencia numerada de registros. Estos son muy utilizados para acceder rpidamente a grandes cantidades de informacin. Proteccin: Mecanismo de resguardar informacin, se la puede trabajar a travs del manejo de listas y grupos de acceso. Por lo cual el acceso a la informacin depender de la identidad del usuario as como de las operaciones que sobre el archivo se pueda realizar. Semntica de consistencia: Es una caracterizacin del sistema que especifica la semntica de mltiples usuarios que acceden a un archivo compartido en forma simultnea. Especifica cundo pueden ser observadas por otros usuarios las modificaciones de datos hechas por un usuario. Directorio de un solo nivel: Todos los archivos estn contenidos en el mismo directorio, el cual es fcil de soportar y entender. Los archivos deben tener nombres nicos. Directorio de dos niveles: Cada usuario tiene su propio directorio de archivos de usuario (UFD), el cual tiene una estructura similar, pero lista slo los archivos de un usuario.
90
GLOSARIO
Asignacin Continua: Requiere que cada archivo ocupe un conjunto de bloques contiguos en el disco, las direcciones del disco definen un ordenamiento lineal del mismo. Asignacin Enlazada: Cada archivo es una lista enlazada de bloques de disco; los bloques pueden estar dispersos en cualquier parte del disco. El directorio contiene un apuntador al primer y al ltimo bloque de archivo. Asignacin Indizada: Tiene todos los apuntadores juntos a una ubicacin: el bloque ndice. Controlador: Es un conjunto de componentes electrnicos que pueden optar un puerto, un bus o un dispositivo. Interrupcin: Una suspensin de un proceso, tal como la ejecucin de un programa de computador, originada por un suceso externo a dicho proceso y llevada a cabo de forma que el proceso pueda reanudarse. Acceso Directo a Memoria: Una forma de E/S en la que un mdulo especial, llamado mdulo de DMA. Controla el intercambio de datos entre la memoria principal y un dispositivo de E/S. El procesador enva una solicitud de transferencia de un bloque de datos al mdulo de DMA y se ve interrumpido slo despus de que se haya transferido el bloque entero. Dispositivo de Flujo de Caracteres: Transfiere bytes uno por uno. Dispositivo de bloque: Transfiere un bloque de bytes como una unidad. Dispositivo Secuencial: Transfiere datos en un orden fijo determinado por el dispositivo. Dispositivo de Acceso Aleatorio: Puede instruir al dispositivo para que busque en cualquiera de las ubicaciones disponibles de almacenamiento de datos. Dispositivo Sncrono: Realiza transferencia de datos con tiempos de respuestas predecibles. Dispositivo Asncrono: Exhibe tiempos de respuesta irregulares o impredecibles. Dispositivo Compartido: Puede ser usado de manera concurrente por varios hilos o procesos. Dispositivo Dedicado: Es solo usado por un solo proceso o hilo. Dispositivo de Red: Utilizan una interfaz de socket de red. E/S con bloqueo: Se suspende la ejecucin de dicha aplicacin. E/S sin bloqueo: No detiene la ejecucin de la aplicacin durante mucho tiempo. Spooling: El empleo de un almacenamiento auxiliar como buffer para reducir el retardo del procesamiento cuando se transfieren dalos entre los equipos perifricos y los procesadores de un computador.
91