Download sistemas operativos

Document related concepts

Núcleo (informática) wikipedia , lookup

Sistema operativo wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Multics wikipedia , lookup

Arquitectura de Windows NT wikipedia , lookup

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
[email protected]
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