Está en la página 1de 100

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.

Asesoría virtual:
18607 www.utpl.edu.ec
SISTEMAS OPERATIVOS
Guía didáctica
Julia Alexandra Pineda Arévalo
Rommel Vinicio Torres Tandazo

© UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA

Diagramación, diseño e impresión:


EDILOJA Cía. Ltda.
Telefax: 593-7-2611418
San Cayetano Alto s/n
www.ediloja.com.ec
edilojainfo@ediloja.com.ec
Loja-Ecuador

Tercera edición
Sexta reimpresión

ISBN-978-9942-08-116-2

Reservados todos los derechos conforme a la ley. No está permitida la reproducción total o parcial de esta guía, ni su tratamiento informático, ni
la transmisión de ninguna forma o por cualquier medio, ya sea electrónico, mecánico, por fotocopia, por registro u otros métodos, sin el permiso
previo y por escrito de los titulares del Copyright.

Octubre, 2014
2. Índice

2. Índice........................................................................................................................................................ 3
3. Introducción........................................................................................................................................... 7
4. Lineamientos generales del modelo educativo basado en competencias y créditos
académicos UTPL- ECTS..................................................................................................................... 8
4.1. Competencias genéricas.................................................................................................................... 9
4.2. Competencias específicas.................................................................................................................. 9

5. Bibliografía............................................................................................................................................ 10
5.1. Básica................................................................................................................................................. 10
5.2. Complementaria................................................................................................................................ 10

6. Orientaciones generales para el estudio................................................................................... 11


7. Proceso de enseñanza-aprendizaje para el logro de competencias............................... 13

PRIMER BIMESTRE

7.1. Planificación para el trabajo del alumno......................................................................................... 13


7.2. Sistema de evaluación de la asignatura (Primer y segundo bimestre)......................................... 16
7.3 Orientaciones específicas para el aprendizaje por competencias................................................... 17

UNIDAD 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS................................................................................ 17

1.1. Organización de una computadora.................................................................................................... 18


1.2. Arquitectura de un sistema informático.............................................................................................. 18
1.3. Estructura de un sistema operativo.................................................................................................... 19
1.4. Operaciones del sistema operativo.................................................................................................... 19
Autoevaluación 1......................................................................................................................................... 20

UNIDAD 2: ESTRUCTURAS DE SISTEMAS OPERATIVOS...................................................................................... 22

2.1. Servicios del sistema operativo.......................................................................................................... 22


2.2. Interfaz de usuario............................................................................................................................ 23
2.3. Llamadas al sistema.......................................................................................................................... 23
2.4. Tipos de llamadas al sistema............................................................................................................. 25
2.5. Programas del sistema...................................................................................................................... 26
2.6. Diseño e implementación de un sistema operativo ........................................................................... 26
2.7. Estructura del sistema operativo........................................................................................................ 27
2.8. Máquinas virtuales............................................................................................................................ 27
2.9. Arranque del sistema......................................................................................................................... 28
Autoevaluación 2......................................................................................................................................... 28

UNIDAD 3: PROCESOS................................................................................................................................... 30

3.1. Conceptos de procesos...................................................................................................................... 30


3.2. Planificación de procesos................................................................................................................... 30
3.3. Operaciones sobre procesos............................................................................................................... 31
3.4. Comunicación entre procesos............................................................................................................. 32
3.5. Comunicación de los sistemas cliente servidor................................................................................... 33
Autoevaluación 3......................................................................................................................................... 34
UNIDAD 4: PLANIFICACIÓN DE LA CPU............................................................................................................ 36

4.1. Conceptos básicos............................................................................................................................. 36


4.2. Criterios de planificación.................................................................................................................... 37
4.3. Algoritmos de planificación................................................................................................................ 37
4.4. Planificación de un sistema multiprocesador...................................................................................... 40
Autoevaluación 4......................................................................................................................................... 41

UNIDAD 5: SINCRONIZACIÓN DE PROCESOS.................................................................................................... 43

5.1. Fundamentos.................................................................................................................................... 43
5.2. La sección crítica................................................................................................................................ 43
5.3. Hardware de sincronización............................................................................................................... 44
5.4. Semáforos......................................................................................................................................... 44
5.5. Problemas clásicos de sincronización................................................................................................. 44
5.6. Monitores.......................................................................................................................................... 46
Autoevaluación 5......................................................................................................................................... 46

SEGUNDO BIMESTRE

7.1. Planificación para el trabajo del alumno......................................................................................... 49

UNIDAD 6: INTERBLOQUEOS.......................................................................................................................... 52

6.1. Modelo de sistema............................................................................................................................ 52


6.2. Característica de interbloqueos.......................................................................................................... 53
6.3. Métodos para tratar los interbloqueos............................................................................................... 53
6.4. Prevención de interbloqueos.............................................................................................................. 54
6.5. Evasión de interbloqueos................................................................................................................... 54
6.6. Detección de interbloqueos ............................................................................................................... 54
6.7. Recuperación de un interbloqueo....................................................................................................... 54
Autoevaluación 6......................................................................................................................................... 55

