Download sistemas operativos
Document related concepts
Transcript
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja MODALIDAD ABIERTA Y A DISTANCIA Departamento de Ciencias de la Computación y Electrónica Sección Ingeniería del Software y Gestión de Tecnologías de la Información Sistemas Operativos Guía didáctica 4 créditos Titulación Ciclo ¡ Ingeniero en Informática VI Autores: Ing. Julia Alexandra Pineda Arévalo Ing. Rommel Vinicio Torres Tandazo Estimado estudiante recuerde que la presente guía didáctica está disponible en el EVA en formato PDF interactivo, lo que le permitirá acceder en línea a todos los recursos educativos. 18607 Asesoría virtual: www.utpl.edu.ec SISTEMAS OPERATIVOS Guía didáctica Julia Alexandra Pineda Arévalo Rommel Vinicio Torres Tandazo © UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA Diagramación, diseño e impresión: EDILOJA Cía. Ltda. Telefax: 593-7-2611418 San Cayetano Alto s/n www.ediloja.com.ec edilojainfo@ediloja.com.ec Loja-Ecuador Tercera edición Sexta reimpresión ISBN-978-9942-08-116-2 Reservados todos los derechos conforme a la ley. No está permitida la reproducción total o parcial de esta guía, ni su tratamiento informático, ni la transmisión de ninguna forma o por cualquier medio, ya sea electrónico, mecánico, por fotocopia, por registro u otros métodos, sin el permiso previo y por escrito de los titulares del Copyright. Octubre, 2014 2.Índice 2.Índice........................................................................................................................................................3 3.Introducción...........................................................................................................................................7 4. Lineamientos generales del modelo educativo basado en competencias y créditos académicos UTPL- ECTS.....................................................................................................................8 4.1.Competencias genéricas....................................................................................................................9 4.2.Competencias específicas..................................................................................................................9 5.Bibliografía............................................................................................................................................10 5.1.Básica.................................................................................................................................................10 5.2.Complementaria................................................................................................................................10 6. Orientaciones generales para el estudio...................................................................................11 7. Proceso de enseñanza-aprendizaje para el logro de competencias...............................13 PRIMER BIMESTRE 7.1.Planificación para el trabajo del alumno.........................................................................................13 7.2.Sistema de evaluación de la asignatura (Primer y segundo bimestre).........................................16 7.3 Orientaciones específicas para el aprendizaje por competencias...................................................17 UNIDAD 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS................................................................................17 1.1. Organización de una computadora....................................................................................................18 1.2. Arquitectura de un sistema informático..............................................................................................18 1.3. Estructura de un sistema operativo....................................................................................................19 1.4. Operaciones del sistema operativo....................................................................................................19 Autoevaluación 1.........................................................................................................................................20 UNIDAD 2: ESTRUCTURAS DE SISTEMAS OPERATIVOS......................................................................................22 2.1. Servicios del sistema operativo..........................................................................................................22 2.2. Interfaz de usuario............................................................................................................................23 2.3. Llamadas al sistema..........................................................................................................................23 2.4. Tipos de llamadas al sistema.............................................................................................................25 2.5. Programas del sistema......................................................................................................................26 2.6. Diseño e implementación de un sistema operativo ...........................................................................26 2.7. Estructura del sistema operativo........................................................................................................27 2.8. Máquinas virtuales............................................................................................................................27 2.9. Arranque del sistema.........................................................................................................................28 Autoevaluación 2.........................................................................................................................................28 UNIDAD 3: PROCESOS...................................................................................................................................30 3.1. Conceptos de procesos......................................................................................................................30 3.2. Planificación de procesos...................................................................................................................30 3.3. Operaciones sobre procesos...............................................................................................................31 3.4. Comunicación entre procesos.............................................................................................................32 3.5. Comunicación de los sistemas cliente servidor...................................................................................33 Autoevaluación 3.........................................................................................................................................34 UNIDAD 4: PLANIFICACIÓN DE LA CPU............................................................................................................36 4.1. Conceptos básicos.............................................................................................................................36 4.2. Criterios de planificación....................................................................................................................37 4.3. Algoritmos de planificación................................................................................................................37 4.4. Planificación de un sistema multiprocesador......................................................................................40 Autoevaluación 4.........................................................................................................................................41 UNIDAD 5: SINCRONIZACIÓN DE PROCESOS....................................................................................................43 5.1.Fundamentos....................................................................................................................................43 5.2. La sección crítica................................................................................................................................43 5.3. Hardware de sincronización...............................................................................................................44 5.4.Semáforos.........................................................................................................................................44 5.5. Problemas clásicos de sincronización.................................................................................................44 5.6.Monitores..........................................................................................................................................46 Autoevaluación 5.........................................................................................................................................46 SEGUNDO BIMESTRE 7.1.Planificación para el trabajo del alumno.........................................................................................49 UNIDAD 6: INTERBLOQUEOS..........................................................................................................................52 6.1. Modelo de sistema............................................................................................................................52 6.2. Característica de interbloqueos..........................................................................................................53 6.3. Métodos para tratar los interbloqueos...............................................................................................53 6.4. Prevención de interbloqueos..............................................................................................................54 6.5. Evasión de interbloqueos...................................................................................................................54 6.6. Detección de interbloqueos ...............................................................................................................54 6.7. Recuperación de un interbloqueo.......................................................................................................54 Autoevaluación 6.........................................................................................................................................55 UNIDAD 7: MEMORIA PRINCIPAL....................................................................................................................57 7.1.Fundamentos....................................................................................................................................57 7.2.Intercambio.......................................................................................................................................57 7.3. Asignación de memoria contigua.......................................................................................................58 7.4.Paginación.........................................................................................................................................59 7.5.Segmentación...................................................................................................................................60 Autoevaluación 7.........................................................................................................................................60 UNIDAD 8: MEMORIA VIRTUAL.......................................................................................................................62 8.1.Fundamentos....................................................................................................................................62 8.2. Paginación bajo demanda.................................................................................................................62 8.3. Sustitución de páginas.......................................................................................................................63 8.4. Asignación de marcos........................................................................................................................65 8.5.Sobrepaginación................................................................................................................................66 Autoevaluación 8.........................................................................................................................................66 UNIDAD 9: INTERFAZ DEL SISTEMA DE ARCHIVOS............................................................................................68 9.1. Concepto de archivo..........................................................................................................................68 9.2. Métodos de acceso............................................................................................................................68 9.3. Estructura de directorios....................................................................................................................68 9.4.Protección..........................................................................................................................................69 9.5. Método de asignación ......................................................................................................................70 9.6. Gestión del espacio libre....................................................................................................................71 9.7. Eficiencia y desempeño.....................................................................................................................71 9.8.Recuperación.....................................................................................................................................71 Autoevaluación 9.........................................................................................................................................72 UNIDAD 10: SISTEMAS DE E/S.......................................................................................................................74 10.1.Introducción ......................................................................................................................................74 10.2.Hardware de E/S..............................................................................................................................74 10.3.Interfaz de E/S.................................................................................................................................75 10.4.Subsistema de E/S del kernel...........................................................................................................75 Autoevaluación 10.......................................................................................................................................76 8.Solucionario...........................................................................................................................................78 9.Glosario...................................................................................................................................................94 PRELIMINARES Guía didáctica: Sistemas Operativos 3.Introducción 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 interacción de ustedes, desarrollar objetivamente los contenidos de la presente asignatura hacia su máximo aprovechamiento. Esta materia es sin lugar a dudas una de las más importantes dentro del conocimiento de Ciencias de la Computación, estamos seguros que la presente materia le ayudará a resolver problemas no solo técnicos, sino que además como se dará cuenta, con las estrategias mostradas se puede resolver cualquier tipo de problema en los cuales se necesite por ejemplo planificación y asignación de recursos. La asignatura de Sistemas Operativos corresponde al sexto ciclo de la carrera de Informática, y tiene una valoración de 4 créditos. Esta guía se desarrolló en base al trabajo previo de la Ing. Samanta Cueva a la cual agradecemos por su predisposición y ayuda en la elaboración de la misma. Actualmente la gran mayoría de las actividades se desarrollan apoyándose en un sistema computacional; en el cual los Sistemas Operativos son su parte esencial. Por lo que conocer su estructura, funcionamiento y diseño es fundamental para un profesional de Informática. El estudio de esta materia permite descubrir la relación que existe entre el sistema operativo y el computador, con lo cual se puede conocer y dimensionar el papel que este software desempeña en el adelanto tecnológico al que estamos sujetos. Los contenidos a desarrollar están distribuidos equitativamente en los dos bimestres. En el transcurso de la materia se irán revisando cada uno de los capítulos y relacionándolos con los Sistemas Operativos Windows y Linux que son los más utilizados en la actualidad. El primer bimestre abarca el conocimiento general de qué son los sistemas operativos, sus componentes y funcionamiento en general, como también se estudia la gestión de procesos que incluye una revisión general de lo que son procesos, la planificación de la CPU, la sincronización de procesos e interprocesos. El segundo bimestre abarca el conocimiento de la gestión de memoria, que incluye en detalle los conceptos de memoria virtual y memoria principal. Para finalmente analizar los temas de gestión 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 visión crítica para evaluar el desempeño de un sistema operativo, ¿Quién 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. 7 Guía didáctica: Sistemas Operativos PRELIMINARES 4. Lineamientos generales del modelo educativo basado en competencias y créditos académicos UTPL- ECTS Sr. estudiante recuerde que usted ha iniciado su formación de tercer nivel con un sistema educativo basado en el desarrollo de competencias a través de créditos académicos. Este modelo le convierte a usted en protagonista de su propia formación y al profesor en mediador de las experiencias de aprendizaje. Surge entonces la necesidad de que tenga claro dos conceptos fundamentales: competencia y crédito académico. • ¿Qué es una competencia? Entendemos por competencia el conjunto de actitudes, habilidades y conocimientos que el alumno adquiere e incorpora según sus características personales y experiencias laborales y, que se ponen de manifiesto en el desempeño de la actividad profesional. Las competencias se adquieren a lo largo del proceso formativo de la carrera y se desagregan en objetivos de aprendizaje propuestos en cada asignatura. Elementos de una competencia. Tres son los elementos que podemos distinguir en toda competencia: Actitudes: Son predisposiciones y comportamientos ante situaciones concretas. Habilidades: Son destrezas para ejecutar con éxito tareas, utilizar procedimientos y realizar trabajos. Se desarrollan a través de la práctica y la experiencia. Conocimientos: Constituyen los contenidos científicos, conceptuales, teóricos, conocidos también como el aprendizaje académico. ¿Qué es un crédito académico UTPL / ECTS en la Modalidad a Distancia? • Un crédito académico es la unidad de medida del trabajo del estudiante, implica 32 horas de trabajo del alumno (29 horas de trabajo autónomo y 3 horas de interacción) 1. Los créditos académicos que el estudiante irá acumulando en el transcurso de la carrera involucran: aprendizaje autónomo (estudio personal), tareas de investigación, interacción en el Entorno Virtual de Aprendizaje (EVA), participación en tutorías, videoconferencias y otros eventos académicos (jornadas, seminarios, cursos, congresos avalados por la UTPL), prácticas académicas, pasantías preprofesionales y de vinculación con la colectividad; actividades de evaluación; así como la realización del trabajo de titulación. El modelo adoptado por la UTPL contempla dos tipos de competencias: genéricas y específicas. Competencias genéricas: 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 formación. CONESUP (2008): Reglamento del Régimen Académico del Sistema Nacional de Educación Superior, art. 18. 1 8 PRELIMINARES Guía didáctica: Sistemas Operativos Competencias específicas: son propias de la titulación, aportan a la cualificación específica para la profesión, dándole consistencia social y profesional al perfil formativo. • Estructura general del programa formativo Las unidades académicas o escuelas de la UTPL han estructurado el programa formativo contemplando cinco ámbitos o bloques de asignaturas: formación básica (10%), genéricas de carrera (15%), troncales (35%), complementarias (10%), libre configuración (10%) y además, el Practicum que comprende las pasantías preprofesionales y de vinculación con la colectividad y Practicum académico (20%). 4.1. Competencias genéricas - - - - - - - - - - - - Capacidad para organizar y planificar el tiempo. Capacidad de abstracción, análisis y síntesis. Habilidades para buscar, procesar y analizar información procedente de fuentes diversas. Capacidad de aplicar los conocimientos. Capacidad para identificar, plantear y resolver problemas. Capacidad creativa e innovadora. Capacidad para tomar decisiones. Capacidad de trabajo en equipo. Habilidades interpersonales. Compromiso con la calidad. Capacidad para formular, diseñar y gestionar proyectos. Compromiso ético. 4.2. Competencias específicas Estas competencias se encuentran detalladas en la planificación de cada bimestre. 9 Guía didáctica: Sistemas Operativos PRELIMINARES 5.Bibliografía 5.1.Básica Silberschatz, A.; Galvin P.B. y Gagne, G. (2006). Fundamentos de Sistemas Operativos. Madrid-España: Mc Graw Hill. El texto básico en su séptima edición, explica con claridad y ejemplos prácticos los conceptos relacionados con los sistemas operativos. Es un libro clásico de las ciencias de la computación. Pineda Julia y Torres Rommel (2011). Guía didáctica de Sistemas Operativos. Loja – Ecuador. UTPL. La presente guía le ayudará a enfocarse en el estudio, organizar el tiempo dedicado a cada uno de los capítulos. 5.2.Complementaria Tanenbaum, A. y Woodhull, A. (2006). Sistemas Operativos Diseño e Implementación. México: 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 Electrónicas Martínez, J. E. P., Fernández, I. M., Martín, J. G. (2010, February 22). Sistemas Operativos I. Retrieved March 31, 2011, from OCW UPM - OpenCourseWare de la Universidad Politécnica de Madrid [En línea]. Disponible en http://ocw.upm.es/arquitectura-y-tecnologia-de-computadores/sistemas-operativos-i [consultado 31-03-2011]. En esta dirección usted encontrará material interesante de las principales unidades de la presente materia como son conceptos y evaluaciones. 10 PRELIMINARES Guía didáctica: Sistemas Operativos 6. Orientaciones generales para el estudio Estudiar a distancia es un reto que requiere esfuerzo, dedicación y sobre todo de organización, por ello debe hacer de esta actividad un trabajo continuo y sistemático, organice su tiempo de manera que pueda verdaderamente aprovechar los contenidos que se le están ofreciendo. Le sugerimos hacer vida esta frase, que aunque le puede parecer trillada, es la que más se adapta a la realidad de las personas que estudian a distancia: “No deje para mañana lo que puede y debe hacer hoy“. Proponemos algunas orientaciones que le servirán en su proceso de aprendizaje: • Para su estudio usted dispondrá del texto básico, mencionado en la bibliografía y la guía didáctica. • En la guía didáctica se dan las orientaciones para desarrollar cada uno de las unidades de la materia, así como sugerencias para reforzar los temas de estudio. • Para ayudarse en el proceso de aprendizaje utilice las técnicas de estudio que más se adapten a su manera de aprender: subrayado, resúmenes, cuadros sinópticos. Estudie en un horario y ambiente adecuado, recomendamos por lo menos dedicar una hora diaria de su tiempo. • Recomendamos utilizar la bibliografía complementaría para mejorar su estudio y comprensión, pues los conceptos son similares (más especifico y concreto) • Lea pausada y detenidamente cada uno de los temas previstos a fin de lograr una comprensión adecuada. • Revise el solucionario ubicado al final de la guía, le ayudará a resolver las autoevaluaciones que se presentan. • En el texto básico usted encontrará ejemplos para mejor comprensión de los conceptos sobre multitarea, planificación de procesos, sincronización, etc. • Para usted ya es familiar, que cuenta con el apoyo tecnológico de una plataforma o Entorno Virtual de Aprendizaje (EVA) www.utpl.edu.ec, este entorno es accesible únicamente para los estudiantes de la UTPL, le permite interactuar con docentes y compañeros. Consulte con frecuencia el espacio ANUNCIOS donde encontrará información y orientaciones sobre el desarrollo de esta asignatura. Desde este semestre se empieza a calificar su participación a través del Campus Virtual, interactúe a través de los foros. En el área de materiales del campus se ha colocado un video de cómo utilizar el software Ubuntu para poder realizar las prácticas sobre el sistema Linux. • En la guía encontrará la planificación para el trabajo del alumno, que le guiará en su estudio, en esta planificación el profesor ha tomado en cuenta el tiempo que le puede tomar desarrollar cada una de las actividades programadas, las formas y las fechas de entrega. Siguiendo esta planificación tendrá más posibilidades de aprobar con éxito. • Una de las formas de medir su comprensión y registrar su avance en la materia es mediante las autoevaluaciones que encontrará al final de cada unidad y que debe desarrollar durante el transcurso del semestre, de acuerdo a la planificación que se le muestra que se muestra tanto para 11 Guía didáctica: Sistemas Operativos PRELIMINARES el primer como para el segundo bimestre. Las respuestas de las autoevaluaciones se encuentran al final de la guía 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. 12 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 7. Proceso de enseñanza-aprendizaje para el logro de competencias PRIMER BIMESTRE 7.1. Planificación para el trabajo del alumno COMPETENCIAS ESPECÍFICAS INDICADORES DE APRENDIZAJE CONTENIDOS Unidades/Temas • Identifica los UNIDAD 1: principales hitos Introducción. en la evolución de 1.1. Organización de los sistemas. una computadora • Lista usos y 1.2. Arquitectura de un utilidad de sistema informático los diferentes sistemas 1.3. Estructura de un operativos. sistema informático •Identifica 1.4. Operaciones del claramente los sistema operativo componentes y estructura de un sistema operativo ideal. Administrar infraestructura de redes y • Identifica los telecomunicaciones principales en una organización. componentes de un sistema operativo. CRONOGRAMA ORIENTATIVO Tiempo estimado Semana 1 4 horas de autoestudio y 4 de interacción. ACTIVIDADES DE APRENDIZAJE - Lea el Capítulo 1 del texto básico y revise los anuncios del EVA. - Analice y compare la evolución de los sistemas operativos descritos. Diseño y evolución. - Basado en los principales objetivos de los sistemas operativos indique al menos dos usos de acuerdo a cada objetivo. - Resolver la autoevaluación de la unidad. - Iniciar el desarrollo de la evaluación a distancia del primer bimestre. UNIDAD 2: Estructura del sistema operativo 2.1. Servicios del sistema operativo • Ejemplifica cuáles 2.2. Interfaz del usuario de un sistema son los objetivos operativo de un sistema operativo desde el 2.3. Llamadas al sistema punto de vista de un usuario. 2.4. Diseño e Implementación • Identifica los de un sistema servicios que operativo provee un sistema operativo. 2.5. Estructura del sistema operativo Semana 2. 4 horas de autoestudio y 4 de interacción. - Lea el Capítulo 2 del texto básico y revise los anuncios del EVA. - Revise cómo funciona la máquina virtual de JAVA. - De acuerdo a la arquitectura de los sistemas operativos indique al menos dos SO por cada tipo de arquitectura. - Indique ¿cuáles son los servicios que el sistema operativo ofrece basados en el objetivo de comodidad del usuario? y ¿cuáles son los servicios del sistema operativo que ofrece basados en el uso eficiente de los recursos del computador? 13 Guía didáctica: Sistemas Operativos COMPETENCIAS ESPECÍFICAS INDICADORES DE APRENDIZAJE PRIMER BIMESTRE CONTENIDOS Unidades/Temas CRONOGRAMA ORIENTATIVO Tiempo estimado ACTIVIDADES DE APRENDIZAJE - Indique las principales funciones que realiza cada componente del SO - Resuelva la autoevaluación 2 - Continúe con el desarrollo de la evaluación a distancia. • Identifica cuál es la mejor planificación de procesos según el entorno. Analizar, diseñar, validar, instalar y mantener redes de computadoras en diferentes áreas dentro de una organización. UNIDAD 3: Gestión de Semana 3 y 4 procesos 4 horas de 3.1. Conceptos de autoestudio y 4 de procesos interacción. 3.2. Planificación de • Clasifica los procesos diferentes tipos de planificación de 3.3. Operaciones sobre procesos. procesos •Ejemplifica 3.4.Comunicación las diferentes interprocesos operaciones de los procesos. - Revise el capítulo 3 del texto básico. - Revise los anuncios y material de apoyo del EVA. - Indique la razón por la que un proceso cambia de estado. - Realice un cuadro sinóptico de los tipos de planificadores que existen y las principales características de ellos. - Cite dos ejemplos en donde estén incluidas las operaciones de procesos. - Resuelva la autoevaluación 3. - Continúe con el desarrollo de la evaluación a distancia. • Lista y enumera los diferentes algoritmos de planificación y los aplica. UNIDAD 4: Semanas 5 Planificación de la CPU 4 horas de 4.1. Conceptos básicos autoestudio y 4 de interacción. 4.2. Criterios de planificación • Identifica y entiende los 4.3. Algoritmos de procesos de Planificación los algoritmos utilizados por los 4.4. Comunicación de sistemas Windows los sistemas cliente y Linux. servidor • Evalúa el mejor algoritmo de planificación según requerimientos. 14 - Revise el capítulo 5 del texto básico. - En base a los criterios de planificación existentes realice un análisis comparativo de los diferentes algoritmos de planificación. Y clasifíquelos en apropiativos o no apropiativos - Resuelva la autoevaluación 3. - Continúe con el desarrollo de la evaluación a distancia. Guía didáctica: Sistemas Operativos PRIMER BIMESTRE COMPETENCIAS ESPECÍFICAS INDICADORES DE APRENDIZAJE • Conoce los posibles problemas de sincronización que el sistema operativo debe manejar. CONTENIDOS Unidades/Temas UNIDAD 5: Sincronización de procesos 5.1.Fundamentos CRONOGRAMA ORIENTATIVO Tiempo estimado Semanas 6 4 horas de autoestudio y 4 de interacción. 5.2. El problema de la sección crítica • Aplica las posibles 5.3. Hardware de soluciones de la sincronización sincronización de procesos. 5.4.Semáforos - Revise el capítulo 6 del texto básico. - Realice un cuadro comparativo de los tipos de interacciones que puede haber entre procesos: Sincronización de procesos, señalización de procesos y comunicación de procesos. Cite un ejemplo de cada uno. - Cite los principales problemas de sincronización de procesos e indique brevemente sus características. 5.5. Problemas clásicos de sincronización de procesos Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación, análisis y desarrollo de algoritmos. ACTIVIDADES DE APRENDIZAJE 5.6.Monitores - Realice un cuadro comparativo entre semáforos y monitores. - Resuelva la autoevaluación 3. - Continúe con el desarrollo del trabajo a distancia. Preparación de la evaluación presencial Semanas 7 y 8 8 horas de autoestudio - Revise las actividades y evaluaciones realizadas durante todo el bimestre. - Revise el material de apoyo subido en el EVA. - Revise las actividades de interacción del EVA - Recuerde que puede consultar a su profesor las dudas que tenga de la materia. Esto lo puede hacer vía correo electrónico o llamada telefónica. 15 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 7.2. Sistema de evaluación de la asignatura (Primer y segundo bimestre) 2. Heteroevaluación Formas de evaluación x x x Esfuerzo e interés en los trabajos x x x 3. Coevaluación Cumplimiento, puntualidad, responsabilidad Evaluación Presencial x Interacción con el EVA Parte Objetiva x Parte de Ensayo 1. Autoevaluación * Comportamiento ético Competencias: criterio x x x x x x x Respeto a las personas y a las normas de comunicación Habilidades Creatividad e iniciativa x Contribución en el trabajo colaborativo y de equipo Presentación, orden y ortografía x x x x x x Emite juicios de valor argumentadamente Conocimientos x Dominio del contenido x x x x x x x x x x Investigación (cita fuentes de consulta) x Aporta con criterios y soluciones x x x Análisis y profundidad en el desarrollo de temas x x x 10% 10% 30% 70% 6 14 10% Estrategia de aprendizaje PORCENTAJE Puntaje 2 2 2 TOTAL Actividades presenciales y en el EVA Actitudes Evaluación a Distancia 20 puntos Para aprobar la asignatura se requiere obtener un puntaje mínimo de 28/40 puntos, que equivale al 70% * Son estrategias de aprendizaje, no tienen calificación; pero debe responderlas con el fin de autocomprobar su proceso de aprendizaje. ** Recuerde: que la evaluación a distancia del primero y segundo bimestres consta de dos partes: una objetiva y otra de ensayo, debe desarrollarla y entregarla en la fecha establecida . Sr. estudiante: Tenga presente que la finalidad de la valoración cualitativa es principalmente formativa 16 PRIMER BIMESTRE 7.3 Guía didáctica: Sistemas Operativos Orientaciones específicas para el aprendizaje por competencias UNIDAD 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS Estimado estudiante, comenzaremos a revisar los conceptos generales de los sistemas operativos, como primer paso tratemos de entender, el significado de lo que es un sistema operativo. Con este propósito le proponemos una actividad de tres pasos: 1) Buscar conceptos generales, 2) Luego con esta información generar nuestro concepto 3) Verificar en el libro básico el concepto y compara con el concepto que hemos generado. La desagregación 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 capítulo les invitamos a buscar los conceptos generales de “sistema” y luego de “operación”. Ahora analícelos, júntelos y defina a continuación qué es para usted un sistema operativo: _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ Ahora lo invitamos a buscar, los conceptos pero relacionado en materia de Ciencias de la Computación o Informática. _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ Ahora busque el concepto en las primeras páginas de nuestro texto básico y transcríbalo: “____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ ____________________________________________________________________________________” Con los tres conceptos que ha obtenido, estamos seguros que ya tiene claro que es un sistema operativo y lo más importante lo puede definir en el contexto de Ciencias de la Computación. En muchas ocasiones los conceptos en general, se mantienen similares en cada área de estudio definida, en nuestro caso Informática. ¿Está de acuerdo? Piense en otros ejemplos en los cuales se cumple o no esta afirmación. 17 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Continuemos con nuestro texto básico, lea sección 1.1 ¿Qué hace un sistema operativo?, mientras lo revisa, sugerimos que haga un cuadro sinóptico 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 móvil (celulares, tabletas), piense y escriba las diferencias y similitudes con respecto del hardware, el sistema operativo (en adelante lo llamaremos SO), los programas de aplicación y los usuarios. También es una herramienta de aprendizaje muy útil, tener una visión de las cosas desde diferentes ángulos. Imagine que tiene que programar (crear) un nuevo sistema operativo para un teléfono celular, ¿cómo ve el programador al SO, cuál es el punto de vista del fabricante del hardware, qué esperan los usuarios, qué debería hacer el SO? Con la ayuda del texto básico responda a estas preguntas en la siguiente tabla: Punto de vista Sistema Funciones, procesos, visión de SO Usuario Programador 1.1. Organización de una computadora Este apartado, no es obligatorio, pero es importante para que pueda identificar los componentes, los cuales el SO debe manipular. Para su mejor comprensión mientras va leyendo la sección 1.2 Organización de una computadora, trate de ubicar los conceptos de: instrucción, memoria, dispositivos de E/S, RAM, direcciones de memoria. Una vez finalizada la lectura de este apartado es importante que determine la relación entre el acceso directo a memoria y el procesamiento. 1.2. Arquitectura de un sistema informático Lo invitamos a revisar la sección 1.3 Arquitectura de un sistema informático del texto básico. Como pudo leer uno de los componentes, si no el más importante, que debe administrar un sistema operativo es el procesador, de allí la importancia de conocer la arquitectura de un sistema informático desde un punto de vista de cantidad de procesadores. Para este apartado realice un mapa conceptual, de los sistemas monoprocesador, multiprocesador y en clúster. Cuestionémonos lo siguiente ¿Si se tiene dos procesadores la velocidad de procesamiento se duplica? No olvide de interiorizar los conceptos de procesamiento simétrico y procesamiento asimétrico. Una de las aplicaciones más interesantes para los sistemas en clúster es la denominada “SETI” o “BOINC”, la cual utiliza el Internet como medio de comunicaciones y los equipos disponibles de cualquier persona en el mundo para la búsqueda de inteligencia extraterrestre. Investigue las razones por las cuales este proyecto utiliza los sistemas en clúster. ¡Interesante! 18 PRIMER BIMESTRE Guía didáctica: Sistemas Operativos 1.3. Estructura de un sistema operativo Revise la analogía del concepto de multiprogramación en el texto básico, sección 1.4 Estructura de sistema operativo, ahora puede pensar en otra analogía. Por ejemplo puede pensar en los juegos que se instalan en la ferias y al que acuden las personas a divertirse. Puede agregarle a su analogía el concepto de “tiempo compartido”. Es lógico que los servidores, tengan que implementar los conceptos de multiprogramación y tiempo compartido, sin embargo ¿necesitarán ser implementados en los computadores personales, como una portátil? Se ha dado cuenta que en las entidades financieras, como los bancos, se manejan los conceptos similares a los que se revisa en el texto básico: cola de trabajos, planificación de trabajos y planificación de la CPU. Cuando este en una sucursal le animamos a que mire estos procesos desde el punto de vista de un sistema operativo. Finalmente en este apartado existen tres conceptos claves con el manejo de la memoria: la memoria virtual, la memoria física y la memoria lógica. Amplíe los conceptos del texto a través del glosario en esta misma guía o a través de Internet. Para las siguientes unidades es importante que domine estos conceptos, las similitudes y las diferencias de lo revisado hasta ahora. 1.4. Operaciones del sistema operativo Continuemos con la lectura de este apartado, sección 1.5 Operaciones del sistema operativo del texto básico, interrupción y excepción son dos conceptos que están muy relacionados, determine su diferencia. Operación en modo dual Antes de leer este apartado, cuál es su opinión, ¿por qué un sistema operativo debe trabajar en modo dual o doble?, será importante, ¿acaso no sería mejor que trabaje en modo simple? De tal forma que se baje a la mitad la complejidad de trabajar en modo dual. Revisemos la figura 1.8 del texto básico, aquí se ven los dos modos: Kernel y usuario. Los dos modos de operación tienen otros nombres asociados que le recomendamos memorice, para este propósito utilice un mapa conceptual en el que incluya además de los sinónimos las principales funciones y objetivos que cumplen cada uno de estos modos. No olvide de relacionar en este mapa conceptual el bit de modo. Genere también un diagrama de flujo en donde se vea el ciclo de vida de la ejecución de una instrucción en un sistema informático. 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 identificación de procesos que no agregan valor o están en un bucle infinito. Por lo general se utilizan dos estrategias: el uso de un límite de tiempo y un contador de tiempo (cronómetro). Imagine que es entrenador de atletismo para carreras de 100 metros y usted está haciendo audiciones para seleccionar atletas. El temporizador se configuraría de la siguiente forma: 1) El límite de tiempo 15 segundos (basado aleatoriamente) 2) El cronometro sería 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. 19 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Conclusión de la unidad Hasta aquí hemos revisado la introducción 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 capítulo 1del texto básico 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 básico y las autoevaluaciones propuestas a continuación. Le recordamos que las respuestas a estas autoevaluaciones se encuentran al final de esta guía. En este momento es ideal que revise y empiece a desarrollar su evaluación a distancia. Y ahora a trabajar en los ejercicios, la autoevaluación y a compartir sus hallazgos a través del EVA. ¡Manos a la obra! Autoevaluación 1 Hemos finalizado el estudio de la primera unidad, como medidor de asimilación de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de autoevaluación y luego compare sus respuestas con las que están al final de la presente guía. 1. 2 20 El sistema operativo se define como: a) Un conjunto de programas que sirven de interfaz entre el sistema de E/S y la memoria b) Es un programa que actúa como intermediario entre el usuario y el hardware de una computadora. c) Conjunto de dispositivos lógicos que usa el computador d) Es el sistema computacional que se divide en cuatro componentes: el hardware, el sistema operativo, los programas de aplicación y los usuarios. Desde el punto de vista del sistema operativo, ¿cuál es la diferencia entre sistemas monoprocesador y multiprocesador? a) El incremento de la complejidad para la administración del uso del CPU. b) No existe diferencia por que el sistema operativo es el mismo, no importa el número de procesadores. c) El sistema multiprocesador tiene la capacidad de atender a más de un proceso en forma concurrente, mientras que el sistema monoprocesador solo atiende a uno. d) El sistema monoprocesador tiene mayor rendimiento y mayor fiabilidad que un sistema multiprocesador. Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 3 Selecciones los elementos que debe manejar un sistema operativo: a)Procesos b)Memoria c)Procesador d)Almacenamiento 4 El sistema operativo se encarga de las siguientes actividades relacionadas con la gestión de procesos: a) Saber cuáles partes de la memoria se están usando actualmente y quién las está usando b) Proveer primitivas para manipulación de archivos y directorios c) Crear y eliminar procesos tanto de usuario como del sistema d) Planificar disco 5. Presente una lista de los cuatro pasos necesarios para ejecutar un programa en una máquina completamente dedicada. 6. ¿Cuál es la ventaja principal de la multiprogramación? 7. ¿En qué circunstancias sería mejor para un usuario un sistema de tiempo compartido, en lugar de una PC o una estación de trabajo para un solo usuario? Interactividad a través de los Foros de Campus Virtual Es importante para todos sus compañeros y profesores que compartan sus inquietudes, hallazgos, propuestas relacionadas con la materia. No olvide de ingresar periódicamente al campus virtual que se encuentra en la siguiente dirección: http://www.utpl.edu.ec y de respuesta a las preguntas que se han previsto como parte del foro, su aporte es importante. Recuerde que su interacción a través del entorno virtual de aprendizaje es calificado y la nota correspondiente es parte de su evaluación a distancia. Desarrollo de ejercicio del texto básico Para reforzar el nivel de conocimientos del presente capítulo se deben realizar las siguientes actividades y/o ejercicios propuestos en el texto básico, si tiene alguna dificultad, publíquela en el EVA con la ayuda de sus compañeros y de los profesores se desarrollará las respuestas a las mismas. Los ejercicios que han sido seleccionados por los profesores son los siguientes: • Ejercicios 1.3, 1.4, 1.6 y 1.11 Ir a solucionario 21 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE UNIDAD 2: ESTRUCTURAS DE SISTEMAS OPERATIVOS En la Unidad 1, se realizó una introducción a los sistemas operativos, identificando y listando sus componentes y funcionamiento, con esta introducción 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 también cómo estructurar un sistema operativo para finalmente entender cómo se instalan, personalizan y arrancan. Pasemos a leer los párrafos introductorios y los objetivos planteados en el texto básico. 2.1. Servicios del sistema operativo Existen algunos servicios que los sistemas operativos dan a los usuarios, procesos y otros sistemas operativos, para conocerlos le invitamos a revisar la sección 2.1 Servicios del sistema operativo, del texto básico. El servicio se define como una facilidad dada por un ente. Piense y enumere al menos cinco servicios que presta un sistema operativo de los que usted conoce. Por ejemplo, revisemos uno de los servicios más cercanos al usuario: la interfaz de usuario. Puede explicar qué es una interfaz. Imagine un automóvil ¿Como interactúa el conductor con el motor para ponerlo en marcha? Para este propósito en el automóvil existe el asiento exclusivo del conductor, y frente al conductor existe todos los dispositivos mecánicos y visuales. Los dispositivos visuales le informan del estado del motor (Led para nivel de aceite, velocímetro, Led para el sensor de temperatura, etc.). Y los mecánicos le permiten interactuar con el mismo. En esta analogía se puede determinar que existen dos interfaces una visual y una mecánica entre el motor del automóvil y el conductor. De la misma forma se definen tres formas (interfaz) en que el usuario puede interactuar con el sistema operativo: 1.Gráfica: por ejemplo la pantalla de inicio de sesión de cualquier sistema operativo. 2.Comandos: En la cual el usuario ingresa comandos uno a uno, a través del teclado o un dispositivo de entrada. Actividad recomendada: Para interactuar con un sistema operativo desarrollado por Microsoft (marca registrada) a través de la línea 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? ¿Cómo puede hacer lo mismo con la interfaz gráfica? 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 días 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. Una de las estrategias de memorización ordenada es relacionar la primera silaba de cada letra, crear una nueva palabra de tal forma que todas generen una oración. 22 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Por ejemplo: Interfaz de usuario In Inteligente Ejecución de programas Ej Ejecución Operaciones de E/S Ope Opera Manipulación del sistema de Ma archivos Manuel Comunicaciones Co Comiendo Detección de errores De Dedales La oración puede quedar “Inteligente ejecución de la opera de manuel comiendo dedales”, mientras más original sea la oración más fácil será recordar y por lo tanto usted podrá traer ese conocimiento en cualquier momento que necesite, solo recordando la oración. Le animamos a crear su propia oración y a utilizar esta estrategia para los conceptos en esta materia y en cualquier actividad de aprendizaje que usted necesite. 2.2. Interfaz de usuario Lea la sección 2.2 Interfaz de usuario del sistema operativo, del texto básico, cómo le fue, bien ¿verdad? Ahora, como ejercicio para reforzar este apartado en la siguiente tabla, coloque el comando similar en Windows para los comandos en Linux en la siguiente tabla. Linux Windows (CLI) Función del comando rm ls mv 2.3. Llamadas al sistema Este aparatado lo encontrará en la sección 2.3 Llamadas al sistema del texto básico, lo invitamos a leer y comprender su contenido. Ahora responda la siguiente pregunta: ¿Qué relación tienen las llamadas al sistema con el sistema operativo? _______________________________________ ¿Cuándo estas llamadas al sistema se implementan en lenguaje C y cuándo en lenguaje ENSAMBLADOR? _________ ________________________________________. Para una mejor comprensión realice un diagrama de flujo del proceso especificado en el texto básico “deseamos escribir un programa sencillo para leer datos de una archivo y copiarlos en otro archivo”. Luego con este diagrama de flujo identifique, resalte y cuente el número de llamadas al sistema que se han realizado. Ahora imagine para procesos más complejos, cuando el sistema operativo debe atender a más de un usuario, o cuando hay múltiples procesos solicitando acceso al sistema, todas estas llamadas a los servicios del sistema y a los recursos 23 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE del mismo deben ser planificadas y controladas para que el equipo no falle. Toda esta planificación y control de los componentes de los sistemas operativos lo veremos en los capítulos siguientes. A continuación revise el termino Interfaz de Programación de Aplicaciones (API, del término en inglés). ¿Por qué es importante este componente? ¿Qué funciones tiene un API? ¿Cuándo es utilizado? Registre sus respuestas. Recuerde que las llamadas al sistema son algoritmos que son implementados en funciones o procedimientos en lenguaje de programación C o Ensamblador. Por lo tanto como cualquier programa de computadora tiene tres componentes claramente identificados: Entrada, Proceso y Salida. El componente de entrada está dado por los requerimientos necesarios para que el proceso trabaje normalmente, en nuestro caso con los parámetros que se pasan a la función cuando es invocada. El procesamiento, toma el valor de los parámetros 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 básico, y para reforzar veamos el siguiente ejemplo de una función definida en c++. Función 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 función 1, está escrita en lenguaje C++, su función es determinar si existe un vecino, esta función ha sido desarrollada dentro de un protocolo de comunicación para redes móviles, en donde todos los equipos se comunican mediante enlaces inalámbricos. Como puede ver esta función tiene un parámetro de entrada “nsaddr_t addr”, el parámetro 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 dirección 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. Pasemos ahora al siguiente apartado. 24 PRIMER BIMESTRE Guía didáctica: Sistemas Operativos 2.4. Tipos de llamadas al sistema Revisemos la sección 2.4 Tipos de llamadas al sistema, del texto básico. Como puede darse cuenta en la lectura no existe una definición literal de lo que es “Control de procesos”, así que le animamos a inferir su propia definición, colóquela a continuación: ___________________________________________________________________________ Para este apartado utilicemos un mapa conceptual, en donde colocaremos las cosas más importantes de cada uno de los tipos de llamadas al sistema: control de procesos, administración de archivos, administración de dispositivos, mantenimiento de información, comunicaciones. Continuemos ahora con la lectura de Administración de archivos, si recuerda por lo menos cinco llamadas al sistema relacionadas con la administración de archivos (por ejemplo: “create”), entonces puede dar por superado este apartado. Actividad recomendada: Recomendamos probar Ubuntu en su computador, Ubuntu es un sistema operativo basado en Linux de distribución gratuita, si no puede conseguir en su sector, envíeme un email para enviarle una copia. Puede probar Ubuntu en tres formas: 1) Live CD, 2) A través de una máquina virtual y 3) Instalando en particiones separadas a su sistema operativo original. Para nuestro estudio con la opción de Live CD es más que suficiente. El uso de Ubuntu en Live CD implica que no debe cambiar, ni instalar, nada en su computador, el CD arranca una versión completa de Ubuntu, sin cambiar la instalación 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 qué 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 dueño del archivo. Como actividad, luego de la lectura, analice los permisos que se definen en Linux para archivos y directorios. Y también verifique qué son los grupos y usuarios de archivos en Linux. Conteste las siguientes preguntas. ¿Cuáles son los tipos de permisos para archivos y cómo se diferencian de los directorios? ¿Cómo 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 más de un grupo o usuario? ¿Qué significan los permisos de archivos? Ahora continuemos con la lectura de los apartados de Administración de dispositivos, Mantenimiento de información y comunicaciones. De igual forma es importante que recuerde de cada uno por lo menos tres llamadas al sistema. También es necesario que en sus propias palabras defina y enumere: los tipos de dispositivos, la definición de dispositivo; la necesidad de mantener la información y que información cree que se debe mantener; los modelos de comunicación entre procesos. 25 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Prosigamos, ahora con el siguiente apartado: 2.5. Programas del sistema Ahora lea la sección 2.5 Programas del sistema, del texto básico. En qué nivel de un sistema informático están los programas del sistema, revise nuevamente la figura 1.1 del texto básico. Le animamos a completar la figura con las categorías al mismo. 2.6. Diseño e implementación de un sistema operativo Para este apartado lea la sección 2.6 Diseño e implementación de un sistema operativo, del texto básico, imaginemos que vamos a diseñar un sistema operativo para teléfonos celulares inteligentes, entonces vamos a crear una tabla de diseño para nuestro propósito: Objetivos de diseño: Usuario Sistema Cuando se reciba una llamada debe mostrar el número y el nombre del que llama lo más grande Debe ser multitarea. posible. Mecanismos y políticas: MECANISMOS 26 POLITICAS Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Implementación CARATERÍSTICA Implementado en C++ y Java DETALLE Los procesos de acceso al sistema se implementarán en C++, mientras que los procesos o interfaces se usuario se programarán en JAVA. Ahora que ha realizado un excelente ejercicio de definición de requerimientos. Como puede ver el diseño de un sistema operativo comienza con una definición 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. 2.7. Estructura del sistema operativo Le invitamos a revisar la sección 2.7 Estructura del sistema operativo, del texto básico. Mientras lee haga un cuadro sinóptico con las diferencias y similitudes entre un sistema operativo con estructura simple y un sistema operativo con estructura por niveles. 2.8. Máquinas virtuales Antes de iniciar la lectura de la sección 2.8 Máquinas virtuales, del texto básico hagamos un análisis de la figura 2.15 del texto básico en la cual se muestran la estructura de sistemas trabajando con máquina virtual y sin máquina virtual. Determine los tres elementos comunes entre los dos sistemas. ¡Le animamos a que los identifique! Estos elementos comunes son los que forman la máquina no virtual. A su vez, existen elementos que son únicos en los sistemas con soporte para máquina virtual. Determine por qué razón estos elementos permiten que un sistema pueda manejar máquinas virtuales. Se dio cuenta que en el gráfico existe una falta de ortografía. Continuemos con la lectura del texto básico. Actividad recomendada: Le retamos y animamos a instalar Ubuntu a través de una máquina virtual. Para lo cual puede utilizar la versión 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 información. Ahora revise si todo su hardware fue identificado e instalado sin problemas en la máquina virtual. Haga un listado de aquel hardware que no fue identificado y cuestiónese e investigue en Internet, luego de leer el apartado del texto básico, porque razón o razones este hardware no fue identificado correctamente. 27 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Pasemos ahora a revisar el siguiente apartado del texto básico. 2.9. Arranque del sistema Para este último apartado de la unidad lea la sección 2.10 Arranque del sistema, del texto básico, los conocimientos que se ven son muy utilizados cuando se hace seguimiento de problemas presentados por fallas en los equipos. Vamos a determinar, a través de la creación de un diagrama de flujo, cuales son los pasos y la secuencia necesaria para que un sistema operativo esté disponible al usuario. Mientras realiza el diagrama de flujo identifique también los conceptos de la sección 2.7 del texto básico, Estructura y componentes del sistema operativo. Piense también como es el arranque en una máquina virtual. Con este apartado se finaliza el estudio de la presente unidad, para determinar y mejorar su grado de comprensión y asimilación de los contenidos estudiados, le invitamos a trabajar en la autoevaluación y a desarrollar los ejercicios propuestos. Finalmente comparta sus inquietudes de esta unidad a través del entorno virtual de aprendizaje Autoevaluación 2 Estamos seguros que el estudio de esta unidad ha sido de su interés. Verifiquemos cuanto ha asimilado respondiendo las preguntas de la autoevaluación. 1. La estructura por capas de un sistema operativo a) b) c) d) 2) En los sistemas por lotes a) b) c) d) 3. 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 crítica goza de prioridad respecto a otras tareas y conserva esa prioridad hasta que se lleva a cabo. El usuario interactúa directamente con el equipo puede ver los resultados inmediatamente. Entre las desventajas de una máquina virtual tenemos: a) b) c) d) 28 Implica un solo nivel en donde se implementa solo un pequeño conjunto de primitivas necesarias. Los recursos reales se reparten entre las distintas máquinas virtuales. Crea la ilusión de que múltiples 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. Los costos de una máquina virtual son muy altos. Difícil manejo. Dependencia del Hardware. La implementación puede ser compleja y lenta. Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 4. Las llamadas al sistema operativo proporcionan una interfaz a través de la cual se puede invocar los servicios que el sistema operativo ofrece. ( ( ) Verdadero ) Falso 5. ¿Cuál es el propósito del intérprete de comandos? ¿Por qué está generalmente separado del kernel? 6. ¿Cuál es el propósito de las llamadas al sistema? 7. ¿Cuál es el propósito de los programas del sistema? 8. ¿Cuál es la principal ventaja de la estructura en niveles en el diseño de sistemas? 9. ¿Cuál es la principal ventaja del enfoque con microkernel para el diseño de sistemas? Interactividad a través de los foros de Campus Virtual Sus comentarios sobre esta unidad junto con sus hallazgos en el estudio son importantes para sus compañeros y profesores, es de total interés compartirlos a través del entorno virtual de aprendizaje (EVA), para lo cual ingrese periódicamente al campus virtual que se encuentra en la siguiente dirección: http://www.utpl.edu.ec. En el EVA existen actividades que son calificadas, una de estas es el foro que se ha propuesto, relacionado con la presente unidad., por lo tanto no olvide dar respuesta a las preguntas que se han previsto, su aporte es calificado. Ejercicios Ahora a desarrollar y resolver los problemas planteados del texto básico, con esta actividad se reforzará el nivel de conocimientos de la presente unidad, hemos planteado que desarrolle los siguientes ejercicios, si tiene dudas sobre estos no olvide contactarnos a través de los canales dispuestos por la Universidad. • Ejercicios 2.2, 2.5, 2.7, 2.13, 2.14 Ir a solucionario 29 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE UNIDAD 3: PROCESOS Recursos educativos multimedia Iniciemos el estudio de la Unidad 3, capítulo 3 del texto básico. 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. 3.1. Conceptos de procesos Antes de comenzar con la lectura le mostramos una lista desordenada con las palabras claves que son parte del concepto de proceso. Usted debe unir estas palabras de tal forma que pueda armar una definición inicial del concepto. Esta definición se irá depurando y mejorando durante la lectura de esta apartado, sección 3.1 Concepto de proceso, del texto básico. Las palabras son: programa en ejecución, líneas de código, activo, memoria, estado del proceso, pila del proceso, datos temporales, bloque de control de proceso. A continuación coloque su primera aproximación al concepto de procesos: ___________________________________________________________________________ Ahora sí, continuemos con la lectura de la sección 3.1 Concepto de procesos, mientras lee identifique las palabras clave y compare con su primera definición de concepto. Estamos seguros que no hay mucha diferencia. Finalmente coloque a continuación la versión depurada del concepto de proceso. ___________________________________________________________________________ Identificó todas las palabras clave, si es así continuemos con el siguiente tema, caso contrario sugerimos una nueva lectura a este apartado. 3.2. Planificación de procesos Lea y comprenda la sección 3.2 Planificación de procesos, del texto básico. Con la lectura de este apartado debe identificar claramente como los procesos son organizados por el sistema operativo para la correcta utilización del CPU. Mientras lee este apartado responda las siguientes preguntas. • ¿Cuál es la diferencia entre multiprogramación y tiempo compartido? • ¿Qué son las colas de planificación y para qué sirven? • ¿La diferencia entre la cola de procesos preparados y la cola del dispositivo? • ¿En qué momento un proceso pasa de la cola de procesos preparados a la cola del dispositivo y viceversa? • ¿Las diferencias entre los planificadores a largo y corto plazo? • Cuándo las interrupciones del sistema operativo obligan a la CPU a interrumpir un proceso. ¿Cómo conoce la CPU el estado en el que quedó el proceso antes de ser interrumpido? 30 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Estas preguntas le ayudarán a entender este apartado. Ahora continuemos con el siguiente. 3.3. Operaciones sobre procesos Existen dos operaciones sobre procesos: Creación y Terminación. Sin embargo como puede leer en el texto básico, sección 3.3, Operaciones sobre procesos, “Un proceso puede crear otros varios procesos nuevos mientras se ejecuta”. Entonces surge la pregunta: ¿Cómo el sistema operativo puede tener un registro y un rastro de cuantos procesos han sido creados por un proceso en particular? Actividad recomendada: Para responder esta pregunta realicemos la siguiente actividad en su distribución de Ubuntu: 1. Abra, una ventana de terminal y coloquemos el comando: ps -el | more Deberíamos obtener una respuesta similar a la inferior. F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4S 0 1 0 0 80 0 - 696 poll_s ? 00:00:00 init De aquí es importante determinar cuál es el PID (Identificador de proceso de sus siglas en ingles) del proceso init. 2. Ahora coloquemos el comando ps axjf Deberíamos obtener una salida en pantalla similar a esta, o identifique esta salida en su computador: PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND 1 6922 1424 1424 ? -1 Sl 1000 0:08 gnome-terminal 6922 6923 1424 1424 ? -1 S 1000 0:00 \_ gnome-pty-helper 6922 6924 6924 6924 pts/0 7494 Ss 1000 0:00 \_ bash 6924 7494 7494 6924 pts/0 7494 R+ 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 PPID PID Gnome-terminal gnome-pty-helper bash ps axjf Init 31 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Le animamos a identificar el resto de columnas leyendo el manual del comando ps, a través del comando man ps. ¿Cuando se ejecuta un proceso hijo existen dos acciones que puede hacer el proceso padre? Ahora continuemos leyendo el texto básico, en el apartado referente a la terminación de procesos. Mientras lee le invitamos a responder las siguientes preguntas: • • ¿Qué relación tiene la terminación de procesos con la utilización de memoria? En un sistema operativo para teléfonos inteligentes, de las formas de cómo terminar un proceso, ¿cuál cree que sería la mejor opción y por qué? Seguros de que este apartado fue de su agrado, recuerde que cualquier duda se lo puede hacer a través del Entorno Virtual de Aprendizaje o por los medios dispuestos por la Universidad. Continuemos ahora con otro apartado. 3.4. Comunicación entre procesos Este apartado lo encontrará en la sección 3.4 Comunicación entre procesos, del texto básico, le invitamos a realizar una lectura comprensiva del mismo. Ahora responda: ¿Por qué razón los procesos se deben comunicar? Coloque tres razones 1._________________________________________________________________________ 2._________________________________________________________________________ 3._________________________________________________________________________ Como se ha dado cuenta la comunicación entre procesos necesita de mecanismos IPC (Intercomunication process), esta comunicación entre procesos sirve para intercambiar información. Existen dos formas que estos procesos pueden intercambiar información, 1) memoria compartida y paso de mensajes. Por ejemplo memoria compartida es un lugar de almacenamiento de información temporal en la cual todos los procesos depositan la información a ser compartida. Una analogía sería los mensajes que pegamos en el refrigerador. ¿Puede pensar otra? El paso de mensajes es análogo a una central telefónica en donde los teléfonos serían análogos a procesos y el concepto de central telefónica es análogo al kernel. Busque en sus acciones diarias otra analogía referente a la comunicación 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 información 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 vacíe el buffer de memoria. Cuando usa el buffer ilimitado esta restricción no existe. 32 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE En la comunicación de mensajes usando paso de mensajes es importante determinar cuáles son las implicaciones. Cuando uno se comunica con otra persona existen circunstancias similares a las descritas aquí en este apartado. Imagine una comunicación telefónica mientras lee este apartado. Y encuentre similitudes con los siguientes aspectos: 1) El número de teléfono de destino y el nombrado 2) La línea de teléfono y el enlace de comunicación, 3) Las pausas que existen en la conversación y la sincronización 3) la cola temporal con la capacidad de retención de los que intervienen en la llamada telefónica. Como pudo determinar este apartado es de fácil lectura y comprensión, el apartado de ejemplo no es necesario revisarlo para la presente asignatura, sin embargo le sugerimos su lectura ya que le ayudará a mejorar la comprensión de lo que son los conceptos generales de comunicación entre procesos. Finalmente vamos a revisar la comunicación entre dos entidades cliente y servidor, que no necesariamente deben estar en diferentes equipos. 3.5. Comunicación de los sistemas cliente servidor Mientras lee la sección 3.6 Comunicación de los sistemas cliente servidor, del texto básico y para una fácil asimilación de los conceptos recomiendo llenar la siguiente tabla. Para hacerlo luego que revise nuevamente la sección de comunicación de procesos por paso de mensajes. Características Sockets RMI JMI Nombrado de procesos Sincronización de procesos Canal de comunicación Identificación del cliente Identificación del servidor Procesos u objetos Hemos llegado al final de esta unidad, recomendamos continuar con la elaboración del trabajo a distancia. Es tiempo de revisar cuanto hemos comprendido a través de la autoevaluación, de desarrollar los ejercicios seleccionados por los profesores y participar con sus inquietudes, aprendizajes a través del EVA. El capítulo 4 de texto básico Hebras es una extensión del capítulo de procesos, la lectura del mismo es opcional sin embargo le ayudará a dominar el tema. 33 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Autoevaluación 3 Una vez finalizada la unidad 3, veamos cuanto hemos comprendido desarrollando la presente autoevaluación. Revise nuevamente los conceptos de las preguntas con las cuales tuvo dificultad. No olvide interactuar con sus compañeros y profesores a través del EVA. 1. Tres de las razones para la culminación de un proceso son: a) b) c) d) 2. Normal, Por tiempo excedido, Violación de límites. Memoria disponible, tiempo de ejecución, Error de protección. Normal, Por tiempo cancelado, Violación de límites. Error de ejecución, Por tiempo excedido, Violación de límites. De la siguiente lista identifique cuales son los estados de un proceso. a)Nuevo b)Listo c)Procesado d) En ejecución 3. El planificador a corto plazo selecciona de entre los procesos terminados para ser ejecutados nuevamente. ( 4. ) Verdadero ( ) Falso Los procesos cooperantes se definen como: a) b) c) d) Abstracción de un programa en ejecución y es la unidad de trabajo del sistema. Son los que pueden que no son afectados por los demás 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 explícitamente las actividades. Son los que pueden afectar o ser afectados por los demás procesos que se ejecutan en el sistema. 5. Describa las diferencias entre la planificación de corto plazo, de mediano plazo y de largo plazo. 6. Describa las acciones que efectúa el kernel para realizar una conmutación de contexto entre procesos. 7. 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. 8. Describa las acciones tomadas por un kernel para realizar una conmutación de contexto entre hilos a nivel del kernel. 34 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 9. ¿Qué recursos se emplean cuando se crea un hilo? ¿En qué difieren con respecto a los que se utilizan cuando se crea un proceso? Interactividad a través de los foros de Campus Virtual Es tiempo de responder a los foros propuestos en el EVA, no olvide ingresar periódicamente al campus virtual que se encuentra en la siguiente dirección: http:// www.utpl.edu.ec y de respuesta a las preguntas que se han previsto como parte del foro, su aporte es importante y el mismo será parte de su calificación. 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 Ir a solucionario 35 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE UNIDAD 4: PLANIFICACIÓN DE LA CPU Esta unidad corresponde al capítulo 5 del texto básico. El propósito de esta unidad es analizar los algoritmos de planificación de procesos y exponer criterios de evaluación para seleccionar el más adecuado. El proceso de planificación de la CPU consiste en organizar los procesos que lleva el CPU para hacer que el trabajo sea más productivo. Esta unidad es una de las que tiene la mayor cantidad de información debido a que el CPU es uno de los elementos, sino el más importante, por lo que se debe detallar en profundidad el trabajo y la organización con este elemento central con el sistema operativo. Comencemos con la lectura del texto básico, revisemos el apartado 5.1 Conceptos básicos del texto básico. 4.1. Conceptos básicos Vamos a revisar los principales conceptos que tienen relación con la planificación. Sugerimos que en sus notas resalte con sus propias palabras todos y cada uno de los conceptos que se detallan y que va descubriendo mientras lee. El dominio de estos conceptos facilitará la comprensión de toda esta unidad. Actividad recomendada: Utilice la siguiente tabla para anotar las características más importantes de cada uno de los siguientes conceptos. Multiprogramación Ciclo de ráfagas de CPU y de E/S Planificador a corto plazo FIFO Planificación corporativa Utilizado por: Planificación apropiativa Utilizado por : Despachador Latencia de despacho Si aún no ha dominado estos conceptos le invitamos a una nueva lectura mientras elabora un mapa conceptual sobre los mismos. Una vez dominados los conceptos más importantes para la planificación, continuemos con la lectura del siguiente apartado. 36 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 4.2. Criterios de planificación Es hora de empezar a diseñar nuestro sistema operativo, para ello lea y comprenda la sección 5.2 Criterios de planificación, del texto básico. Ahora vamos a diseñar un sistema operativo para teléfonos inteligentes, aquí es donde su creatividad empieza a ser cuantificada, recuerde que en su diseño se debe hallar un balance entre utilización o subutilización y facilidad de uso. Mientras lee cada uno de estos criterios vamos a colocar en la siguiente tabla los valores que debe tener el diseño de su sistema operativo (las respuestas no son únicas), recuerde colocar las razones por las cuales seleccionó el valor para cada criterio. Criterio Valor Justificación Utilización de la CPU Tasa de procesamiento Tiempo de ejecución Tiempo de espera Tiempo de respuesta ¡Listo! Ahora que conocemos cuáles son los criterios que se utilizan para planificar el uso de la CPU, revisemos cuáles son los algoritmos que se han creado para este fin. 4.3. Algoritmos de planificación En este apartado se hace un análisis de los algoritmos de planificación comúnmente utilizados para este fin. Para la comprensión de este tema revise la sección 5.3 Algoritmos de planificación, del texto básico. Para que entienda este capítulo imagine que es el dueño de un banco y de un supermercado, y como es natural quiere alcanzar la máxima rentabilidad y satisfacción del usuario. Es decir debe planificar como hacer que la atención en las cajas sea lo más provechosa para usted (que ingrese más dinero) y que el cliente esté contento (que el cliente nuevamente vuelva). Mientras lee los algoritmos de planificación analice qué algoritmo colocaría en un banco, y qué algoritmo colocaría en un supermercado. El algoritmo FCFS (first come – first-served), conocido como primero en llegar, primero en ser atendido. Dentro de este campo de planificación es el más 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 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). 37 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE Es decir, en este algoritmo el tiempo de espera para que un proceso se ejecute es incierto y no mínimo. 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 pequeños (en relación de ráfagas 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? Refiérase al texto básico para encontrar la respuesta. ¿Conoce estrategias en la vida real que utilicen este algoritmo? ¿Lo utilizaría en el sistema operativo qué está diseñando? Como puede ver en algunos algoritmos el tiempo de espera es un criterio muy importante para la selección de un algoritmo sobre otro. El algoritmo “primero el trabajo más corto” (shortest – job – first). Establece para la planificación una relación entre proceso y ráfaga de la CPU. Es decir, al liberarse la CPU ingresará el proceso con la menor ráfaga de tiempo, el más pequeño primero, y si existiera más de un proceso con igual valor, pues se aplicaría dentro de este el algoritmo anterior (FCFS). Este algoritmo presenta una gran ventaja, pues el tiempo de espera será mucho menor, pues mientras los procesos de tiempo inferior terminan y ocupan tiempo en operaciones de E/S, el CPU se ocupa de resolver el proceso con mayor tiempo, un algoritmo muy óptimo. Pero, el mayor problema radica en ¿cómo saber el tiempo de ráfaga para cada proceso? Pues no existe manera de saber cuál será la siguiente. Pero podemos aproximarnos, diciendo que será similar a las anteriores, que mediante una fórmula matemática podríamos decir que: Tn +1 = a Tn + (1 – a)Tn De donde Tn es la ráfaga anterior y a es el peso relativo de la historia reciente. Lo que garantiza una aproximación más considerable. ¿Podría colocar este algoritmo en un banco o en su supermercado? Planificación por prioridad Esta clase de algoritmo utiliza como relación entre proceso, tiempo de la CPU y prioridad. De donde el proceso con mayor ráfaga tendrá la menor prioridad y viceversa. Y donde la CPU podrá ser utilizada por el proceso con mayor prioridad. Dentro de este algoritmo la prioridad es asignada ya sea interna o externamente. Pero, uno de los problemas que puede presentar esta planificación es la de un bloqueo indefinido. Es decir, pudiera darse el caso que existan procesos de prioridad alta que harían que los procesos de prioridad baja queden bloqueados hasta que logren colocarse en la CPU o perderse cuando nuestro sistema se caiga, es decir una espera indefinida. 38 PRIMER BIMESTRE Guía didáctica: Sistemas Operativos Es aquí donde se puede aplicar una técnica 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 más rápido) que a aquellos que no son? Pues en estos casos están utilizando este tipo de algoritmo. Planificación por turnos La planificación por turnos o Round Robin, se basa en una estructura FCFS de forma circular, en donde se asigna a los procesos un intervalo de tiempo para la CPU, conocido como quantum. En donde se establece la regla de que un proceso no podrá estar dos veces seguidas en la CPU a menos que sea el único en el estado de listo. Este algoritmo trabaja de la siguiente manera, al ingresar el proceso a utilizar la CPU, este estará dentro del tiempo (quantum), si al terminar este tiempo el proceso no ha terminado es colocado al final y se ingresará otro proceso. Pero si el proceso pasa a estado terminado antes de terminar su quantum, también será extraído de la CPU. En cambio este algoritmo presenta complicaciones pues el tiempo de entrega de un proceso dependerá mucho más del tiempo (quantum) que de la magnitud del proceso. Una analogía del mundo real de estos algoritmos son las ruedas de la fortuna que hay en los parques. ¿Puede explicar la relación? Planificación de colas multinivel Mientras lee este apartado, y para su comprensión piense en los peajes, este es el ejemplo más cercano a este algoritmo de planificación. Planificación mediante colas multinivel realimentadas Este algoritmo es uno de los más utilizados en el diseño de sistemas operativos, para su correcta comprensión sugerimos que elabore un diagrama de flujo del ejemplo de tres colas presentado en el texto básico en la figura 5.7. Todos estos algoritmos son la base para muchas estrategias utilizadas en ciencias de la computación, por ejemplo en procesos de calidad de servicio, en el manejo de colas de las tarjetas de red, en el uso de sistemas distribuidos. Para reforzar el entendimiento de estos algoritmos sugerimos desarrollar los ejercicios propuestos en el libro para cada algoritmo. Luego cambie las ráfagas de tiempo para cada proceso y aumente el número de procesos. Finalmente obtenga el tiempo de espera medio. Pasemos al siguiente apartado en el cual revisaremos los conceptos, condiciones y restricciones que existen cuando se planifica un sistema con más de un procesador. 39 Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 4.4. Planificación de un sistema multiprocesador ¿Qué pasa cuando hay más de un planificador? Lo lógico sería pensar que si tengo dos procesadores tendríamos el doble de capacidad para atender los procesos, pero realmente no es así, la verdad es que cada vez que se adiciona un procesador existen eventos de sincronización y comunicación entre ellos que necesitan tiempo de computación, por lo tanto la capacidad de computación aumenta pero no en una forma matemática. Es así que tendríamos que pensar en procesadores iguales, procesadores diferentes, sistema de entrada y salida únicos o duplicados. Métodos de planificación de la CPU Para este subapartado obtenga las diferencias que existen entre el multiprocesamiento simétrico (SMP) y multiprocesamiento asimétrico, y la relación que existe entre procesador maestro y procesador esclavo. Los siguientes subapartados tratarán las características del procesamiento simétrico (SMP) Afinidad con el procesador ¿Qué pasa cuando un proceso migra de un CPU a otro, qué pasa con la memoria cache del procesador? Investigue leyendo el texto. Y defina en sus propias palabras los conceptos de afinidad dura y afinidad suave. Equilibrado de carga Mientras lee identifique relación tiene el equilibrado de carga con las colas privadas de cada CPU y con el concepto de cola común. Y piense en las estrategias de migración solicitada y migración 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. Mecanismos multihebra simétricos Este subapartado no es necesario revisar y se lo deja como actividad complementaria. Revise por favor el ejemplo de planificación para Linux y familiarice estos conceptos en la instalación del sistema operativo Ubuntu que tiene corriendo en su equipo. Enhorabuena. Este es el final de esta unidad recomiendo verificar el avance y el entendimiento de la misma con la autoevaluación propuesta a continuación. 40 PRIMER BIMESTRE Guía didáctica: Sistemas Operativos Autoevaluación 4 ¿Cuánto he aprendido? Ahora desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de autoevaluación. 1. El algoritmo de planificación de procesos que realiza una asignación equitativa del tiempo de procesador es a)SJF b) Round Robin c) Por prioridad d)FIFO 2. El algoritmo de planificación que despacha primero al proceso más antiguo es: a)SJF b) Round Robin c) Por prioridad d)FIFO 3. Seleccione los criterios que utilizan los algoritmos para la planificación de la CPU a) b) c) d) 4. Utilización de la CPU Buffer del disco duro Tiempo de ejecución de los procesos Tasa de procesamiento El multiprocesamiento simétrico (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 simultáneamente. En sistemas multiprocesador en el que cada procesador se auto-planifica. Todos los procesos utilizan los algoritmos de planificación FIFO para que los procesos se ejecuten en forma paralela. 5. Un algoritmo de planificación de la CPU determina un orden para la ejecución de sus procesos. Dados n procesos a ser planificados en un procesador, ¿Cuántos posibles planes diferentes hay? Proporcione una fórmula en términos de n. 6. Defina la diferencia entre la planificación apropiativa y la no apropiativa. Explique por qué es poco probable que una planificación estricta no apropiativa se utilice en un centro de cómputo. 41 Guía didáctica: Sistemas Operativos 7. PRIMER BIMESTRE Considere el siguiente conjunto de procesos, con el tiempo de ráfaga de CPU dada en milisegundos: PROCESO P1 P2 P3 P4 P5 TIEMPO DE RÁFAGA 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 gráficas de Gantt que ilustre la ejecución de estos procesos empleando la planificación FIFO, SJf, una planificación por prioridades no apropiativa (un número de prioridad menor implica una mayor prioridad) y una planificación RR (quantum=1). b) ¿Cuál es el tiempo de entrega de cada proceso para cada uno de los algoritmos de planificación de la parte a? c) ¿Cuál es el tiempo de espera de cada proceso para cada uno de los algoritmos de planificación de la parte a? d) ¿Cuál de los planes de la parte a da por resultado el mínimo tiempo de espera promedio (sobre todos los procesos)? 8. Considere una variante del algoritmo de planificación Round Robin en donde las entradas en la cola de listos son apuntadores a los Bloques de Control de Procesos. ¿Cuáles serían dos ventajas y dos desventajas importantes de este esquema? 9. ¿Qué ventajas existe al tener diferentes tamaños de quantum en los diferentes niveles de un sistema de colas de niveles múltiples? A interactuar en el EVA Ingrese al campus virtual que se encuentra en la siguiente dirección: http://www.utpl. edu.ec y dé respuesta a la pregunta que se ha previsto como parte del foro, su aporte es importante y calificado. En este momento a desarrollar los ejercicios propuestos Para reforzar el nivel de conocimientos del presente capítulo se deben realizar los siguientes ejercicios seleccionados por los profesores para mejorar su entendimiento. Nuevamente nos permitimos invitar a interactuar con sus compañeros y profesores a través del EVA. • Ejercicios 5.1, 5.4, 5.5, 5.6 Ir a solucionario 42 PRIMER BIMESTRE Guía didáctica: Sistemas Operativos UNIDAD 5: SINCRONIZACIÓN DE PROCESOS El propósito de esta unidad es analizar soluciones tanto de software como de hardware para el problema de las secciones críticas. Esta unidad tiene correspondencia con el capítulo 6 del texto básico. Continuemos…. 5.1.Fundamentos Iniciemos, lea y comprenda la sección 6.1 Fundamentos, del texto básico. Un proceso es cooperativo si puede afectar o ser afectado por los otros procesos que se están ejecutando en el sistema. La cooperación entre procesos requiere: la ejecución concurrente de los mismos, mecanismos de comunicación y mecanismos de sincronización. 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 sección crítica, que es el segmento de código que accede a los recursos. Solo puede haber una sección crítica en ejecución 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. 5.2. La sección crítica El problema de la sección crítica consiste en diseñar un protocolo que los procesos puedan usar para cooperar de esta forma. Le invitamos a revisa la sección 6.2 El problema de la sección crítica, del texto básico para que comprenda este problema. Cualquier solución al problema de la sección crítica deberá satisfacer los tres requisitos siguientes: Exclusión mutua.- Si el proceso Pi está ejecutándose en su sección crítica, los demás procesos no pueden estar ejecutando sus secciones críticas. Progreso.- Si ningún proceso está ejecutando su sección crítica, y algunos procesos desean entrar en sus correspondientes secciones críticas, solo aquellos procesos que no estén ejecutando sus secciones restantes pueden participar en la decisión de cuál será el siguiente que entre en su sección crítica, y esta selección no se puede posponer indefinidamente. Espera limitada.- Existe un límite en el número de veces que se permite que otros procesos entren en sus secciones críticas después de que un proceso haya hecho una solicitud para entrar en su sección crítica y antes de que la misma haya sido concedida. Se usan dos métodos generales para gestionar las secciones críticas en los sistemas operativos: 1. Kernels apropiativos.- Permite que un proceso sea desalojado mientras se está ejecutando en modo kernel. 43 Guía didáctica: Sistemas Operativos 2. PRIMER BIMESTRE Kernels no apropiativos.- No apropiativo no permite que un proceso que se esté ejecutando en modo kernel sea desalojado. Sugerimos leer la sección 6.3 Solución de Peterson, del texto básico, en donde se detalla una solución al problema de la sincronización de procesos, esta sección no será tomada en cuenta en las evaluaciones a distancia ni presencial. Desarrolle un tabla comparativa entre kernel apropiativos y kernel no apropiativos. 5.3. Hardware de sincronización Lea la sección 6.4 Hardware de sincronización, del texto básico. En sistemas de un procesador, el problema de las secciones críticas podría ser resuelto simplemente si pudiéramos deshabilitar las interrupciones mientras una variable compartida está siendo actualizada. Esta solución no es factible para un sistema con varios procesadores debido a la demora que implica el paso de mensajes. En muchos sistemas existen instrucciones de hardware que pueden ser usadas para resolver el problema de las secciones críticas. Estas instrucciones permiten ejecutar atómicamente las operaciones de: • • chequear y modificar el contenido de una palabra, o intercambiar el contenido de dos palabras 5.4.Semáforos Las soluciones por hardware presentadas no son fáciles de generalizar a problemas más complejos. Para entender cómo funciona esta solución usted debe revisar la sección 6.5 Semáforos, del texto básico. Esta dificultad se puede superar usando una herramienta de sincronización llamada semáforo. Un semáforo S es una variable entera que solo es accedida a través de dos operaciones atómicas: wait y signal. wait(S): while S <= 0 do noop S := S - 1; signal(S): S := S +1; 5.5. Problemas clásicos de sincronización Recuerde usted debe dominar la concepción de estos problemas de sincronización. • • • Buffer finito Lectores y escritores Filósofos comensales 44 PRIMER BIMESTRE Guía didáctica: Sistemas Operativos Le incitamos a revisar la sección 6.6 Problemas clásicos de sincronización, del texto básico, ¿cómo le fue con la lectura? qué 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 tamaño N Semáforo mutex inicializado en 1 Semáforo full inicializado en 0 Semáforo 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 comprensión de este problema. • • • Una zona de memoria es compartida por varios procesos concurrentes Lectores – solo leen datos; no efectúan actualizaciones de datos Escritores – pueden leer y escribir Problema – permitir a múltiples lectores leer simultáneamente; solo un escritor puede acceder a los datos en forma simultánea. • Recursos compartidos Datos Semáforo mutex inicializado en 1. Semáforo wrt inicializado en 1. Entero readcount inicializado en 0. Problema de los lectores 3 variantes: (1) Los lectores tienen prioridad Muerte por inanición de los escritores (2) Los escritores tienen prioridad Muerte por inanición de los lectores (3) Lectores y escritores tienen la misma prioridad No hay problemas de inanición El problema de los filósofos comensales Mientras lee este apartado defina los siguientes conceptos y algoritmos presentados. Utilice un diagrama de flujo de datos para cada una de las soluciones planteadas en el texto básico para recrear y mejorar la comprensión de este problema. 45 Guía didáctica: Sistemas Operativos • • • PRIMER BIMESTRE Recursos compartidos Fuente de arroz (datos) Semáforos chopstick [5] inicializados en 1 5.6.Monitores Otro método de solucionar los problemas de sincronización son los monitores, para que comprenda este mecanismo lo invitamos a revisar la sección 6.7 Monitores, del texto básico. Ahora recordemos, ¿Qué son los monitores? Son mecanismos de sincronización de nivel más alto que los semáforos. La construcción se realiza a nivel de lenguaje de programación que controla el acceso a datos compartidos. Un tipo monitor tiene un conjunto de operaciones definidas por el programador que gozan de la característica de exclusión mutua dentro del monitor. Revise y haga un diagrama de flujo para el problema de la CENA DE LOS FILÓSOFOS usando el texto básico con la solución de monitores. Este es el final del primer bimestre. No olvide ingresar al Entorno Virtual de Aprendizaje para intercambiar ideas con sus compañeros profesores. Como última estrategia de aprendizaje sugerimos revisar nuevamente sus notas y los ejercicios que ha desarrollado como actividades complementarias y en su evaluación a distancia. Autoevaluación 5 ¿Cuánto he aprendido? Desarrollemos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de la presente autoevaluación. 1. El concepto de semáforo es: a) b) c) d) 2. La región crítica es: a) b) c) d) 46 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 selección de trabajos a cargar en memoria principal. Es una variable entera a la que, una vez asignado un valor inicial, solo puede accederse a través de dos operaciones atómicas estándar. El conjunto de instrucciones que delimitan la actualización de una o más variables compartidas. Cuando un proceso permite temporalmente a los demás de utilizar la sección compartida. El conjunto de instrucciones que permiten trabajar con secciones compartidas. Una región que existe en memoria virtual. Guía didáctica: Sistemas Operativos PRIMER BIMESTRE 3. Si el proceso se está ejecutando en su sección crítica los demás procesos no pueden estar ejecutándose en sus secciones críticas, significa que existe un estado de a) Exclusión mutua b)Sincronización c) Bloqueo mutuo d) Sección crítica 4. Seleccione los problemas de sincronización en los cuales la utilización de semáforos es una solución 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 filósofos 5. ¿Una solución al problema de la sección crítica debe satisfacer los siguientes requerimientos? 6. ¿Cuáles son las principales características de los semáforos? 7. ¿Cuál es la principal función de los monitores? 8. ¿Cuáles son las principales reglas de sincronización que se utilizan en JAVA? A reforzar nuestro conocimiento con los ejercicios propuestos ¡Vamos! ¡ánimo! Resuelva los siguientes ejercicios propuestos en el texto básico al final del capítulo 6. • Ejercicios 6.3, 6.8, 6.9, 6.11, 6.12 A compartir nuestro conocimiento de la materia a través del Campus Virtual El final del primer bimestre es una de las etapas de mayor interactividad en el campus virtual, interactúe con sus compañeros y responda al foro que ha sido creado para esta unidad. Ir a solucionario 47 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE SEGUNDO BIMESTRE 7.1. Planificación para el trabajo del alumno COMPETENCIAS ESPECÍFICAS OBJETIVOS DE APRENDIZAJE CONTENIDOS Unidades/Temas CRONOGRAMA ORIENTATIVO Tiempo estimado • Explicar en qué CAPÍTULO 6: Semana 9: momentos se Interbloqueo de procesos 4 horas de puede producir un 6.1. Modelo del sistema autoestudio y 4 de interbloqueo. interacción. 6.2. Caracterización de los • Analizar las interbloqueos posibles soluciones para un 6.3. Métodos para tratar interbloqueo. interbloqueos • Demostrar si 6.4. Prevención de un conjunto interbloqueos de procesos se encuentran en un 6.5. Detección de interbloqueo. interbloqueos 6.6. Recuperación de interbloqueos •Resolver problemas de asignación de memoria. Administrar infraestructura de redes y telecomunicaciones • Clasificar los diferentes en una organización. métodos de asignación de memoria. UNIDAD 7: Gestión de memoria 7.1. Fundamentos de gestión de memoria principal 7.2.Intercambio 7.3. Asignación de memoria contigua 7.4.Paginación 7.5.Segmentación Semana 01 y 11: 8 horas de autoestudio y 8 de interacción. ACTIVIDADES DE APRENDIZAJE - Lea compresivamente el capítulo 7 del texto básico y las orientaciones de la presente guía. - Conteste las preguntas que se realizan en la guía. - Revise los anuncios en el EVA. - Participe del foro (EVA). - Resuelva la autoevaluación 6. - Inicie el desarrollo de la evaluación a distancia. - Lea compresivamente el capítulo 8 del texto básico y las orientaciones de la presente guía. - Revise el material de apoyo que está en el EVA. - Citar las funciones del gestor de memoria. - Realice los ejercicios citados en la guía. - Señale las estructuras que utiliza el sistema operativo para la paginación y explique para qué sirve cada una de ellas. - Indique las ventajas que tiene el esquema de segmentación. - Resuelva la autoevaluación 7. - Continúe con el desarrollo de la evaluación a distancia 49 Guía didáctica: Sistemas Operativos • Definir qué es una memoria virtual. SEGUNDO BIMESTRE UNIDAD 8: Memoria virtual • Explicar en qué circunstancias es necesario o conveniente utilizar una memoria virtual. 8.1. Fundamentos de gestión de memoria virtual • Aplicar los diferentes métodos de asignación de memoria virtual. 8.3. Sustitución de páginas Semana 12 4 horas de autoestudio y 4 de interacción. 8.2. Paginación por demanda 8.4. Asignación de marcos 8.5.Sobrepaginación - Estudie con atención el contenido de esta nueva unidad en el texto básico y la guía. - Revise los anuncios del EVA. - Indique: ¿cuál es el esquema básico del reemplazo de páginas? - Realice un cuadro comparativo entre los algoritmos de reemplazo. - Indique: ¿cómo se puede resolver el problema de sobrepaginación? - Resuelva la autoevaluación 8. Analizar, diseñar, validar, instalar y mantener redes de computadoras en diferentes áreas dentro de una organización. - Continúe con el desarrollo de la evaluación a distancia • Listar y enumerar los mecanismos de accesos en los sistemas de archivos. UNIDAD 9: Interfaz con el Semana 13: sistema de archivos 4 horas de 9.1. Introducción a los autoestudio y 4 de sistemas de archivos. interacción. • Clasificar las diferentes estructuras de directorios. 9.2. Métodos de acceso • Utilizar los diferentes medios de protección. 9.3. Estructura de directorios 9.4.Protección 9.5. Estructura de un sistema de archivos 9.6. Métodos de asignación 9.7. Administración del espacio libre 9.8. Eficiencia y prestaciones 9.9.Recuperación - Revise el capítulo 10 del texto básico y la guía de estudio. - Revise el material de apoyo subido en el EVA. - Indique: ¿cómo establece una correspondencia entre el sistema de archivos lógico y los dispositivos de almacenamiento secundario físicos? ¿qué se debe hacer para que un sistema de archivos esté disponible para los procesos del sistema? - Realice un cuadro comparativo de los métodos de administración de espacio libre. - Resuelva la autoevaluación 9. - Continúe con el desarrollo de la evaluación a distancia 50 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE • Clasificar los dispositivos de entrada y salida. • Explicar cómo funciona la interface de entrada y salida. Aplicar la lógica matemática en el contexto de las Ciencias de la Computación, con proyección, al diseño de circuitos, programación, análisis y desarrollo de algoritmos. UNIDAD 10: Sistema de Entrada/Salida 10.1.Introducción 10.2.Hardware de E/S Semana 14 4 horas de autoestudio y 4 de interacción. 10.3.Interfaz de E/S - Estudie y comprenda la presente unidad. - Realice un cuadro de los principales aspectos que diferencian cada tipo de dispositivo. - Indique ¿cuáles son las ventajas de utilizar buffer, cachés o spool? 10.4.Subsistema de E/S del kernel - Resuelva la autoevaluación 10. Preparación de la Evaluación Presencial Semana 15 y 16 8 horas de autoestudio - Revise las actividades y evaluaciones realizadas durante todo el bimestre. - Revise el material de apoyo subido en el EVA. - Revise las actividades de interacción del EVA - Recuerde que puede consultar a su profesor las dudas que tenga de la materia. Esto lo puede hacer vía correo electrónico o llamada telefónica. 51 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE UNIDAD 6: INTERBLOQUEOS Recursos educativos multimedia En este segundo bimestre empezaremos aprendiendo como los interbloqueos impiden que un conjunto de procesos concurrentes completen su tarea. Además conocerá los diferentes métodos para prevenir o evitar los interbloqueos en un sistema informático. 6.1. Modelo de sistema Para iniciar el estudio de este tema usted debe leer la sección 7.1 Modelo del sistema, del texto básico. ¿Cómo le fue con la lectura? Bien, ¿verdad? Ahora comprendido el tema es necesario recordar que los sistemas tienen diferentes tipos de recursos, los mismos que son limitados. Estos recursos deben ser distribuidos por el sistema entre los procesos que lo requieran de una forma óptima. Un proceso pueda utilizar un recurso solo en la siguiente secuencia: solicitud, uso y liberación. Tanto la solicitud como la liberación son llamadas al sistema. A continuación escriba las llamadas al sistema que usted recuerde: _____________________________________________________________________________ _____________________________________________________________________________ Usted podrá darse cuenta que cuando un proceso realiza esta secuencia, puede llegar a entrar en un interbloqueo. Explique con sus propias palabras cuando un conjunto de procesos esta en un interbloqueo. Si no lo puede hacer le rogamos volver a leer este apartado. Un ejemplo de la vida real donde se puede observar un bloqueo mutuo es en un cruce de carreteras, en el que los autos son los procesos y las calles son los recursos. Cuando cuatro coches entran en una intersección de caminos como se observa en la figura, cada coche bloquea a otro, por lo que en este caso hay un interbloqueo. Figura 1. Interbloqueos (fuente: http://www.soygik.com/bloqueo-mutuo/) “Un conjunto de procesos se encuentra en un interbloqueo cuando cada proceso del conjunto está esperando por un evento que sólo puede ser provocado por otro proceso del mismo conjunto.” Actividad recomendada: ¿Cuáles son las principales diferencias entre bloqueo mutuo e inanición? 52 SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos 6.2. Característica de interbloqueos Siguiendo con el estudio de esta unidad es necesario que lea y comprenda la sección 7.2 Caracterización de los interbloqueos. ¿Cómo le fue con la lectura? Le resultó fácil comprender el tema ¿Verdad? Ahora que ya tiene una idea sobre el tema, es necesario aclarar algunos puntos. Los interbloqueos se dan como resultado de la concesión incontrolada de recursos del sistema a quienes lo solicitan. Estos recursos pueden ser de dos tipos: a) recursos reutilizables que son utilizados solamente por un proceso cada vez, como por ejemplo la impresora, y b) los recursos consumibles, como por ejemplo el envío de mensajes entre proceso que son producidos y a la vez consumidos por los procesos activos. Además, la situación de interbloqueo surge si se presenta simultáneamente cuatro condiciones: exclusión mutua, retención y espera, no apropiación y espera circular. Es recomendable que utilice los grafos de asignación de recursos para que pueda observar con claridad cuando existe un interbloqueo entre procesos. Actividad recomendada: ¿Explique cada una de las condiciones escenarios para que se produzca un interbloqueo? Exclusión mutua: ________________________________________________________________________ ________________________________________________________________________ Retención y espera ________________________________________________________________________ ________________________________________________________________________ No apropiación ________________________________________________________________________ ________________________________________________________________________ Espera circular ________________________________________________________________________ ________________________________________________________________________ 6.3. Métodos para tratar los interbloqueos Ahora que conoce qué son los interbloqueos y cuáles son las condiciones para que se den, usted revisará en la sección 7.3 Métodos para tratar interbloqueos, los métodos principales para tratarlos que básicamente son tres: • • • Utilizar un protocolo para asegurar que el sistema nunca ingrese al estado de bloqueo mutuo. Permitir que el sistema entre al estado de bloqueo mutuo y luego realizar recuperación. Ignorar el problema y pretender que los bloqueos mutuos nunca ocurren en el sistema. Realice un cuadro comparativo de estos métodos. 53 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 6.4. Prevención de interbloqueos Lea la sección 7.4 Prevención de Interbloqueos, del texto básico, como pudo observar para este método se trata de asegurar que no se dé por lo menos una de las condiciones necesarias para que se produzca un interbloqueo. Analice este método e indique ¿cuál de estas condiciones se las puede omitir? _____________________________________________________________________________ _____________________________________________________________________________________ 6.5. Evasión de interbloqueos En este método se examina el estado de asignación de recursos para que se pueda asegurar que no habrá espera circular. Revise la sección 7.5 Evasión de Interbloqueos, del texto básico. Ahora conteste las siguientes preguntas: • • Indique con un ejemplo cómo se pueden evitar los bloqueos mutuos. ¿Qué es el estado seguro? 6.6. Detección de interbloqueos Para comprender este método lea la sección 7.6 Detección de Interbloqueos, del texto básico. Ahora usted ya conoce como el sistema determina que se ha producido un interbloqueo. Tomando en cuenta que el sistema tiene una sola instancia de cada tipo de recurso o varias instancias de cada tipo de recursos, surge la pregunta: ¿Cómo funciona el algoritmo de detección de interbloqueos en cada caso? Explíquelo a continuación. _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ 6.7. Recuperación de un interbloqueo Luego que el sistema conoce que un conjunto de procesos se encuentra en un interbloqueo, el sistema tiene varias alternativas para recuperarse del mismo. Lea la sección 7.7 Recuperación de un interbloqueo, del texto básico, para que comprenda cada una de estas alternativas y realice una comparación de esta. 54 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE Actividad recomendada: Explique los dos métodos utilizados en la terminación de procesos. En la apropiación 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 autoevaluación, el desarrollo de los ejercicios propuestos y la interacción a través del entorno virtual de aprendizaje. Autoevaluación 6 Es importante desarrollar la autoevaluación para determinar cuáles son los apartados que requieren una lectura adicional. Desarrolle las siguientes preguntas y luego compare con las soluciones desarrolladas al final de la guía. 1. ¿En qué tipos de entornos se dan los problemas de interbloqueos? a)Monoprocesador b)Multiprocesador c)Multiprogramación d)Móviles 2. ¿Cuál de los siguientes son métodos para tratar el problema de interbloqueos? a) b) c) d) 3. ¿Cuáles son las cuatro condiciones necesarias para qué se produzca un interbloqueo? a) b) c) d) 4. 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 planificación SJF. Permitiendo que los dispositivos de E/S tengan una región de memoria no compartida. Exclusión mutua, retención y espera, sin desalojo, espera circular Exclusión mutua, desalojo, colisión, espera circular Colisión, sin desalojo, espera circular, retención y espera Retención y espera, retención y espera, espera circular, bloqueo mutuo Un método alternativo para evitar interbloqueos consiste en requerir información adicional sobre cómo van a ser solicitados los recursos. ( ) Verdadero ( ) Falso 5. Presente una lista de tres ejemplos de bloqueos mutuos que no estén relacionados con un entorno de sistemas de cómputo. 6. ¿Es posible tener un bloqueo mutuo en el que intervengan un solo proceso? Explique su respuesta. 55 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 7. 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. 8. ¿Cuándo se debería invocar el algoritmo de detección de bloqueos? Ahora a reforzar lo aprendido con la resolución de ejercicios Los profesores hemos seleccionado los siguientes problemas propuestos en el texto, desarrollelos. • Ejercicios 7.1, 7.2, 7.4, 7.6, 7.7 Interactividad a través de los foros de Campus Virtual Si alguna parte de los contenidos de esta unidad no están claros o quiere ayudar a sus compañeros y profesores a mejorar la comprensión de este apartado, interactúe a través del campus virtual, su aporte es importante y nos beneficiará a todos. No olvide responder al foro contemplado para la presente unidad. Ahora continuemos con la siguiente unidad. Ir a solucionario 56 SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos UNIDAD 7: MEMORIA PRINCIPAL Recursos educativos multimedia En la unidad 4 se estudió cómo 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 paginación y la segmentación. 7.1.Fundamentos En la sección 8.1 Fundamentos, del texto básico usted podrá conocer los aspectos primordiales de la memoria como es el hardware básico, en este punto debe realizarse las siguientes preguntas: • • • ¿Cuáles son las áreas de almacenamiento a las que el CPU puede acceder directamente? ¿Qué es el rango de direcciones legales? ¿Cómo funciona la protección hardware de las direcciones? Contestadas estas preguntas ahora usted revisará qué es la reasignación de direcciones, en él conocerá los pasos para poder ejecutar un proceso. Finalmente analizará las diferencias entre los espacios de direcciones lógicas y físicas. Así como también el proceso de traducción de direcciones y la intervención de la MMU (Unidad de Gestión de Memoria). Explique con un ejemplo como se realiza la protección 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 sección 8.2 Intercambio, del texto básico. Como ya sabemos, para que un proceso sea ejecutado es necesario que esté en memoria, pero en muchas ocasiones el tamaño de memoria no es suficiente para ejecutar todos los procesos que lo requieren, por lo que se puede utilizar el método de intercambiar los procesos de memoria principal a secundaria y viceversa según las necesidades de ejecución 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 ejecución siempre pasa en memoria principal? ¿Qué es el espacio de intercambio? ¿Qué será necesario que los procesos guarden en el espacio de intercambio para que puedan en un futuro reanudar su ejecución? ¿Qué es el cambio de contexto? ¿Cómo le fue? estamos seguros que acertó a la mayoría, para reforzar este apartado, ahora, realice un flujograma del funcionamiento del proceso de intercambio y sus elementos principales. 57 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 7.3. Asignación de memoria contigua Revise la sección 8.3 Asignación de memoria compartida, del texto básico, comprendido el tema. Recordemos algunos puntos. Al igual que el procesador, la memoria es un recurso que debe ser asignado a diferentes procesos, para ello se debe contar con mecanismos de asignación de memoria, por lo que en este apartado vamos a detallar cuáles son los mecanismos utilizados para cumplir estas funciones. Previo a esto es necesario que conozca que en memoria principal se tiene dos particiones básicas: una para el sistema operativo y otra para los procesos. Para que comprenda los mecanismos de asignación debe revisar el apartado de mapeo de memoria y protección. Puede explicar ¿cómo se realiza la protección de memoria?, si es así usted puede continuar con los siguientes temas. Actividad recomendada: Explique para qué sirve el registro de reubicación Asignación de memoria En la sección de Asignación de memoria encontrará uno de los métodos básicos y sencillos de asignación. ¿Explique en qué consiste? _____________________________________________________________________________________ _____________________________________________________________________________________ Además este tipo de asignación de memoria definirá el grado de multiprogramación. Consulte que es la multiprogramación. Ahora explique qué es la multiprogramación. _____________________________________________________________________________________ _____________________________________________________________________________________ Como usted ya habrá leído, si se utiliza este tipo de asignación de memoria se van a formar agujeros de diferentes tamaños por toda la memoria, por lo cual el sistema tendrá un problema general de asignación dinámica de espacio de almacenamiento. Comprendido este problema conteste las siguientes preguntas: • • ¿Cuáles son los mecanismos de selección de un agujero libre? ¿Cuál sería el más eficiente? Justifique su respuesta. Fragmentación Otro problema que debe manejar un sistema operativo es la fragmentación interna y externa, explique en qué consisten estos dos términos y exponga una posible solución a cada uno. _________________ _____________________________________________________________________________________ _____________________________________________________________________________________ 58 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 7.4.Paginación Lea cuidadosamente la sección 8.4 Paginación, del texto básico, ahora comprendido este tipo de mecanismo de asignación de memoria, realice las siguientes actividades para reforzar el conocimiento: 1) Dominio de conceptos y 2) Desarrollo del ejercicio propuesto. Actividad recomendada: 1) Desglosemos algunas palabras importantes: Marco: ____________________________________________________________ Páginas: ___________________________________________________________ Número de páginas: _________________________________________________ Desplazamiento: ____________________________________________________ Tabla de páginas: ____________________________________________________ Composición de la dirección lógica: ____________________________________ 2) Desarrollemos el presente ejercicio El proceso A está dividido en 5 páginas, ubique las páginas en la memoria física según la tabla de páginas. # de marcos Proceso A 0 ocupada 1 ocupada página 0 2 3 página 1 página 2 página 3 página 4 memoria lógica ocupada 4 0 7 1 2 2 4 3 6 4 11 Tabla de páginas 5 6 7 8 9 10 11 12 memoria física Figura 2: Paginación (fuente: los autores) Al igual que en el método anterior de asignación de memoria, en la paginación también se tiene problemas o inconvenientes, ¿cuáles son los problemas que pudo descubrir usted en la lectura de este apartado? _____________________________________________________________________________________ _____________________________________________________________________________________ Además, en este método se tiene el bit de válido-inválido que permite proteger el espacio de direcciones lógicas. ¿Cómo es utilizado este bit? Finalmente, para finalizar este apartado, lea la sección Páginas compartidas sección 8.4.4 del texto básico, que le permitirá al sistema no duplicar información, cuando dos procesos utilicen los mismos datos o secciones de código, ¿qué le pareció este tema? interesante ¿verdad? 59 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 7.5.Segmentación Leamos y comprendamos la sección 8.6 Segmentación, del texto básico. Desde el punto de vista del usuario la memoria no es la misma que la memoria física real, esto permite diferenciarla entre memoria lógica y memoria física. Este tipo de mecanismos es mucho más fácil para que el usuario pueda comprender su funcionamiento. Ahora lea los apartados Método Básico y Hardware, en ellos se explica claramente cómo funciona la segmentación, ¿Listo? Ahora recordemos: • • • ¿Cómo está compuesta la dirección lógica en un segmento? ¿Qué contiene la tabla de segmentos? ¿Qué es la dirección base y límite del segmento? Para reforzar este tema lea los ejemplos que se presentan en el texto básico. Hemos llegado al final de esta unidad para mejorar y reforzar el conocimiento adquirido es tiempo de responder la autoevaluación, desarrollar los ejercicios propuestos e interactuar con sus profesores y compañeros a través del entorno virtual de aprendizaje. Autoevaluación 7 ¿Cuánto hemos aprendido? Verifiquemos desarrollando las siguientes preguntas de la autoevaluación. Recuerde que si no domina un tema, es necesario volver a revisarlo. A través del EVA se puede también comprobar sus dificultades y logros, en el desarrollo de estas actividades. 1. En segmentación los segmentos tienen longitud a)Fija b) Tamaño de proceso / 2 c) Tamaño de proceso / 4 d)Variable 2. La fragmentación es: a) b) c) d) 3. Los objetivos de un Sistema de Gestión de Memoria son: a) b) c) d) 60 La capacidad del sistema operativo para asignar porciones de memoria que ya están utilizadas. La capacidad del sistema operativo para asignar porciones de memoria que están desaprovechadas o libres. Un mecanismo que genera desperdicio de memoria. Un mecanismo que optimiza el uso del procesador. Proporcionar protección entre los procesos. Ofrecer a cada proceso un espacio lógico propio. Proveer mecanismos para la sincronización de procesos. Planificación de disco. Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 4. Explique la diferencia entre fragmentación interna y externa. 5. ¿En qué consiste la partición estática de memoria? 6. ¿Cuáles son las principales características de la partición dinámica? 7. Dadas las particiones de memoria de 100K, 500K, 200K, 300K y 600K (en ese orden), ¿cómo colocaría 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)? ¿Cuál algoritmo hace el uso más eficiente de la memoria? 8. ¿Por qué la segmentación y la paginación en ocasiones se combinan en un solo esquema? 9. Considere la siguiente tabla de segmentos: Segmento 0 1 2 3 4 Base 219 2300 90 1327 1952 Longitud 600 14 100 580 96 ¿Cuáles son las direcciones físicas para las siguientes direcciones lógicas? a)0,430 b)1,10 c)2,500 d)3,400 e)4,112 10. Realice un cuadro comparativo entre paginación y segmentación. Le sugerimos desarrollar los siguientes ejercicios Para reforzar el nivel de conocimientos de la presente unidad, es importante desarrollar los siguientes ejercicios planteados en el texto básico, los mismos que han sido seleccionados por sus profesores. • Ejercicios: 8.1, 8.3, 8.4, 8.5, 8.7, 8.12 A través del Campus virtual, a compartir nuestros hallazgos, logros e inquietudes. Ingrese al campus virtual que se encuentra en la siguiente dirección: http://www.utpl. edu.ec y dé respuesta a la pregunta que se ha previsto como parte del foro, su aporte es importante. Ir a solucionario 61 Guía didáctica: Sistemas Operativos 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 técnica llamada memoria virtual, que permite al sistema operativo la ejecución de procesos que no se encuentren completamente ubicados en memoria. Le invitamos a revisar el texto básico capítulo 9. 8.1.Fundamentos En la sección 9.1 Fundamentos, del texto básico 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 leído respondamos lo siguiente: ¿Es necesario que el programa este en memoria completamente para su ejecución, en qué casos sí y en qué casos no sería posible? Con el mecanismo de Memoria Virtual ¿Los programas pueden superar la memoria física? Justifique la respuesta. _____________________________________________________________________________________ _____________________________________________________________________________________ 8.2. Paginación bajo demanda Como ya conoce qué es la Paginación será mucho más sencilla la comprensión de este apartado, por favor lea la sección 9.2 Paginación bajo Demanda, del texto básico. Ahora recordemos. Para ejecutar un proceso se debe considerar dos opciones una de ellas la más sencilla pero no muy eficiente es cargar todo el programa en memoria; y, la segunda es cargar la páginas estrictamente necesarias, a esta segunda opción se conoce como Paginación bajo demanda, esta es una técnica que permite implementar el esquema de memoria virtual, utilizando un mecanismo denominado intercambiador, el cual manipula páginas individuales de un proceso. Tomando en cuenta esta introducción lea la sección de paginación bajo demanda. En esta técnica se utiliza un paginador. Explique para qué sirve un paginador. _____________________________________________________________________________________ _____________________________________________________________________________________ En este esquema es necesario tener un soporte de hardware para distinguir las páginas que se encuentran en memoria y las que residen en disco, para este fin se puede utilizar el bit válido-inválido descrito en las unidades anteriores. Actividad recomendada: En el siguiente ejemplo complete la tabla de páginas para determinar cuáles son las páginas que están en memoria. 62 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE Figura 3: Paginación bajo demanda (fuentes: los autores) ¿Qué sucede si el proceso intenta acceder a una página que no ha sido cargada en memoria? ________________________________________________________________________ ________________________________________________________________________ Explique ¿Cómo es tratado este problema? ________________________________________________________________________ ________________________________________________________________________ 8.3. Sustitución de páginas Le invitamos a leer la sección 9.4 Sustitución de páginas, del texto básico para comprender en qué consiste esta técnica. Cuando se está ejecutando un proceso de usuario y se produce un fallo de página, se realizan los siguientes pasos: 1. El sistema operativo determina donde reside la página deseada dentro del disco. 2. Busca un marco libre. En esta fase puede haber dos posibilidades: a) Que si existe marcos libres y B) Que no haya ningún marco libre en la lista de marcos libres. En el siguiente apartado se estudiará como tratar con esta última opción mediante la técnica de sustitución de páginas. Sustitución básica de páginas Este algoritmo modifica la rutina de servicio del fallo de página, visto anteriormente, para incluir este mecanismo de sustitución de páginas. Lea esta sección y describa. ¿Para qué sirve el bit de modificación? 63 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE Sustitución de páginas FIFO La comprensión de este algoritmo no le traerá mayores dificultades ya que es el algoritmo más simple de sustitución y su funcionamiento es intuitivo, “el primero en entrar primero en salir”. Sustitución óptima de páginas Este algoritmo tiene la tasa más baja de fallos entre todos los algoritmos y nunca está sujeto a la anomalía de Belady. Como habrá leído, su fundamento básico esta en sustituir la página que no vaya a ser utilizada durante el período de tiempo más largo, en otras palabras, para este algoritmo se debería conocer la secuencia de peticiones de marco. ¿Cómo se puede lograr? _____________________________________________________________________________________ _____________________________________________________________________________________ Sustitución de páginas LRU El fundamento utilizado en este algoritmo es la página menos recientemente utilizada. “Sustituir la página que no haya sido utilizada durante el período más largo de tiempo.” Sustitución mediante aproximación LRU La implementación de un algoritmo LRU es muy complicada ya que requiere soporte de hardware. Algunos sistemas proporcionan soporte de hardware en forma de un bit de referencia, en el cual están basados algunos algoritmos de aproximación LRU. Lea los siguientes algoritmos descritos en el texto básico para su mayor comprensión: • • • Algoritmo de los bits de referencia adicionales Algoritmo de segunda oportunidad Algoritmo mejorado de segunda oportunidad Para evaluar su comprensión sobre este tema realice un cuadro comparativo entre estos algoritmos. Sustitución de páginas basada en contador Estos algoritmos utilizan un contador de referencia que permite conocer el número de referencias que se hacen a cada página, lea y comprenda cómo funciona el algoritmo de sustitución de páginas LFU y MFU. Realice una breve comparación entre ellos. Usted está en la capacidad de poder realizar sustitución de páginas por lo cual le invitamos a desarrollar la siguiente actividad: Actividad recomendada: Considere la siguiente cadena de referencias a páginas: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 64 SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos ¿Cuántos fallos de página ocurrirían en el caso de los siguientes algoritmos de reemplazo, suponiendo que se tiene cuatro marcos de página? Recuerde que todos los marcos inicialmente están vacíos, por lo que sus primeras páginas únicas costarán un fallo de página cada una. 13. Reemplazo LRU # de fallos de páginas: _________ 14. Reemplazo FIFO # de fallos de páginas: _________ 15. Reemplazo Óptimo # de fallos de páginas: _________ 8.4. Asignación de marcos Lea la sección 9.5 Asignación de marcos, del texto básico, y responda la siguiente pregunta: ¿Cómo asignamos una cantidad fija de memoria libre a los procesos? _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ Como pudo leer, el sistema operativo debe gestionar el número de marcos que se les va a asignar a cada proceso, para ellos existen diferentes algoritmos que ayudarán a determinar cuantos marcos se debe asignar a los procesos, estos algoritmos son: • • • Asignación equitativa Asignación proporcional Asignación global y local 65 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 8.5.Sobrepaginación En este apartado se abordará un problema dado debido a la alta tasa de paginación, para entender este problema lea la sección 9.6 de “Sobrepaginación”, del texto básico, y encuentre cuáles son las causas y qué consecuencias pueden haber con este problema. Revise la figura 9.18 del texto básico y detalle el problema expuesto. _____________________________________________________________________________________ _____________________________________________________________________________________ _____________________________________________________________________________________ Para prevenir la sobrepaginación se debe asignar a los procesos los marcos necesarios. Una técnica para definir este trabajo es el modelo del conjunto de trabajo. Hemos llegado al final de la presente unidad. Les sugiero que desarrolle la autoevaluación y los ejercicios propuestos, recuerde que puede interactuar con sus compañeros y profesores para compartir y aclarar inquietudes que se hayan presentado. Le recordamos desarrollar su trabajo a distancia, interactuar con sus compañeros y profesores. Autoevaluación 8 Le invitamos a desarrollar las siguientes preguntas que le servirán para determinar las áreas en las cuales ha tenido mayor dificultad y necesitan una nueva revisión. 1. ¿Cuáles de las siguientes técnicas y estructuras de programación son “adecuadas” para un ambiente compaginación por demanda? ¿Cuáles no son “adecuadas”? Explique sus respuestas. a.Pila b. Tabla con símbolos dispersa c. Búsqueda secuencial d. Búsqueda binaria e. Código puro f. Operaciones con vectores g.Indirección 2. Considere los siguientes algoritmos de reemplazo de páginas. Clasifique estos algoritmos en una escala de cinco puntos de “malo a perfecto” según su tasa de fallo de páginas. Separe los algoritmos que adolecen de la anomalía de Belady de los que no adolecen de ella. a. b. c. d. 66 Reemplazo LRU Reemplazo FIFO Reemplazo Óptimo Reemplazo de Segunda Oportunidad. Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 3. Las ventajas del uso de la memoria virtual son entre otras: a) b) c) d) 4. Los programas deben tener un tamaño menor que la memoria física. Permite a los programadores no preocuparse por limitaciones de memoria. Es fácil de implementar. Permite la ejecución de procesos que no se encuentren completamente en memoria. Los algoritmos de asignación de marcos de memoria entre procesos son equitativos y proporcionales ( ) Verdadero ( ) Falso 5. ¿Bajo qué circunstancias ocurren los fallos de página? Describa las acciones que toma el sistema operativo cuando ocurre un fallo de página. 6. Suponga que tiene una cadena de referencias a páginas para un proceso con m marcos (todos inicialmente vacíos). La cadena de referencias tiene una longitud p; en ella ocurren n distintos números de página. Responda las siguientes preguntas: a. b. 7. ¿Cuál es un límite inferior en el número de fallos de página? ¿Cuál es el límite superior en el número de fallos de página? Considere los siguiente cadena de referencias a páginas: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 ¿Cuántos fallos de página ocurrirían 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 están vacíos, por lo que sus primeras páginas únicas costarán un fallo de página cada una. • • • Reemplazo LRU Reemplazo FIFO Reemplazo óptimo Ahora le animamos a desarrollar los siguientes ejercicios. Con el propósito de reforzar el nivel de conocimientos de la presente unidad resuelva los siguientes ejercicios propuestos en el texto básico. • Ejercicios: 9.2, 9.13, 9.14, 9.15 Más información, utilice el Campus Virtual No olvide compartir sus experiencias de la materia con todos sus compañeros y profesores. Sus aportes ayudarán a otros compañeros a entender mejor la materia y a sus profesores les ayudará a guiar de mejor manera el proceso de enseñanza y aprendizaje. Ir a solucionario 67 Guía didáctica: Sistemas Operativos 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 protección de los mismos. Iniciemos con nuestro estudio. El propósito de este capítulo es que tenga la capacidad de explicar la función, detallar las interfaces y explorar los mecanismos de protección de los sistemas de archivos. 9.1. Concepto de archivo Antes de adentrarnos a esta unidad le invitamos a revisar la sección 10.1 Concepto de archivo, del texto básico, ahora recordemos estos conceptos: •Archivos • Atributos de archivo • Operaciones con los archivos • Tipos de archivos 9.2. Métodos de acceso Cuando se necesita acceder a información que se encuentra en disco se puede utilizar dos métodos de acceso que son: acceso secuencial y acceso directo. Lea y comprenda estos dos métodos, sección 10.2 Métodos de acceso, del texto básico. ¿Cómo le fue con la lectura? Ahora especifique las características de cada uno de ellos. Método Características Secuencial Directo 9.3. Estructura de directorios En la sección 10.3 Estructura de directorios, del texto básico, usted podrá revisar cuáles son las estructuras de directorios, así que lo invitamos a realizar una lectura comprensiva del mismo. En un “disco duro” usted va a tener una gran cantidad de información la misma que debe ser organizada por medio de directorios. Ahora va a revisar que estructuras de almacenamiento puede tener en un sistema operativo. Estructura de almacenamiento En ocasiones usted deseará colocar múltiples 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 68 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 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 tamaño, a esto se lo conoce como volúmenes, y también podrá crear sistemas de archivos en dichos volúmenes. Cada volumen que contenga un sistema de archivos debe también contener información acerca de los archivos almacenados en el sistema. Esta información se almacena como entradas en un directorio de dispositivo o tabla de contenidos del volumen. Este directorio almacena información de todos los archivos: nombre, ubicación, tamaño y tipo. Introducción a los directorios En esta sección usted podrá conocer las operaciones sobre un directorio, como son: • • • • • • Búsquedas de un archivo Crear un archivo Borrar un archivo Listar un directorio Renombrar un archivo Recorrer el sistema de archivos A continuación va a definir los esquemas más comunes de la estructura lógica de un directorio. Por lo cual lea atentamente estos esquemas y presente en la siguiente tabla sus características e inconvenientes. Esquema Características Inconvenientes Directorios de un único nivel Directorio de dos niveles Directorio con estructura de árbol Directorios en un grafo cíclico Directorio en forma de grado general Revise la sección 10.4 del texto básico, Montaje de sistema de archivos, donde encontrará un ejemplo práctico que le ayudará a mejorar la comprensión sobre este tema. 9.4.Protección Algo muy importante que hay que tener en cuenta es cómo se protege la información que se va a tener almacenada, para esta actividad le invitamos a leer la sección 10.6 Protección, del texto básico. En ella se explica los tipos de acceso que se pueden dar a los archivos y sus controles. 69 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE Le invitamos a revisar el tema de asignación 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: Ningún permiso Escriba el comando que ejecutó para realizar este cambio ............................................................................... 9.5. Método de asignación Al igual que la memoria el sistema necesita tener mecanismos para poder asignar espacio en disco, por ello, en el texto básico, ubíquese en el siguiente capítulo en la sección 11.4 Métodos de asignación y léalo. Es muy importante lograr un aprovechamiento eficaz del espacio en disco, que permita un acceso rápido a los archivos. Los métodos de asignación de espacio más ampliamente usados son: asignación contigua, enlazada e indexada. Comprendidos estos métodos complete el siguiente cuadro. Método Continua Enlazada Indexada 70 Características Ventajas Desventajas SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos 9.6. Gestión del espacio libre Una vez que ha comprendido los métodos de asignación, es tiempo de revisar y leer la sección 11.5 Gestión del espacio libre, del texto básico. ¿Cómo le fue con la lectura? Como se puede dar cuenta para mantener la información sobre los bloques de discos que están libres para ser asignados, se utilizan métodos como: • Vector lista • Lista enlazada •Agrupamiento •Conteo Realice un cuadro comparativo de los métodos de administración de espacio libre. Actividad recomendada: Para reforzar esta unidad revise el siguiente enlace y realice las prácticas que en él se indican en su sistema Ubuntu. http://atc1.aut.uah.es/~arqui/lab/Previa2.html 9.7. Eficiencia y desempeño Luego de haber comprendido las opciones de asignación de bloques y administración de directorios, vamos a analizar su efecto sobre el desempeño y el uso eficiente del disco. El disco por lo general suele ser el componente principal más lento de la computadora, esta deficiencia afecta directamente en el desempeño y la eficiencia del sistema. Para comprender este apartado revise la sección 11.6 Eficiencia y prestaciones, del texto básico, ahora pregúntese. ¿Cuál es la influencia que tiene el disco sobre el desempeño y la influencia? Ahora entiende por qué razón el disco duro puede convertirse en un cuello de botella para el sistema. ¿Qué le pareció? Actividad recomendada: Le invitamos a investigar en Internet y luego a analizar el uso eficiente y de las prestaciones de un disco. 9.8.Recuperación 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 sección 11.7 Recuperación, del texto básico. Como pudo leer, se puede realizar una verificación de consistencia de datos, luego de que existe una caída del sistema, esta verificación permite sincronizar y corregir posibles problemas. Para entender secuencia del proceso de verificación realice un diagrama de flujo de cómo el sistema realiza la verificación de consistencia de datos. 71 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE Otro mecanismo de recuperación son los mecanismos de respaldos y restablecimientos, estos son procesos muy simples, la restauración del sistema de archivo va a basarse en las copias de la información que el usuario tenga del sistema. Actividad recomendada: Investigue qué tipos de respaldos usted puede realizar al sistema de archivos. Le recomiendo revisar el apartado NFS, sección 11.9 del texto básico para una mejor comprensión 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 autoevaluación propuesta a continuación. Autoevaluación 9 Resuelva las siguientes preguntas y revise sus respuestas con las detalladas al final de la guía. Si tuvo problemas con alguna le sugerimos revisar nuevamente dicho apartado. Una vez finalizada la autoevaluación le sugerimos desarrollar los ejercicios propuestos a continuación. 1. Seleccione de la lista los atributos de los archivos a)Nombre b)Dirección c)Tipo d)Ubicación 2. Las bases de datos se suelen implementar en archivos que tienen métodos de acceso: a)Definido b)Secuencial c)Directo d) Enlazado y compartido 3. Las técnicas usadas para mejorar la eficiencia y las prestaciones del almacenamiento secundario son: a) b) c) d) 4. Preasignación de inodos Asignación eficiente del tamaño de los punteros Uso de una memoria cache para el disco Eliminación de directorios e inodos La copia de seguridad y restauración puede realizarse a través de copias completas e incrementales. ( ) Verdadero 72 ( ) Falso Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE 5. Considere un sistema de archivos en donde pueda borrarse un archivo y reclamar su espacio en disco mientras todavía 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? ¿Cómo se pueden evitarse estos problemas? 6. Algunos sistemas automáticamente borran todos los archivos del usuario cuando un usuario se desconecta o el trabajo termina, a menos que el usuario solicite explícitamente que se mantengan los archivos; otros sistemas mantienen todos los archivos a menos que el usuario los borre explícitamente. Presente los méritos relativos de cada enfoque. 7. ¿Cuáles 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)? 8. Proporcione un ejemplo de una aplicación en la que se deba acceder a los datos de un archivo en el siguiente orden: a.Secuencialmente b.Aleatoriamente ¡Vamos! Desarrollemos los siguientes ejercicios: Resuelva los siguientes ejercicios propuestos en el texto básico. Recuerde que la interacción en el EVA, le puede ser de gran ayuda para usted sus compañeros y profesores. • Ejercicios: 10.3, 10.6, 10.7, 10.10, 11.2, 11.7, 11.11 A compartir sus experiencias, hallazgos e inquietudes por el Campus Virtual Ingrese al campus virtual que se encuentra en la siguiente dirección: http://www.utpl. edu.ec y dé respuesta a la pregunta que se ha previsto como parte del foro, su aporte es importante. Ir a solucionario 73 Guía didáctica: Sistemas Operativos 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 qué 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.Introducción En el diseños de un SO, el control de los dispositivos conectados a la computadora es primordial, debido a que los dispositivos cambia en función y velocidad, es necesario implementar diferentes métodos para su control. Estos métodos son parte del subsistema de E/S del kernel, lo que aísla al resto del kernel de su complejidad. Lea la sección 13.1 Introducción, del texto básico, ¿Cómo 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 10.2. Hardware de E/S En la sección 13.2 Hardware de E/S, del texto básico, usted conocerá cómo los dispositivos se comunican con el sistema. Para reforzar el conocimiento le invitamos recordar qué son y para qué sirven los siguientes componentes: •Puerto:__________________________________________________________________________ •Bus:____________________________________________________________________________ •Controlador:_____________________________________________________________________ Como podrá haber leído los dispositivos se pueden clasificar según como se conectan al sistema en: bloques y caracteres. Explíquese cuál es la diferencia. Actividad recomendada: ¿Cómo 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 dirección 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. Realice un cuadro comparativo del mecanismo de escrutinio, interrupciones y acceso directo a memoria. 74 SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos 10.3. Interfaz de E/S Lea la sección 13.3 Interfaz de E/S de las aplicaciones, del texto básico, en esta sección usted examinará las técnicas de estructuración y las interfaces desarrolladas para el sistema operativo que permiten tratar a los dispositivos de E/S en una forma estándar y uniforme. Un problema complejo de ingeniería de software con el que se encontrará es la abstracción, encapsulado y desarrollo de capas de software. Mediante el proceso de abstracción el sistema operativo puede eliminar las diferencias específicas de los dispositivos de E/S. La abstracción permite simplificar el trabajo del diseñador del sistema operativo, ya que da libertad de desarrollar nuevos dispositivos, simplemente cumpliendo con las características de la interfaz definida por el controlador. Comprendido esto le invitamos a realizar un diagrama de flujo donde se exponga los componentes del Sistema de E/S y explique cómo funciona este. Recuerde que los dispositivos varían en muchas características como son: • Modo de transferencia • Método de acceso • Plan de transferencia •Compartimiento •Velocidad • Dirección de E/S 10.4. Subsistema de E/S del kernel Finalmente lea la sección 13.4 Subsistema de E/S del kernel, del texto básico. El kernel ofrece algunos servicios relacionados con la E/S con el fin de mejorar la eficiencia del computador. Estos servicios son: • Planificación de las operaciones de E/S. • Uso de buffers, cachés y spool con el fin, de entre otras cosas mejorar el acceso a la memoria principal. Como pudo observar, algunos de los puntos importantes de la planificación de operaciones de E/S son: • Determinar un orden adecuado para la ejecución de las solicitudes de E/S. • Mejora el desempeño global del sistema. Compartiendo equitativamente el acceso a dispositivos entre los procesos y reducir el tiempo de espera promedio para la terminación de E/S. • Los diseñadores de SO implementan la planificación manteniendo una cola de solicitudes para cada dispositivo, puede darle prioridad a las solicitudes sensibles a demoras. Realice un cuadro comparativo del uso del buffer, caché y spool, identificando sus características, beneficios y usos. 75 Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE Ahora le animamos a desarrollar las preguntas de la autoevaluación, desarrollar los ejercicios propuestos e interactuar con sus compañeros y profesores a través del entorno virtual de aprendizaje. Hemos finalizado con el estudio de la presente unidad y de la materia. Es tiempo de revisar su evaluación a distancia y prepararla para el envío a sus profesores. Recuerde que su evaluación a distancia es calificada y obligatoria. Autoevaluación 10 Hemos finalizado el estudio de esta unidad, como medidor de asimilación de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de autoevaluación y luego compare sus respuestas con las que están al final de la presente guía. 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) Puerto (punto de conexión) b)Controladora c) Manejo de interrupciones d) Acceso directo a memoria 3. Una unidad de CD-ROM tiene las siguientes características: a) b) c) d) 4. Modo de transferencia de datos es a través de bloques. Método de acceso es secuencial. Soporta solo lectura. Forma de transferencia es asíncrona. Seleccione qué procedimientos supervisa el subsistema de entrada y salida: a) b) c) d) Control de acceso a los archivos y dispositivos. Planificación de E/S. Asignación de dispositivos. Almacenamiento en cache y gestión de colas de impresión. 5. Mencione tres ventajas de colocar funcionalidad en un controlador de dispositivo, en lugar de hacerlo en el kernel. Indique tres desventajas. 6. Considere los siguientes escenarios de E/S en una PC de un solo usuario. a) b) 76 Un ratón utilizado con una interfaz gráfica de usuario. Una unidad de cinta en un sistema operativo multitarea (suponga que no se cuenta con asignación previa de dispositivos). Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE Para cada uno de estos escenarios de E/S, ¿diseñaría el sistema operativo para que empleara buffers, spool, cachés o una combinación de ellos? ¿Emplearía E/S con escrutinio o E/S activada por interrupciones? Mencione las razones para tomar sus decisiones. 7. Describa tres circunstancias en las cuales debería emplearse E/S con bloqueo. 8. ¿De qué forma el DMA aumenta la concurrencia del sistema? ¿En qué forma complica el diseño del hardware? Interactividad a través de los foros de Campus Virtual Es importante para todos sus compañeros y profesores que compartan sus inquietudes, hallazgos, propuestas relacionadas con la materia. No olvide de ingresar al campus virtual que se encuentra en la siguiente dirección: http://www.utpl.edu.ec y dé respuesta a las preguntas que se han previsto como parte del foro, su aporte es importante. Recuerde que su interacción a través del Entorno Virtual de Aprendizaje es calificado y la nota correspondiente es parte de su evaluación a distancia. Desarrollo de ejercicios del texto básico Para reforzar el nivel de conocimientos del presente capítulo se deben realizar las siguientes actividades y/o ejercicios propuestos en el texto básico, si tiene alguna dificultad, publíquela en el EVA con la ayuda de sus compañeros y de los profesores se desarrollará las respuestas a las mismas. Los ejercicios que han sido seleccionados por los profesores son los siguientes: • Ejercicios 13.2, 13.5, 13.6, 13.7 Ir a solucionario 77 Guía didáctica: Sistemas Operativos SOLUCIONARIO 8.Solucionario UNIDAD 1 Pregunta Respuesta 1 A y B: Un sistema operativo es un programa que administra el hardware de un computador y es intermediario entre el usuario y el hardware de la computador. 2 a) Mientras más procesadores existen es más complejo asignar el uso del mismo a los diferentes procesos. 3 a, b,c, d) Todos los elementos listados deben ser manejados por el sistema operativo. 4 c) Tiene que ver con procesos y el manejo de los mismos. 5 6 7 78 • Tiempo de reserva de la máquina • Cargar manualmente el programa en memoria. • Cargue la dirección de inicio y comience la ejecución. • Monitorear y controlar la ejecución del programa desde consola. La multiprogramación 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 utilización de la CPU siempre teniendo alguna tarea para que la CPU ejecute. 7.1 • 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 reemplaza el lector de tarjetas por discos. Por lo que surge la planificación de trabajos y la multiprogramación. 7.2 • Permite a varios usuarios compartir la computadora simultáneamente. • La CPU cambia rápidamente de un usuario a otro. 7.3 • Son utilizados cuando existen requerimientos rígidos de tiempo sobre la operación de un procesador. • Utilizado en un uso dedicado. • Este sistema debe responder dentro de una cantidad de hora fija de asegurar funcionamiento correcto. 7.4 • Proporciona un ambiente en el que los usuarios, quienes tienen presente la multiplicidad de máquinas, pueden acceder a recursos remotos. SOLUCIONARIO 8 Guía didáctica: Sistemas Operativos 7.5 • Este sistema distribuye el cómputo entre varios procesadores físicos. • Los procesadores no comparten memoria o un reloj. En lugar, cada procesador tiene su propia memoria local. • Se comunican a través de varias líneas de comunicación, tales como una línea de alta velocidad o telefónica Cuando hay pocos usuarios, la tarea es grande, y el hardware es rápido. Las capacidades del sistema se pueden aplicar en el problema del usuario. El problema se puede solucionar más rápidamente 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 pequeño ser ejecutado razonablemente en él y cuando el funcionamiento es suficiente ejecutar el programa a la satisfacción del usuario. 79 Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 2 Pregunta Respuesta 1 d) La división del trabajo en capas permite a los desarrolladores implementar funciones específicas, sin preocuparse del resto de capas. 2 a) Los sistemas por lotes permiten agrupar comandos del sistema en un solo archivo y ejecutarlo en bloque. 3 d) La implementación de una máquina involucra el conocimiento del hardware base lo que complica su implementación, además una vez implementada por lo general hace que el rendimiento de la máquina anfitrión disminuya. 4 Verdadero. Las llamadas al sistema son el mecanismo mediante el cual el sistema operativo da los servicios a los usuarios y procesos. 5 Lee comandos del usuario o de un archivo de comandos y los ejecuta, generalmente alternándolos en unas o más llamadas del sistema. No es generalmente parte del núcleo puesto que el intérprete del comando está conforme a cambios. 6 Las llamadas del sistema permiten que los procesos de usuario soliciten servicios del sistema operativo. 7 8 9 80 Proporcionan funcionalidad básica a los usuarios y así que los usuarios no necesitan escribir sus propios programas para solucionar problemas comunes. Como en todos los casos del diseño modular, diseñar un sistema operativo de una manera modular tiene varias ventajas. En el sistema es más fácil de eliminar errores y de modificarse porque los cambios afectan solamente a las secciones o capa específica. Se guarda la información solamente donde es necesaria y es accesible únicamente dentro de un área definida y con restricción. Las ventajas incluyen típicamente: (a)Si se agrega un nuevo servicio no requieren la modificación del núcleo. (b)Es más seguro como más operaciones se hacen en modo del usuario que en modo del núcleo (c)Un diseño y una funcionalidad más simples del núcleo da lugar típicamente a un sistema operativo más confiable. Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 3 Pregunta Respuesta 1 d) Las razones para culminar un proceso son error de ejecución, tiempo excedido y violación de límites. 2 a) y d) Refiérase a la figura 3.2 del texto básico Estados de un proceso. 3 Falso. El planificador a corto plazo selecciona los procesos que ya están preparados para ser ejecutados y asigna la CPU a uno de ellos 4 5 6 7 8 c) Son los que pueden afectar o ser afectados por los demás procesos que se ejecutan en el sistema. Planificación de corto plazo: Selecciona trabajos en memoria esos trabajos deben estar listos a ejecutarse y se asigna la CPU a ellos. Planificación a Mediano plazo: Es utilizado especialmente con los sistemas en tiempo compartido como nivel de planificación intermedia. En este esquema se utiliza el swaping para lo cual quita parcialmente programas de memoria principal y los reinstala más adelante para continuar donde fueron apagados. Planificación 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 ejecución: 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. En general, el sistema operativo debe conservar el estado actual de funcionamiento del proceso y restaurar el estado del proceso para que siga funcionado después. Ahorrar el estado de un proceso incluye típicamente los valores de todos los registros de la CPU además de la asignación de memoria. Los cambios de contexto deben también realizar muchas operaciones, específicas de arquitectura, incluyendo eliminación de datos e instrucciones de caché. • Los hilos de nivel de usuario son desconocidos por el núcleo, mientras que el núcleo 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. La conmutación de contexto entre los hilos de del kernel requiere típicamente 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. 81 Guía didáctica: Sistemas Operativos 9 82 SOLUCIONARIO Porque un hilo es más pequeño que un proceso, la creación del hilo utiliza típicamente menos recursos que la creación de proceso. Crear un proceso requiere la asignación 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 de entorno. La asignación y el manejo del mapa de memoria es típicamente la actividad más desperdiciadora de tiempo. Crear un usuario o el hilo del kernel implica el asignar de una estructura de datos pequeña para llevar a cabo un sistema, una pila y una prioridad del registro. Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 4 Pregunta 1 2 Respuesta b) El algoritmo de planificación de procesos que realiza una asignación equitativa del tiempo de procesador es Round Robin. d) El algoritmo de planificación que despacha primero al proceso más antiguo es FIFO. 3 a), c) y d) son los criterios que utilizan los algoritmos para la planificación de la CPU 4 c) En sistemas multiprocesador en el que capa procesador se auto-planifica 5 n! (n factorial = n n – 1 n – 2... 2 1) 6 El programar con planificación apropiativa preferente permite que un proceso sea interrumpido en medio de su ejecución, eliminando la CPU y asignándola a otro proceso. El programar con planificación no apropiativa de antemano se asegura de que un proceso abandona el control de la CPU solamente cuando acaba con su ejecución actual en la CPU. a) FIFO 1 2 3 4 5 RR 1 2 3 4 5 1 3 5 1 5 1 5 1 5 SJF 2 4 3 5 1 Prioridad 2 5 1 3 4 b) 7 FIFO RR SJF PRIORIDAD P1 10 19 19 16 P2 11 2 1 1 P3 13 7 4 18 P4 14 4 2 19 P5 19 14 9 6 c) FIFO RR SJF PRIORIDAD P1 0 19 9 6 P2 10 1 0 0 P3 11 5 2 16 P4 13 3 1 18 P5 14 9 4 1 d)SJF 83 Guía didáctica: Sistemas Operativos 8 9 84 SOLUCIONARIO La ventaja es que trabajos más importantes se podrían dar más tiempo, es decir una prioridad más alta en el tratamiento. La consecuencia, por supuesto, es que trabajos más cortos sufrirán. Los procesos que se necesitan más frecuentemente tal como procesos interactivos pueden estar en una cola con un quantum pequeño del tiempo. Los procesos con ninguna necesidad del mantenimiento frecuente pueden estar en una cola con un quantum más grande, requiriendo pocos interruptores del contexto terminar el proceso, haciendo un uso más eficiente de la computadora. Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 5 Pregunta 1 2 3 4 5 Respuesta d) El semáforo es una variable entera a la que, una vez asignado un valor inicial, solo puede accederse a través de dos operaciones atómicas estándar. c) La región es el conjunto de instrucciones que permiten trabajar con secciones compartidas. a) La exclusión mutua se da cuando el proceso se está ejecutando en su sección crítica los demás procesos no pueden estar ejecutándose en sus secciones críticas. a) y d) Los problemas de sincronización en los cuales la utilización de semáforos es una solución son el problema de la cena de los filósofos y el problemas de los lectores-escritores. • Exclusión mutua: Si el hilo T se está ejecutando en su sección crítica, entonces ningún otro hilo puede estar en la misma ejecución. • Progreso: Si ningún hilo se está ejecutando en su sección crítica y existen algunos hilos que desean entrar a sus secciones críticas, entonces solo aquellos hilos que no se están ejecutando en su sección no crítica pueden participar en la decisión acerca de cuál entrará a su sección crítica a continuación, y esta selección no puede posponerse de manera indefinida. • Espera limitada: Existe un límite sobre el número de veces que otros hilos tienen permitido entrar a su sección crítica después de que un hilo ha hecho una solicitud para entrar a su sección crítica y antes de que se conceda dicha solicitud. Este límite evita la inanición de cualquier hilo individual. Disciplina de servicio: Puesto que un proceso puede quedar bloqueado debido a la competencia con otros, generándose así un aplazamiento indefinido (bloqueo activo), se hace necesario seguir una disciplina de servicio adecuada, que no sea sesgada. Por tanto, la postergación de procesos puede evitarse añadiendo, el siguiente requisito a la implementación de semáforo: “Una petición para entrar a la sección crítica debe ser concedida en tiempo finito”. 6 Granularidad de los semáforos: Utilizada para controlar el paralelismo; así, la granularidad fina se logra dedicando un semáforo separado para proteger cada recurso compartido específico, por otro lado la granularidad más gruesa se tiene si cada semáforo protege una colección de recursos compartidos. Al proteger un solo recurso, se logra que solo un proceso a la vez pueda acceder al recurso pero se consume más almacenamiento y tiempo de ejecución. Protegiendo un conjunto de recursos, se reducirían los recursos que consumen pero se afectaría el grado de paralelismo entre procesos concurrentes, haciendo que procesos que no utilizan recursos comunes tengan que esperar innecesariamente. 85 Guía didáctica: Sistemas Operativos 7 8 SOLUCIONARIO Controlar la concurrencia y naturaleza de la operaciones relacionadas sobre los datos, es decir, control sobre lo que se hace sobre los datos compartidos, haciéndolos accesibles únicamente mediante un conjunto de procedimientos públicamente disponibles. • Un hilo que posee la cerradura de un objeto puede entrar a otro método o bloque syncrhonized del mismo objeto. • Un hilo puede anidar invocaciones al método syncrhonized para diferentes objetos. Por lo tanto, un hilo posee simultáneamente la cerradura de varios objetos diferentes. • Si no se declara un método como syncrhonized, entonces puede ser invocado independiente de la posesión de la cerradura, aun cuando se esté ejecutando otro método syncrhonized para el mismo objeto. • Si el conjunto de espera para un objeto está vacío, entonces una llamada notify() o notifyAll() no tiene efecto alguno 86 Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 6 Pregunta 1 2 3 4 5 Respuesta c) Los problemas de interbloqueos se dan en entornos de multiprogramación. a) y b) El problema de interbloqueos se puede evitar con la utilización de un protocolo o ignorando el problema. a) Las condiciones necesarios para que se produzca un interbloqueo son: exclusión mutua, retención y espera, sin desalojo, espera circular. Verdadero. Un método alternativo para evitar interbloqueos consiste en requerir información adicional sobre cómo van a ser solicitados los recursos. • Dos coches que cruzan un puente de una sola vía 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. 6 7 8 No. Ya que esto no cumple con la condición de retención y espera. Suponga que el sistema está estancado. Esto implica que cada proceso está ocupando un recurso y está esperando uno más. Puesto que hay tres procesos y cuatro recursos, un proceso debe poder obtener dos recursos. Este proceso no requiere no más de recurso y, por lo tanto volverá sus recursos cuando está hecho. Depende de dos factores: •Frecuencia: Probable de que ocurra un bloqueo mutuo. • Número de procesos: Se verán afectados por un bloqueo mutuo cuando esté presente. 87 Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 7 Pregunta Respuesta 1 a) En segmentación los segmentos tiene longitud variable. 2 b) La fragmentación es un mecanismo que genera desperdicio de memoria. 3 a) y b) Los objetivos de un Sistema de Gestión de Memoria son protección y ofrecer un espacio lógico a los procesos. 4 La fragmentación interna es el área en una región o una página que no se ha utilizado por el trabajo que ocupa esa región o página. Este espacio es inasequible para el uso por el sistema hasta que se acaba ese trabajo y se lanza la página o la región. • Se divide a la memoria principal en un conjunto de regiones no sobrepuestas llamadas particiones. • Las particiones pueden ser de tamaños iguales o no. • Cualquier proceso cuyo tamaño sea menor o igual que el tamaño de una partición puede ser cargado. 5 • Si todas las particiones están ocupadas, el sistema operativo puede intercambiar un proceso fuera de una partición. • Un programa puede ser demasiado grande para caber en una partición. El programador debe entonces diseñar el programa con soporte para overlays. • El uso de la memoria principal es ineficiente. Un programa, cualquiera sea su tamaño ocupa una partición entera. Esto es llamado fragmentación interna. • El esquema de particiones no iguales disminuye el problema pero no lo elimina. • El número de particiones y su tamaño es variable. • Cada proceso es alocado en una partición del tamaño exacto necesario. 6 • Se forman áreas libres en espacios de memoria al azar. Esto se llama fragmentación externa. • Se usan técnicas de compactación. • Debido al swapping y a la compactación, un proceso puede ocupar diferentes locaciones de memoria principal durante su ciclo de vida, por tanto las referencias a memoria física no pueden ser fijas, esto se resuelve distinguiendo entre direcciones lógicas y físicas. 88 Guía didáctica: Sistemas Operativos SOLUCIONARIO 7 Primer ajuste: a. 212K se pone en la partición de 500K. b. 417K se pone en la partición 600K. c. 112K se pone en la partición de 288K (nueva partición 288K = 500K - 212K) d. 426K debe esperar. Mejor ajuste: a. 212K se pone en la partición de 600K. b. 417K se pone en la partición de 500K c. 112K se pone en la partición 200K. d. 426K se pone en la partición de 600K . Peor ajuste: a. 212K se pone en la partición de 600K. b. 417K se pone en la partición de 500K. c. 112K se pone en la partición de 388K. d. 426K debe esperar En este ejemplo, Mejor ajuste resulta ser el mejor. 8 9 10 La segmentación y la paginación se combinan a menudo para mejorar su eficacia entre sí. La Paginación segmentada es provechosa cuando la tabla de página llega a ser muy grande. La segmentación paginada maneja mejor el caso de tener segmentos muy largos que requieran mucho tiempo para la asignación. Paginando los segmentos, reducimos la memoria pérdida debido a la fragmentación externa así como simplificamos la asignación. a. 219 + 430 = 649 b. 2300 + 10 = 2310 c. Referencia Ilegal, trampa en el sistema operativo. d. 1327 + 400 = 1727 e. Referencia ilegal, trampa en el sistema operativo. Visión del programador Espacios de direcciones Mem. Virtual Mem. Física Protección Código !=Datos Crecimineto Compartición Objetivo Fragmentación Paginación No 1 Si No No No Segmentación Si Varios Si Si Si Si Visión del usuario, Espacio lineal de compartición y direcciones protección Interna EXterna 89 Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 8 Pregunta Respuesta Técnica/Estructura de programación Pila Buenas Malas x Tabla de símbolos dispersa 1 x Búsqueda secuencial x Búsqueda binaria x Código puro x Operaciones con vectores x Indirección Puntuación Algoritmo Sufre anomalía de Belady 1 Óptimo No 2 LRU Segunda oportunidad FIFO No 2 3 4 3 4 5 6 7 90 x Si Si c) y d) Las ventajas del uso de la memoria virtual son entre otras la facilidad de implementación y la ejecución de procesos que no se encuentren completemanente en memoria. Verdadero. Los algoritmos de asignación de marcos de memoria entre procesos son equitativos y proporcionales. Un fallo de página ocurre cuando hay un acceso a una página que no se ha traído a memoria principal. El sistema operativo verifica el acceso de memoria, abortando el programa si es inválido. Si es válido, se localiza un marco libre de E/S se solicita leer la página necesaria en el marco libre. Sobre la terminación de E/S, la tabla de proceso y la tabla de página son actualizadas y se recomienza la instrucción. a)n b)p Número de Marcos LRU FIFO Óptimo 1 20 20 20 2 18 18 15 3 15 16 11 4 10 14 8 5 8 10 7 6 7 10 7 7 7 7 7 Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 9 Pregunta 1 2 3 4 Respuesta a), c) y d) Los atributos de los archivos son nombre, tipo, ubicación, tiempo de acceso, tiempo de creación. c) Las bases de datos se suelen implementar en archivos que tienen métodos de acceso directo. a), b) y c) Las técnicas usadas para mejorar la eficiencia y las prestaciones del almacenamiento secundario son preasignación de inodos, eliminación de directorios e inodos y uso de memoria cache para el disco. Verdadero. La copia de seguridad y restauración puede realizarse a través 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 protección de acceso para el archivo F1 es usada más bien el que asociado con F2. Este problema puede ser evitado asegurando que todo lo que se vincula a un archivo suprimido sea suprimido también. 5 6 7 8 Esto puede ser logrado de varios modos: a. Mantener una lista de todo lo que se vincula a un archivo, quitando cada uno de ellos cuando el archivo es suprimido. b. Conservar los links, quitándolos cuando una tentativa es hecha para tener acceso a un archivo suprimido. c.Mantener una lista de referencia de archivo (o el contador), suprimiendo el archivo solo después de que todos los links o referencias a aquel archivo han sido suprimidos. La supresión de todos los archivos no expresamente guardados por el usuario tiene la ventaja de reducir al mínimo 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 más seguro para el usuario en el cual no es posible sin querer perder archivos por haber olvidado guardarlos. Por registrar el nombre del programa de creación, el sistema operativo es capaz de poner en práctica rasgos (como la invocación de programa automática cuando el archivo es tenido acceso) basado en esta información. Esto realmente añade en lo alto en el sistema operativo y requiere el espacio en el descriptor de archivo, pese a todo. a. Imprimir el contenido de un archivo. b.Imprimir el contenido de un registro i. Este registro puede ser encontrado usando hashing o técnicas de índice. 91 Guía didáctica: Sistemas Operativos SOLUCIONARIO UNIDAD 10 Pregunta 1 2 3 4 Respuesta 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 través 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. 5 Desventajas: √ Los bugs son más difíciles de fijar en la nueva versión de firmware o en el nuevo hardware que es necesario. √ Provee algoritmos que de la misma manera que requiere una modernización de hardware se necesita una actualización del kernel o la actualización de controlador de dispositivo. √ Los algoritmos encajados podrían estar en desacuerdo con el empleo del uso del dispositivo, causando el funcionamiento disminuido. a)Buffering puede ser necesario para registrar el movimiento de ratón cuando hay operaciones de prioridad alta. El spool y caching son inadecuados. La E/S activada por interrupciones es la más apropiada. b) Una unidad de cinta magnética sobre una multi asignación el sistema operativo (no asume ninguna preasignación de dispositivo está disponible). 6 Buffering puede ser necesario para manejar diferencias de rendimiento entre la unidad de cinta magnética y la fuente o la destinación de la E/S. Caching puede ser usada para sostener las copias de los datos que residen sobre la cinta, para el acceso más rápido. El escrutinio podría ser usado cuando múltiples usuarios desean leer o escribir. E/S activada por interrupciones probablemente permite el mejor funcionamiento. 92 SOLUCIONARIO 7 8 Guía didáctica: Sistemas Operativos Generalmente, la E/S con bloqueo es apropiada cuando el proceso sólo esperará un acontecimiento específico. Los ejemplos incluyen un disco, la cinta, o el teclado leído por un programa de uso. DMA aumenta la concurrencia del sistema permitiendo a la CPU realizar tareas mientras el sistema DMA transfiere datos vía buses de memoria y del sistema. El diseño 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 también puede ser necesario para permitir la CPU y el regulador DMA compartir el empleo del bus de memoria. 93 Guía didáctica: Sistemas Operativos GLOSARIO 9.Glosario Sistema operativo: Un programa que interactúa como intermediario entre el usuario y el hardware de una computadora. Hardware: Una colección compartida de datos lógicamente relacionados, junto con una descripción de estos datos, que están diseñados para satisfacer las necesidades de información de una organización. 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 propósito general. Ejemplo: PDA, mainframes. Sistemas multiprocesador: Disponen de dos o más procesadores. Pueden ser simétricos o asimétricos. Sistemas en clúster: Estan formados por varias computadoras que comparten el almacenamiento y se conectan entre sí a través de una red de área local. Multiprogramación: Incrementa el uso de la CPU, de modo que siempre tenga que ejecutar procesos. Sistemas Multitarea: Ejecuta múltiples trabajos conmutando entre ellos; varios usuarios comparten simultáneamente la computadora. Sistemas Distribuidos: Es una colección de computadoras físicamente separadas y posiblemente heterogéneas que están 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 rígidos requisitos de tiempo en la operación de un procesador o del flujo de datos Proceso: Se considera como un programa en ejecución. Además es considerado como la unidad del trabajo del sistema. Memoria principal: Memoria interna del sistema informático con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecución o procesamiento. Archivo: Un conjunto de registros relacionados que se tratan como una unidad. Memoria secundaria: La memoria ubicada fuera del sistema informático, incluyendo discos y cintas. 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 función principal del intérprete 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. 94 GLOSARIO Guía didáctica: Sistemas Operativos Estructura simple: Es limitado por la funcionalidad de hardware, proporcionan máxima funcionalidad en el menor espacio posible; los sistemas operativos de estructura simple no están divididos en módulos. Estructura en niveles: Los sistemas operativos pueden dividirse en partes más pequeñas (módulos), con lo cual puede tener mejor control sobre la computadora. Además que existe ocultación de detalles de los niveles inferiores a los superiores. Máquinas virtuales: Abstrae el hardware de la computadora, formando varios entornos de ejecución diferentes, creando así la ilusión de que cada entorno de ejecución está operando en su propia computadora privada. Proceso: Se considera como un programa en ejecución. Además 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 información sobre las características y el estado del proceso. Planificador: Seleccionar trabajos o tareas que se vayan a expedir. En algunos sistemas operativos también 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 ejecución. Planificador a corto plazo: Se lo conoce como planificador de la CPU. Es el que selecciona de entre los procesos que ya están preparados para ser ejecutados y asigna la CPU a cada uno de ellos. Cambio de contexto: La conmutación de la CPU a otro proceso requiere una salvaguarda del estado del proceso actual y una restauración del estado de otro proceso diferente. Despachador: Es el módulo que proporciona el control de la CPU a los procesos seleccionados por el planificador a corto plazo. Planificación del Primero en llegar, primero en ser atendido (FIFO ó FCFS): Una técnica de colas en la que el elemento siguiente que se recupera es el elemento que ha permanecido en la cola durante más tiempo. Planificación de Primero el trabajo más corto (SJF): Asocia con cada proceso la longitud de su siguiente ráfaga de CPU. Cuando la CPU está disponible se le asigna al proceso que tiene la ráfaga más pequeña de CPU. Planificación por prioridad: Se asocia una prioridad a cada proceso y la CPU se asigna al proceso con la prioridad más alta. Los procesos con igual prioridad se planifican en el orden FIFO. Planificación Round Robin o por turnos: La planificación Round Robin o por turnos está diseñado para sistemas de tiempo compartido. Es similar a FIFO pero se define una pequeña 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. 95 Guía didáctica: Sistemas Operativos GLOSARIO Planificación de colas de niveles múltiples: 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 planificación. Proceso cooperativo: Es aquel que puede afectar o verse afectado por los demás procesos que están ejecutando en el sistema. Los procesos cooperativos pueden compartir directamente un espacio lógico de direcciones o solo pueden compartir datos solo a través de archivos. Sincronización 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. Sección crítica: En un procedimiento asíncrono de un programa de computador, es una parte que no puede ejecutarse simultáneamente con la sección crítica asociada a otro procedimiento asíncrono. Semáforo: Un valor entero usado para la señalización entre procesos. Solo se pueden realizar tres operaciones sobre un semáforo, las cuales son atómicas: inicializar, decrementar e incrementar. Dependiendo de la definición precisa del semáforo, la operación de decremento puede originar el desbloqueo de un proceso. Monitor: Diseñados para controlar no solo la concurrencia sino también la naturaleza de las operaciones relacionadas sobre los datos, es decir, control sobre lo que se hace sobre los datos compartidos, haciéndolos accesibles únicamente mediante un conjunto de procedimientos públicamente disponibles. Bloqueo mutuo: Un punto muerto que se produce cuando varios procesos están 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 análogo. Exclusión mutua: Al menos un recurso debe estar retenido en un modo no compartido; es decir, solo 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. Retención y espera: Debe existir un proceso que esté retenido por lo menos un recurso y esté esperando adquirir recursos adicionales que en este momento estén siendo retenidos por otros procesos. No apropiación: Los recursos no pueden ser apropiados; es decir, un recurso solo 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. Memoria principal: Memoria interna del sistema informático con direcciones accesibles por los programas y que puede cargarse en los registros para su posterior ejecución o procesamiento. Dirección lógica: Una referencia a una posición de memoria independiente de la asignación actual de los datos de la memoria. Se debe hacer una traducción a una dirección física antes de realizar el acceso a memoria. Dirección física: La posición 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). 96 GLOSARIO Guía didáctica: Sistemas Operativos 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. Reubicación: Es el hecho de cargar y ejecutar un programa en una posición arbitraria de memoria. Existen dos tipos de reubicación: estática y dinámica. Reubicación estática: 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; aun cuando el área esté ocupado deberá esperar para poderse colocar. Reubicación dinámica: Cuando el proceso se va a subir en memoria principal puede ser colocado en cualquier partición libre. En este caso es necesario realizar un reasignación 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. Asignación de memoria contigua: Significa que cada objeto lógico es colocado en un conjunto de posiciones de memoria con direcciones estrictamente consecutivas. Asignación con una sola partición: 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. Asignación con múltiples particiones: Surgió de la necesitad de que existan varios procesos en memoria; para lo cual se debe dividir la memoria en varias particiones de tamaño fijo, ubicando un proceso en cada partición. La división puede realizarse de manera estática y dinámica. Fragmentación externa: Se produce cuando la memoria se divide en particiones de tamaño variable correspondientes a los bloques de datos asignados de la memoria (por ejemplo, los segmentos de la memoria principal). A medida que se trasladan los segmentos dentro y fuera de la memoria principal, se producirán huecos entre las partes ocupadas de la memoria. Fragmentación interna: Se produce cuando la memoria se divide en particiones de tamaño fijo (por ejemplo, marcos de página en la memoria principal o bloques físicos en el disco). Si un bloque de datos es asignado a una o más particiones, puede haber un espacio desaprovechado en la última partición. Esto se producirá si la última porción de los datos es más pequeña que la última partición. Paginación: La transferencia de páginas entre el almacenamiento real y el secundario. Segmentación: La división de un programa o aplicación en segmentos como parte del esquema de memoria. Memoria virtual: Mediante el esquema de memoria virtual se busca eliminar la limitación del tamaño de los programas que se tiene respecto a las limitaciones de la memoria principal; es decir, permite que los procesos estén parcialmente cargados en memoria lo que permitirá trabajar con memoria de mayor capacidad que la que realmente se tiene. Marco de página: Una zona del almacenamiento principal empleada para guardar una página. Paginación por demanda: Transferencia de una página del almacenamiento auxiliar hacia el almacenamiento real en el momento en que se necesite. 97 Guía didáctica: Sistemas Operativos GLOSARIO Fallo de Página: Se produce cuando la página que contiene una palabra referenciada no está en memoria principal. Esto provoca una interrupción y exige que se traiga a la memoria la página adecuada. Sobrepaginación: Esto ocurre cuando un sistema pasa la mayor parte del tiempo paginando que ejecutando procesos, lo que ocasiona una considerable disminución del desempeño del sistema. Archivo: Un conjunto de registros relacionados que se tratan como una unidad. Archivo de texto: Secuencia de caracteres organizados en líneas y posiblemente en páginas. 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 código que el cargador puede llevar a la memoria y ejecutar. Estructura de directorios: Organiza y proporciona información 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 están 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 rápidamente a grandes cantidades de información. Protección: Mecanismo de resguardar información, se la puede trabajar a través del manejo de listas y grupos de acceso. Por lo cual el acceso a la información dependerá de la identidad del usuario así como de las operaciones que sobre el archivo se pueda realizar. Semántica de consistencia: Es una caracterización del sistema que especifica la semántica de múltiples usuarios que acceden a un archivo compartido en forma simultánea. Especifica cuándo pueden ser observadas por otros usuarios las modificaciones de datos hechas por un usuario. Directorio de un solo nivel: Todos los archivos están contenidos en el mismo directorio, el cual es fácil 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 solo los archivos de un usuario. Asignación continua: Requiere que cada archivo ocupe un conjunto de bloques contiguos en el disco, las direcciones del disco definen un ordenamiento lineal del mismo. Asignación 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. Asignación indizada: Tiene todos los apuntadores juntos a una ubicación: el bloque índice. 98 GLOSARIO Guía didáctica: Sistemas Operativos Controlador: Es un conjunto de componentes electrónicos que pueden optar un puerto, un bus o un dispositivo. Interrupción: Una suspensión de un proceso, tal como la ejecución 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 módulo especial, llamado módulo de DMA. Controla el intercambio de datos entre la memoria principal y un dispositivo de E/S. El procesador envía una solicitud de transferencia de un bloque de datos al módulo de DMA y se ve interrumpido solo después 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 síncrono: Realiza transferencia de datos con tiempos de respuestas predecibles. Dispositivo asíncrono: 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 ejecución de dicha aplicación. E/S sin bloqueo: No detiene la ejecución de la aplicación durante mucho tiempo. Spooling: El empleo de un almacenamiento auxiliar como buffer para reducir el retardo del procesamiento cuando se transfieren datos entre los equipos periféricos y los procesadores de un computador. JP-RT/ymtm/15-07-2011/91 cll/ 2014-06-16 99