Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia Vieja
Guia Vieja
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
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
PRIMER BIMESTRE
UNIDAD 3: PROCESOS................................................................................................................................... 30
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
UNIDAD 6: INTERBLOQUEOS.......................................................................................................................... 52
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
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
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.
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.
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
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.
Elementos de una competencia. Tres son los elementos que podemos distinguir en toda
competencia:
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.
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.
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
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%).
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
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
• 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.
• 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.
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
PRIMER BIMESTRE
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
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.
15
Guía didáctica: Sistemas Operativos PRIMER 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
x x
equipo
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:
16
PRIMER BIMESTRE Guía didáctica: 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:
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:
Usuario
Programador
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.
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.
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
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.
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.
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.
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.
2 Desde el punto de vista del sistema operativo, ¿cuál es la diferencia entre sistemas
monoprocesador y multiprocesador?
20
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos
b) Memoria
c) Procesador
d) Almacenamiento
a) Saber cuáles partes de la memoria se están usando actualmente y quién las está usando
d) Planificar disco
5. Presente una lista de los cuatro pasos necesarios para ejecutar un programa en una máquina
completamente dedicada.
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?
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.
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:
Ir a solucionario
21
Guía didáctica: Sistemas Operativos PRIMER BIMESTRE
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.
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:
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:
“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.
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.
ls
mv
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.
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++.
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.
24
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos
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:
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?
25
Guía didáctica: Sistemas Operativos PRIMER BIMESTRE
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.
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.
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.
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.
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
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.
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?
9. ¿Cuál es la principal ventaja del enfoque con microkernel para el diseño de sistemas?
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.
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.
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.
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.
Identificó todas las palabras clave, si es así continuemos con el siguiente tema, caso contrario
sugerimos una nueva lectura a este apartado.
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.
• ¿En qué momento un proceso pasa de la cola de procesos preparados a la cola del dispositivo y
viceversa?
• 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.
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:
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
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?
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.
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.
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.
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.
Sincronización de procesos
Canal de comunicación
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.
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
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?
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.
Ir a solucionario
35
Guía didáctica: Sistemas Operativos PRIMER BIMESTRE
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.
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
FIFO
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
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.
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.
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.
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.
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.
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?
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.
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
¿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.
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)
¿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.
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.
40
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos
Autoevaluación 4
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
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
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:
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
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.
Ir a solucionario
42
PRIMER BIMESTRE Guía didáctica: Sistemas Operativos
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.
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.
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
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.
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.
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;
• 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.
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.
3 variantes:
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
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
5. ¿Una solución al problema de la sección crítica debe satisfacer los siguientes requerimientos?
¡Vamos! ¡ánimo! Resuelva los siguientes ejercicios propuestos en el texto básico al final
del capítulo 6.
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
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.
- Resuelva la
autoevaluación 7.
49
Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE
- Resuelva la
autoevaluación 8.
50
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
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.
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.
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.
“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:
52
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
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.
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
________________________________________________________________________
________________________________________________________________________
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.
53
Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE
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?
_____________________________________________________________________________
_____________________________________________________________________________________
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.
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:
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:
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.
a) Monoprocesador
b) Multiprocesador
c) Multiprogramación
d) Móviles
3. ¿Cuáles son las cuatro condiciones necesarias para qué se produzca un interbloqueo?
( ) 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.
Los profesores hemos seleccionado los siguientes problemas propuestos en el texto, desarrollelos.
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.
Ir a solucionario
56
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
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).
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.
¿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
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:
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.
_____________________________________________________________________________________
_____________________________________________________________________________________
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:
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:
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
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:
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
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.
60
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
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?
¿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
Ir a solucionario
61
Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE
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.
_____________________________________________________________________________________
_____________________________________________________________________________________
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 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
¿Qué sucede si el proceso intenta acceder a una página que no ha sido cargada en memoria?
________________________________________________________________________
________________________________________________________________________
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.
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.
63
Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE
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”.
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?
_____________________________________________________________________________________
_____________________________________________________________________________________
“Sustituir la página que no haya sido utilizada durante el período más largo de tiempo.”
Para evaluar su comprensión sobre este tema realice un cuadro comparativo entre estos
algoritmos.
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:
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
Lea la sección 9.5 Asignación de marcos, del texto básico, y responda la siguiente pregunta:
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
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.
_____________________________________________________________________________________
_____________________________________________________________________________________
_____________________________________________________________________________________
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.
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.
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
a. Reemplazo LRU
b. Reemplazo FIFO
c. Reemplazo Óptimo
d. Reemplazo de Segunda Oportunidad.
66
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
( ) 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:
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
• Reemplazo LRU
• Reemplazo FIFO
• Reemplazo óptimo
Ir a solucionario
67
Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE
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.
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
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?
Método Características
Secuencial
Directo
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.
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.
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
Actividad recomendada:
Grupo: Lectura
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.
Continua
Enlazada
Indexada
70
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
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
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
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:
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:
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.
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
( ) Verdadero ( ) Falso
72
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
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
Ir a solucionario
73
Guía didáctica: Sistemas Operativos SEGUNDO BIMESTRE
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
Actividad recomendada:
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.
74
SEGUNDO BIMESTRE Guía didáctica: Sistemas Operativos
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.
• Modo de transferencia
• Método de acceso
• Plan de transferencia
• Compartimiento
• Velocidad
• Dirección de E/S
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:
• 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:
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
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:
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?
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.
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:
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.
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.
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.
81
Guía didáctica: Sistemas Operativos SOLUCIONARIO
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
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.
85
Guía didáctica: Sistemas Operativos SOLUCIONARIO
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.
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:
87
Guía didáctica: Sistemas Operativos SOLUCIONARIO
UNIDAD 7
Pregunta Respuesta
1 a) En segmentación los segmentos tiene longitud variable.
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
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.
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:
5 Desventajas:
Caching puede ser usada para sostener las copias de los datos que
residen sobre la cinta, para el acceso más rápido.
92
SOLUCIONARIO Guía didáctica: Sistemas Operativos
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 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.
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 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.
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.
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 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 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.
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 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.
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
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 acceso aleatorio: Puede instruir al dispositivo para que busque en cualquiera de las
ubicaciones disponibles de almacenamiento de datos.
Dispositivo compartido: Puede ser usado de manera concurrente por varios hilos o procesos.
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