UNIDAD 7: MEMORIA PRINCIPAL.................................................................................................................... 57

7.1. Fundamentos.................................................................................................................................... 57
7.2. Intercambio....................................................................................................................................... 57
7.3. Asignación de memoria contigua....................................................................................................... 58
7.4. Paginación......................................................................................................................................... 59
7.5. Segmentación................................................................................................................................... 60
Autoevaluación 7......................................................................................................................................... 60

UNIDAD 8: MEMORIA VIRTUAL....................................................................................................................... 62

8.1. Fundamentos.................................................................................................................................... 62
8.2. Paginación bajo demanda................................................................................................................. 62
8.3. Sustitución de páginas....................................................................................................................... 63
8.4. Asignación de marcos........................................................................................................................ 65
8.5. Sobrepaginación................................................................................................................................ 66
Autoevaluación 8......................................................................................................................................... 66
UNIDAD 9: INTERFAZ DEL SISTEMA DE ARCHIVOS............................................................................................ 68

9.1. Concepto de archivo.......................................................................................................................... 68


9.2. Métodos de acceso............................................................................................................................ 68
9.3. Estructura de directorios.................................................................................................................... 68
9.4. Protección.......................................................................................................................................... 69
9.5. Método de asignación ...................................................................................................................... 70
9.6. Gestión del espacio libre.................................................................................................................... 71
9.7. Eficiencia y desempeño..................................................................................................................... 71
9.8. Recuperación..................................................................................................................................... 71
Autoevaluación 9......................................................................................................................................... 72

UNIDAD 10: SISTEMAS DE E/S....................................................................................................................... 74

10.1. Introducción ...................................................................................................................................... 74


10.2. Hardware de E/S.............................................................................................................................. 74
10.3. Interfaz de E/S................................................................................................................................. 75
10.4. Subsistema de E/S del kernel........................................................................................................... 75
Autoevaluación 10....................................................................................................................................... 76
8. Solucionario........................................................................................................................................... 78
9. Glosario................................................................................................................................................... 94
PRELIMINARES Guía didáctica: Sistemas Operativos

3. Introducción

Bienvenidos a la asignatura de Sistemas Operativos, los profesores asignados a la misma tenemos una
amplia experiencia conjunta en redes, seguridad y sistemas operativos, esta experiencia nos permitirá,
con la interacción de ustedes, desarrollar objetivamente los contenidos de la presente asignatura hacia
su máximo aprovechamiento.

Esta materia es sin lugar a dudas una de las más importantes dentro del conocimiento de Ciencias de la
Computación, estamos seguros que la presente materia le ayudará a resolver problemas no solo técnicos,
sino que además como se dará cuenta, con las estrategias mostradas se puede resolver cualquier tipo de
problema en los cuales se necesite por ejemplo planificación y asignación de recursos.

La asignatura de Sistemas Operativos corresponde al sexto ciclo de la carrera de Informática, y tiene una
valoración de 4 créditos. Esta guía se desarrolló en base al trabajo previo de la Ing. Samanta Cueva a la
cual agradecemos por su predisposición y ayuda en la elaboración de la misma.

Actualmente la gran mayoría de las actividades se desarrollan apoyándose en un sistema computacional;


en el cual los Sistemas Operativos son su parte esencial. Por lo que conocer su estructura, funcionamiento
y diseño es fundamental para un profesional de Informática.

El estudio de esta materia permite descubrir la relación que existe entre el sistema operativo y el
computador, con lo cual se puede conocer y dimensionar el papel que este software desempeña en el
adelanto tecnológico al que estamos sujetos.

Los contenidos a desarrollar están distribuidos equitativamente en los dos bimestres.

En el transcurso de la materia se irán revisando cada uno de los capítulos y relacionándolos con los
Sistemas Operativos Windows y Linux que son los más utilizados en la actualidad.

El primer bimestre abarca el conocimiento general de qué son los sistemas operativos, sus componentes
y funcionamiento en general, como también se estudia la gestión de procesos que incluye una revisión
general de lo que son procesos, la planificación de la CPU, la sincronización de procesos e interprocesos.

El segundo bimestre abarca el conocimiento de la gestión de memoria, que incluye en detalle los
conceptos de memoria virtual y memoria principal. Para finalmente analizar los temas de gestión de
almacenamiento.

Por lo que invitamos a aprovechar este curso que junto a su constancia y capacidad le permitirá llegar a
alcanzar las competencias planteados. Lo importante es que esté motivado para continuar con el estudio
de la materia y así adquirir una visión crítica para evaluar el desempeño de un sistema operativo, ¿Quién
sabe si usted construye un nuevo sistema operativo? ¿O si usted tiene que administrar un sistema? ¿O sí
tiene que recomendar el sistema operativo adecuado para brindar servicio de Internet? Así que vamos
a ponerles ganas de aprender, de desarrollar, de investigar y sobretodo de generar algo nuevo y útil no
solo para nosotros sino para la sociedad en la que pertenecemos.

7
Guía didáctica: Sistemas Operativos PRELIMINARES

4. Lineamientos generales del modelo educativo basado en


competencias y créditos académicos UTPL- ECTS

Sr. estudiante recuerde que usted ha iniciado su formación de tercer nivel con un sistema educativo
basado en el desarrollo de competencias a través de créditos académicos. Este modelo le convierte
a usted en protagonista de su propia formación y al profesor en mediador de las experiencias de
aprendizaje.

Surge entonces la necesidad de que tenga claro dos conceptos fundamentales: competencia y crédito
académico.

• ¿Qué es una competencia? Entendemos por competencia el conjunto de actitudes, habilidades


y conocimientos que el alumno adquiere e incorpora según sus características personales y
experiencias laborales y, que se ponen de manifiesto en el desempeño de la actividad profesional.
Las competencias se adquieren a lo largo del proceso formativo de la carrera y se desagregan en
objetivos de aprendizaje propuestos en cada asignatura.

Elementos de una competencia. Tres son los elementos que podemos distinguir en toda
competencia:

 Actitudes: Son predisposiciones y comportamientos ante situaciones concretas.

 Habilidades: Son destrezas para ejecutar con éxito tareas, utilizar procedimientos y realizar
trabajos. Se desarrollan a través de la práctica y la experiencia.

 Conocimientos: Constituyen los contenidos científicos, conceptuales, teóricos, conocidos


también como el aprendizaje académico.

• ¿Qué es un crédito académico UTPL / ECTS en la Modalidad a Distancia?

Un crédito académico es la unidad de medida del trabajo del estudiante, implica 32 horas de trabajo del
alumno (29 horas de trabajo autónomo y 3 horas de interacción) 1.

Los créditos académicos que el estudiante irá acumulando en el transcurso de la carrera involucran:
aprendizaje autónomo (estudio personal), tareas de investigación, interacción en el Entorno Virtual de
Aprendizaje (EVA), participación en tutorías, videoconferencias y otros eventos académicos (jornadas,
seminarios, cursos, congresos avalados por la UTPL), prácticas académicas, pasantías preprofesionales
y de vinculación con la colectividad; actividades de evaluación; así como la realización del trabajo de
titulación.

El modelo adoptado por la UTPL contempla dos tipos de competencias: genéricas y específicas.

 Competencias genéricas: Son aquellas capacidades (actitudes, habilidades y conocimientos)


comunes a todas las profesiones que se ofrecen en la UTPL. Constituyen una parte fundamental
del perfil que el estudiante debe desarrollar durante su formación.

1 CONESUP (2008): Reglamento del Régimen Académico del Sistema Nacional de Educación Superior, art. 18.

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
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

7. Proceso de enseñanza-aprendizaje para el logro de competencias

PRIMER BIMESTRE

7.1. Planificación para el trabajo del alumno

CRONOGRAMA
COMPETENCIAS INDICADORES DE CONTENIDOS ACTIVIDADES DE
ORIENTATIVO
ESPECÍFICAS APRENDIZAJE Unidades/Temas APRENDIZAJE
Tiempo estimado
• Identifica los UNIDAD 1: Semana 1 - Lea el Capítulo 1 del texto
principales hitos Introducción. básico y revise los anuncios
en la evolución de 4 horas de del EVA.
los sistemas. 1.1. Organización de autoestudio y 4 de
una computadora interacción. - Analice y compare la
• Lista usos y evolución de los sistemas
utilidad de 1.2. Arquitectura de un operativos descritos. Diseño
los diferentes sistema informático y evolución.
sistemas
1.3. Estructura de un - Basado en los principales
operativos.
sistema informático objetivos de los sistemas
• Identifica operativos indique al menos
1.4. Operaciones del
claramente los dos usos de acuerdo a cada
sistema operativo
componentes y objetivo.
estructura de un
sistema operativo - Resolver la autoevaluación
ideal. de la unidad.

- Iniciar el desarrollo de la
Administrar evaluación a distancia del
infraestructura primer bimestre.
de redes y • Identifica los UNIDAD 2: Estructura Semana 2. - Lea el Capítulo 2 del texto
telecomunicaciones principales del sistema operativo básico y revise los anuncios
en una organización. componentes 4 horas de del EVA.
de un sistema 2.1. Servicios del autoestudio y 4 de
operativo. sistema operativo interacción. - Revise cómo funciona la
máquina virtual de JAVA.
• Ejemplifica cuáles 2.2. Interfaz del usuario
son los objetivos de un sistema - De acuerdo a la arquitectura
de un sistema operativo de los sistemas operativos
operativo desde el indique al menos dos SO por
2.3. Llamadas al sistema cada tipo de arquitectura.
punto de vista de
un usuario. 2.4. Diseño e - Indique ¿cuáles son los
Implementación servicios que el sistema
• Identifica los
de un sistema operativo ofrece basados en
servicios que
operativo el objetivo de comodidad
provee un sistema
operativo. del usuario? y ¿cuáles
2.5. Estructura del
son los servicios del
sistema operativo
sistema operativo que
ofrece basados en el uso
eficiente de los recursos del
computador?

13
Guía didáctica: Sistemas Operativos PRIMER BIMESTRE

CRONOGRAMA
COMPETENCIAS INDICADORES DE CONTENIDOS ACTIVIDADES DE
ORIENTATIVO
ESPECÍFICAS APRENDIZAJE Unidades/Temas APRENDIZAJE
Tiempo estimado
- 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 UNIDAD 3: Gestión de Semana 3 y 4 - Revise el capítulo 3 del texto
es la mejor procesos básico.
planificación de 4 horas de
procesos según el 3.1. Conceptos de autoestudio y 4 de - Revise los anuncios y
entorno. procesos interacción. material de apoyo del EVA.

• Clasifica los 3.2. Planificación de - Indique la razón por la


diferentes tipos de procesos que un proceso cambia de
planificación de estado.
3.3. Operaciones sobre
procesos.
procesos - Realice un cuadro
• Ejemplifica sinóptico de los tipos de
3.4. Comunicación planificadores que existen y
las diferentes
interprocesos las principales características
Analizar, diseñar, operaciones de los
procesos. de ellos.
validar, instalar y
mantener redes - Cite dos ejemplos en
de computadoras donde estén incluidas las
en diferentes áreas operaciones de procesos.
dentro de una
organización. - Resuelva la autoevaluación
3.

- Continúe con el desarrollo


de la evaluación a distancia.
• Lista y enumera UNIDAD 4: Semanas 5 - Revise el capítulo 5 del texto
los diferentes Planificación de la CPU básico.
algoritmos de 4 horas de
planificación y los 4.1. Conceptos básicos autoestudio y 4 de - En base a los criterios de
aplica. interacción. planificación existentes
4.2. Criterios de realice un análisis
• Identifica y planificación comparativo de los
entiende los diferentes algoritmos de
4.3. Algoritmos de
procesos de planificación. Y clasifíquelos
Planificación
los algoritmos en apropiativos o no
utilizados por los 4.4. Comunicación de apropiativos
sistemas Windows los sistemas cliente
y Linux. - Resuelva la autoevaluación
servidor
3.
• Evalúa el mejor
algoritmo de - Continúe con el desarrollo
planificación de la evaluación a distancia.
según
requerimientos.

14
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

CRONOGRAMA
COMPETENCIAS INDICADORES DE CONTENIDOS ACTIVIDADES DE
ORIENTATIVO
ESPECÍFICAS APRENDIZAJE Unidades/Temas APRENDIZAJE
Tiempo estimado
• Conoce los UNIDAD 5: Semanas 6 - Revise el capítulo 6 del texto
posibles Sincronización de básico.
problemas de procesos 4 horas de
sincronización autoestudio y 4 de - Realice un cuadro
que el sistema 5.1. Fundamentos interacción. comparativo de los tipos de
operativo debe interacciones que puede
5.2. El problema de la haber entre procesos:
manejar.
sección crítica Sincronización de procesos,
• Aplica las posibles señalización de procesos y
5.3. Hardware de
soluciones de la comunicación de procesos.
sincronización
sincronización de Cite un ejemplo de cada
procesos. 5.4. Semáforos uno.

5.5. Problemas clásicos - Cite los principales


de sincronización problemas de sincronización
de procesos de procesos e indique
brevemente sus
Aplicar la lógica características.
5.6. Monitores
matemática en
el contexto de - Realice un cuadro
las Ciencias de comparativo entre
la Computación, semáforos y monitores.
con proyección, al
diseño de circuitos, - Resuelva la autoevaluación
programación, 3.
análisis y desarrollo
de algoritmos. - Continúe con el desarrollo
del trabajo a distancia.
Preparación de la Semanas 7 y 8 - Revise las actividades y
evaluación presencial evaluaciones realizadas
8 horas de durante todo el bimestre.
autoestudio
- 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
Evaluación a Distancia

1. Autoevaluación *

Interacción con el
Parte de Ensayo

3. Coevaluación
Parte Objetiva

Evaluación
Presencial
Competencias: criterio

EVA
Comportamiento ético x x x x x x
Actitudes

Cumplimiento, puntualidad, responsabilidad x x x

Esfuerzo e interés en los trabajos x x x x x x


Respeto a las personas y a las normas de
x x
comunicación
Creatividad e iniciativa x x x
Contribución en el trabajo colaborativo y de
Habilidades

x x
equipo

Presentación, orden y ortografía x x

Emite juicios de valor argumentadamente x x x x

Dominio del contenido x x x x x


Conocimientos

Investigación (cita fuentes de consulta) x

Aporta con criterios y soluciones x x x


Análisis y profundidad en el desarrollo de
x x x
temas

presenciales y en el EVA
PORCENTAJE 10% 10% 10% 30% 70%
Estrategia de
aprendizaje

Actividades

Puntaje 2 2 2 6 14

TOTAL 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 Guía didáctica: Sistemas Operativos

7.3 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 Funciones, procesos, visión de SO


Sistema

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. 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.

2 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.

20
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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 Manuel
archivos
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 POLITICAS

26
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

Implementación

CARATERÍSTICA DETALLE
Implementado en C++ y Java 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) Implica un solo nivel en donde se implementa solo un pequeño conjunto de primitivas


necesarias.
b) Los recursos reales se reparten entre las distintas máquinas virtuales.
c) Crea la ilusión de que múltiples procesos se ejecutan cada uno en su propio procesador con
su propia memoria (virtual).
d) La principal ventaja es la modularidad. Las capas se escogen de modo que cada una utilice
funciones y servicios de las capas inferiores.

2) En los sistemas por lotes

a) Los trabajos con necesidades similares se agrupaban y se los ejecutaban en la computadora


como un grupo.
b) Se sincronizan procesadores y los recursos compartidos a los que acceden.
c) 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.
d) El usuario interactúa directamente con el equipo puede ver los resultados inmediatamente.

3. Entre las desventajas de una máquina virtual tenemos:

a) Los costos de una máquina virtual son muy altos.


b) Difícil manejo.
c) Dependencia del Hardware.
d) La implementación puede ser compleja y lenta.

28
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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) Normal, Por tiempo excedido, Violación de límites.


b) Memoria disponible, tiempo de ejecución, Error de protección.
c) Normal, Por tiempo cancelado, Violación de límites.
d) Error de ejecución, Por tiempo excedido, Violación de límites.

2. 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.

( ) Verdadero ( ) Falso

4. Los procesos cooperantes se definen como:

a) Abstracción de un programa en ejecución y es la unidad de trabajo del sistema.


b) Son los que pueden que no son afectados por los demás procesos que se ejecutan en el
sistema.
c) Las tareas y algunos de sus atributos son definidos por el programador y permiten elevar el
rendimiento y controlar explícitamente las actividades.
d) 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
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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) Utilización de la CPU
b) Buffer del disco duro
c) Tiempo de ejecución de los procesos
d) Tasa de procesamiento

4. El multiprocesamiento simétrico (SMP) existe o se caracteriza por:

a) Existe un procesador maestro que planifica el trabajo de los otros procesadores.


b) En sistemas monoprocesador permite que dos procesos se ejecuten simultáneamente.
c) En sistemas multiprocesador en el que cada procesador se auto-planifica.
d) 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 PRIMER BIMESTRE

7. Considere el siguiente conjunto de procesos, con el tiempo de ráfaga de CPU dada en milisegundos:

PROCESO TIEMPO DE RÁFAGA PRIORIDAD


P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 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 PRIMER BIMESTRE

2. 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 no-
op
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) Proceso que es definido por el sistema y se aplica en sistemas operativos multitarea.


b) Tiempo relacionado con los tiempos de respuesta parciales de los procesos interactivos
c) Es una selección de trabajos a cargar en memoria principal.
d) 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.

2. La región crítica es:

a) El conjunto de instrucciones que delimitan la actualización de una o más variables


compartidas.
b) Cuando un proceso permite temporalmente a los demás de utilizar la sección compartida.
c) El conjunto de instrucciones que permiten trabajar con secciones compartidas.
d) Una región que existe en memoria virtual.

46
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos

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) Problema de los lectores-escritores


b) Problema de la cola compartida
c) Problema de dispositivos de E/S
d) 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
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

SEGUNDO BIMESTRE

7.1. Planificación para el trabajo del alumno

CRONOGRAMA
COMPETENCIAS OBJETIVOS DE CONTENIDOS ACTIVIDADES DE
ORIENTATIVO
ESPECÍFICAS APRENDIZAJE Unidades/Temas APRENDIZAJE
Tiempo estimado
• Explicar en qué CAPÍTULO 6: Semana 9: - Lea compresivamente el
momentos se Interbloqueo de procesos capítulo 7 del texto básico
puede producir un 4 horas de y las orientaciones de la
interbloqueo. 6.1. Modelo del sistema autoestudio y 4 de presente guía.
interacción.
• Analizar las 6.2. Caracterización de los - Conteste las preguntas
posibles interbloqueos que se realizan en la guía.
soluciones para un
6.3. Métodos para tratar - Revise los anuncios en el
interbloqueo.
interbloqueos EVA.
• Demostrar si
6.4. Prevención de - Participe del foro (EVA).
un conjunto
interbloqueos
de procesos se
- Resuelva la
encuentran en un 6.5. Detección de
autoevaluación 6.
interbloqueo. interbloqueos
- Inicie el desarrollo de la
6.6. Recuperación de evaluación a distancia.
interbloqueos
• Resolver UNIDAD 7: Gestión de Semana 01 y 11: - Lea compresivamente el
problemas de memoria capítulo 8 del texto básico
Administrar asignación de 8 horas de y las orientaciones de la
infraestructura memoria. 7.1. Fundamentos de autoestudio y 8 de presente guía.
de redes y gestión de memoria interacción.
telecomunicaciones • Clasificar los principal - Revise el material de
en una organización. diferentes apoyo que está en el EVA.
métodos de 7.2. Intercambio
asignación de - Citar las funciones del
7.3. Asignación de gestor de memoria.
memoria.
memoria contigua
- Realice los ejercicios
7.4. Paginación citados en la guía.
7.5. Segmentación - 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 SEGUNDO BIMESTRE

• Definir qué es una UNIDAD 8: Memoria Semana 12 - Estudie con atención el


memoria virtual. virtual contenido de esta nueva
4 horas de unidad en el texto básico
• Explicar en qué 8.1. Fundamentos de autoestudio y 4 de y la guía.
circunstancias gestión de memoria interacción.
es necesario o virtual - Revise los anuncios del
conveniente EVA.
utilizar una 8.2. Paginación por
memoria virtual. demanda - Indique: ¿cuál es el
esquema básico del
• Aplicar los 8.3. Sustitución de páginas reemplazo de páginas?
diferentes
8.4. Asignación de marcos - Realice un cuadro
métodos de
asignación de comparativo entre los
8.5. Sobrepaginación
memoria virtual. algoritmos de reemplazo.

- Indique: ¿cómo se puede


resolver el problema de
sobrepaginación?

- Resuelva la
autoevaluación 8.

- Continúe con el desarrollo


de la evaluación a
Analizar, diseñar, distancia
validar, instalar y • Listar y enumerar UNIDAD 9: Interfaz con el Semana 13: - Revise el capítulo 10 del
mantener redes los mecanismos sistema de archivos texto básico y la guía de
de computadoras de accesos en 4 horas de estudio.
en diferentes áreas los sistemas de 9.1. Introducción a los autoestudio y 4 de
dentro de una archivos. sistemas de archivos. interacción. - Revise el material de
organización. apoyo subido en el EVA.
• Clasificar las 9.2. Métodos de acceso
diferentes - Indique: ¿cómo establece
9.3. Estructura de una correspondencia
estructuras de
directorios entre el sistema de
directorios.
archivos lógico y
9.4. Protección
• Utilizar los los dispositivos de
diferentes medios 9.5. Estructura de un almacenamiento
de protección. sistema de archivos secundario físicos? ¿qué
se debe hacer para que
9.6. Métodos de un sistema de archivos
asignación esté disponible para los
procesos del sistema?
9.7. Administración del
espacio libre - Realice un cuadro
comparativo de
9.8. Eficiencia y los métodos de
prestaciones administración de espacio
libre.
9.9. Recuperación
- Resuelva la
autoevaluación 9.

- Continúe con el desarrollo


de la evaluación a
distancia

50
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

• Clasificar los UNIDAD 10: Sistema de Semana 14 - Estudie y comprenda la


dispositivos de Entrada/Salida presente unidad.
entrada y salida. 4 horas de
10.1. Introducción autoestudio y 4 de - Realice un cuadro de los
• Explicar cómo interacción. principales aspectos que
funciona la 10.2. Hardware de E/S diferencian cada tipo de
interface de dispositivo.
10.3. Interfaz de E/S
entrada y salida.
- Indique ¿cuáles son las
10.4. Subsistema de E/S del
ventajas de utilizar buffer,
kernel
cachés o spool?
Aplicar la lógica
matemática en - Resuelva la
el contexto de autoevaluación 10.
las Ciencias de
la Computación, Preparación de la Semana 15 y 16 - Revise las actividades y
con proyección, al Evaluación Presencial evaluaciones realizadas
8 horas de durante todo el bimestre.
diseño de circuitos,
autoestudio
programación,
- Revise el material de
análisis y desarrollo
apoyo subido en el EVA.
de algoritmos.
- 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
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

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) Usando un protocolo para impedir o evitar los interbloqueos.


b) Ignorar el problema y actuar como si nunca se produjeran interbloqueos en el sistema.
c) Aplicando un algoritmo de planificación SJF.
d) Permitiendo que los dispositivos de E/S tengan una región de memoria no compartida.

3. ¿Cuáles son las cuatro condiciones necesarias para qué se produzca un interbloqueo?

a) Exclusión mutua, retención y espera, sin desalojo, espera circular


b) Exclusión mutua, desalojo, colisión, espera circular
c) Colisión, sin desalojo, espera circular, retención y espera
d) Retención y espera, retención y espera, espera circular, bloqueo mutuo

4. 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
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

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 0 ocupada
A 1 ocupada
página 0 2
página 1 3 ocupada
página 2 4
página 3 5
0 7 6
página 4
1 2 7
memoria
lógica 2 4 8
3 6 9
4 11 10
Tabla de
páginas 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) La capacidad del sistema operativo para asignar porciones de memoria que ya están
utilizadas.
b) La capacidad del sistema operativo para asignar porciones de memoria que están
desaprovechadas o libres.
c) Un mecanismo que genera desperdicio de memoria.
d) Un mecanismo que optimiza el uso del procesador.

3. Los objetivos de un Sistema de Gestión de Memoria son:

a) Proporcionar protección entre los procesos.


b) Ofrecer a cada proceso un espacio lógico propio.
c) Proveer mecanismos para la sincronización de procesos.
d) Planificación de disco.

60
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

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 Base Longitud


0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 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
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

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. Reemplazo LRU
b. Reemplazo FIFO
c. Reemplazo Óptimo
d. Reemplazo de Segunda Oportunidad.

66
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

3. Las ventajas del uso de la memoria virtual son entre otras:

a) Los programas deben tener un tamaño menor que la memoria física.


b) Permite a los programadores no preocuparse por limitaciones de memoria.
c) Es fácil de implementar.
d) Permite la ejecución de procesos que no se encuentren completamente en memoria.

4. 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. ¿Cuál es un límite inferior en el número de fallos de página?


b. ¿Cuál es el límite superior en el número de fallos de página?

7. 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
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

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 Características Ventajas Desventajas

Continua

Enlazada

Indexada

70
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) Preasignación de inodos
b) Asignación eficiente del tamaño de los punteros
c) Uso de una memoria cache para el disco
d) Eliminación de directorios e inodos

4. La copia de seguridad y restauración puede realizarse a través de copias completas e


incrementales.

( ) Verdadero ( ) Falso

72
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

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 ( ) Falso

2. 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) Modo de transferencia de datos es a través de bloques.


b) Método de acceso es secuencial.
c) Soporta solo lectura.
d) Forma de transferencia es asíncrona.

4. Seleccione qué procedimientos supervisa el subsistema de entrada y salida:

a) Control de acceso a los archivos y dispositivos.


b) Planificación de E/S.
c) Asignación de dispositivos.
d) 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) Un ratón utilizado con una interfaz gráfica de usuario.


b) Una unidad de cinta en un sistema operativo multitarea (suponga que no se cuenta con
asignación previa de dispositivos).

76
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos

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
A y B: Un sistema operativo es un programa que administra el hardware
1 de un computador y es intermediario entre el usuario y el hardware de
la computador.
a) Mientras más procesadores existen es más complejo asignar el uso del
2 mismo a los diferentes procesos.
a, b,c, d) Todos los elementos listados deben ser manejados por el
3 sistema operativo.

4 c) Tiene que ver con procesos y el manejo de los mismos.

• Tiempo de reserva de la máquina


• Cargar manualmente el programa en memoria.
5 • 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.
6
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.
7 • 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.

78
SOLUCIONARIO 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
8 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
d) La división del trabajo en capas permite a los desarrolladores
1 implementar funciones específicas, sin preocuparse del resto de capas.

a) Los sistemas por lotes permiten agrupar comandos del sistema en un


2 solo archivo y ejecutarlo en bloque.
d) La implementación de una máquina involucra el conocimiento del
hardware base lo que complica su implementación, además una vez
3 implementada por lo general hace que el rendimiento de la máquina
anfitrión disminuya.
Verdadero. Las llamadas al sistema son el mecanismo mediante el cual el
4 sistema operativo da los servicios a los usuarios y procesos.
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
5 generalmente parte del núcleo puesto que el intérprete del comando
está conforme a cambios.
Las llamadas del sistema permiten que los procesos de usuario soliciten
6 servicios del sistema operativo.
Proporcionan funcionalidad básica a los usuarios y así que los usuarios
7 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
8 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.
9 (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.

80
SOLUCIONARIO Guía didáctica: Sistemas Operativos

UNIDAD 3
Pregunta Respuesta
d) Las razones para culminar un proceso son error de ejecución, tiempo
1 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.
Falso. El planificador a corto plazo selecciona los procesos que ya están
3 preparados para ser ejecutados y asigna la CPU a uno de ellos
c) Son los que pueden afectar o ser afectados por los demás procesos que
4 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.
5
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
6 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.
7
• 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
8 cambiado hacia fuera y restaurar los registros de la CPU del nuevo hilo
a programar.

81
Guía didáctica: Sistemas Operativos 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
9 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.

82
SOLUCIONARIO Guía didáctica: Sistemas Operativos

UNIDAD 4
Pregunta Respuesta
b) El algoritmo de planificación de procesos que realiza una asignación
1 equitativa del tiempo de procesador es Round Robin.
d) El algoritmo de planificación que despacha primero al proceso más
2 antiguo es FIFO.
a), c) y d) son los criterios que utilizan los algoritmos para la planificación
3 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)
El programar con planificación apropiativa preferente permite que un
proceso sea interrumpido en medio de su ejecución, eliminando la CPU y
6 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)
FIFO RR SJF PRIORIDAD
7 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 SOLUCIONARIO

La ventaja es que trabajos más importantes se podrían dar más tiempo, es decir
8 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
9 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.

84
SOLUCIONARIO Guía didáctica: Sistemas Operativos

UNIDAD 5
Pregunta Respuesta
d) El semáforo es una variable entera a la que, una vez asignado un
1 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
2 secciones compartidas.
a) La exclusión mutua se da cuando el proceso se está ejecutando en su
3 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
4 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
5 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”.
Granularidad de los semáforos: Utilizada para controlar el paralelismo;
6 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 SOLUCIONARIO

Controlar la concurrencia y naturaleza de la operaciones relacionadas


sobre los datos, es decir, control sobre lo que se hace sobre los datos
7 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.
8
• 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
SOLUCIONARIO Guía didáctica: Sistemas Operativos

UNIDAD 6
Pregunta Respuesta
c) Los problemas de interbloqueos se dan en entornos de
1 multiprogramación.
a) y b) El problema de interbloqueos se puede evitar con la utilización de
2 un protocolo o ignorando el problema.
a) Las condiciones necesarios para que se produzca un interbloqueo
3 son: exclusión mutua, retención y espera, sin desalojo, espera circular.
Verdadero. Un método alternativo para evitar interbloqueos consiste en
4 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.

5 • 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 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
7 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.


8
• 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.


a) y b) Los objetivos de un Sistema de Gestión de Memoria son protección y
3 ofrecer un espacio lógico a los procesos.
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
4 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.

• Si todas las particiones están ocupadas, el sistema operativo puede


intercambiar un proceso fuera de una partición.
5
• 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.

• Se forman áreas libres en espacios de memoria al azar. Esto se llama


fragmentación externa.
6
• 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
SOLUCIONARIO Guía didáctica: Sistemas Operativos

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
7 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.


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
8 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
9 c. Referencia Ilegal, trampa en el sistema operativo.
d. 1327 + 400 = 1727
e. Referencia ilegal, trampa en el sistema operativo.
Paginación Segmentación
Visión del programador No Si
Espacios de direcciones 1 Varios
Mem. Virtual Mem. Física Si Si
Protección Código !=Datos No Si
10 Crecimineto No Si
Compartición No Si
Visión del usuario,
Espacio lineal de
Objetivo compartición y
direcciones
protección
Fragmentación Interna EXterna

89
Guía didáctica: Sistemas Operativos SOLUCIONARIO

UNIDAD 8
Pregunta Respuesta
Técnica/Estructura de
Buenas Malas
programación
Pila x
Tabla de símbolos dispersa x

1 Búsqueda secuencial x
Búsqueda binaria x
Código puro x
Operaciones con vectores x
Indirección x

Sufre anomalía de
Puntuación Algoritmo
Belady
1 Óptimo No
2 2 LRU No
Segunda
3 Si
oportunidad
4 FIFO Si
c) y d) Las ventajas del uso de la memoria virtual son entre otras la facilidad
3 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
4 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
5 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
6 b) p
Número de Marcos LRU FIFO Óptimo
1 20 20 20
2 18 18 15
3 15 16 11
7 4 10 14 8
5 8 10 7
6 7 10 7
7 7 7 7

90
SOLUCIONARIO Guía didáctica: Sistemas Operativos

UNIDAD 9
Pregunta Respuesta
a), c) y d) Los atributos de los archivos son nombre, tipo, ubicación,
1 tiempo de acceso, tiempo de creación.
c) Las bases de datos se suelen implementar en archivos que tienen métodos
2 de acceso directo.
a), b) y c) Las técnicas usadas para mejorar la eficiencia y las prestaciones del
3 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
4 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 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
6 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
7 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.


8 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 Respuesta
Falso. El papel del sistema operativo en la E/S de la computadora consiste en
1 gestionar y controlar las operaciones y dispositivos de E/S.
a), b), c) y d) Todas las opciones le permiten interactuar a los dispositivos
2 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
3 bloques.
Todas las opciones son correctas. Son procesos supervisados por el
4 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).

Buffering puede ser necesario para manejar diferencias de


6 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 Guía didáctica: Sistemas Operativos

Generalmente, la E/S con bloqueo es apropiada cuando el proceso


7 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
8 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

También podría gustarte