Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODALIDAD: Presencial
Copyright©2020 Instituto Superior Tecnológico Ismael Pérez Pazmiño. All rights reserved.
2
Ing. Jorge Jaramillo Alba
Sistemas Operativos
INDICE
Presentación……………………………………………………………………………. 4
Syllabus………………………………………………………………………………… 5
Orientaciones…………………………………………………………………………… 16
Desarrollo de Actividades:
3
PRESENTACIÓN
Con la finalidad de afianzar los conocimientos de cada una de las asignaturas
correspondientes al estudio de la carrera de Tecnología en Redes y
Telecomunicaciones, se han desarrollado un conjunto de guías de estudio, las mismas
que van a fomentar y cimentar los conocimientos que el estudiante debe adquirir,
específicamente en este documento, acerca de Sistemas Operativos.
TEMA II: Tipos de Sistemas Operativos, mediante el cual se categorizará los sistemas
operativos a través de sus características y estructuras que permitan la selección
adecuadas de los mismos acorde a las necesidades presentadas.
TEMA III: Procesos de los Sistemas Operativos, donde se describirá los procesos de
un sistema operativo analizando su funcionamiento para la optimización de recursos
del sistema.
TEMA IV: Gestión de Memoria, que servirá para interpretar la gestión de memoria del
sistema operativo mediante el desarrollo de ejercicios en base a escenarios que
permitan la correcta administración del consumo de memoria en el sistema.
4
Ing. Jorge Jaramillo Alba
Sistemas Operativos
5
SYLLABUS DE LA ASIGNATURA
I. DATOS INFORMATIVOS
II. FUNDAMENTACIÓN
Los sistemas operativos son parte esencial de cualquier instalación informática, al
ejercer una gran influencia sobre la funcionalidad y prestaciones de cada computador
y del sistema completo. Aunque existe una gran diversidad de sistemas informáticos
para los que se diseñan sistemas operativos, ante la evolución de los campos de
aplicación, y frente al veloz ritmo de cambio de las tecnologías, la concepción de los
sistemas operativos sigue basándose en un conjunto de principios y conceptos
fundamentales que se pueden aplicar en todos los casos de una forma consistente.
El estudio de los sistemas operativos resulta fundamental para profesionales de
informática y de sistemas, siendo una de las razones más importantes: comprender
su funcionamiento y aprender a extraer la máxima eficiencia de ellos.
El aporte se orienta a que el estudiante debe dominar los servicios y las utilidades que
ofrece un sistema operativo, así como la gestión de los recursos que proporcionan
tales servicios. Esto incluye los siguientes conceptos: intérprete de comandos,
llamada al sistema, seguridad, protección, biblioteca de sistema, biblioteca dinámica,
proceso, multiproceso, tiempo compartido, concurrencia, exclusión mutua, thread,
planificación de procesos, entrada/salida, canal, sistema de ficheros, gestor de
dispositivos, comunicación entre procesos (pipes, eventos, semáforos), sockets,
memoria compartida, memoria virtual, paginación, área de swap. Asimismo, el
6
Ing. Jorge Jaramillo Alba
Sistemas Operativos
IV. CONTENIDOS
7
Unidad II: Describir los tipos de sistemas operativos.
Unidad III: Analizar los procesos de un sistema operativo.
Unidad IV: Aplicar la gestión de memoria del sistema operativo.
Unidad V: Seleccionar sistemas de archivos adecuados.
Unidad VI: Instalar sistemas operativos.
V. PLAN TEMÁTICO
DESARROLLO DEL PROCESO CON TIEMPO EN HORAS
TEMAS DE LA C CP S CE T L E THP TI THA
ASIGNATURA
Generalidades 10 - - - - - 2 12 4 16
de los Sistemas
Operativos
Tipos de 12 2 - - 2 - 2 18 4 22
Sistemas
Operativos
Procesos de los 8 6 - - 2 - 2 18 8 26
Sistemas
Operativos
Gestión de 8 8 - - - - 2 18 8 26
Memoria
Sistemas de 12 4 - - - - 2 18 8 26
Archivos
Instalación y 2 16 - - 4 - 2 24 8 32
Configuración
de Sistemas
Operativos
EXAMEN FINAL - -
Total de horas 52 36 - - 8 - 12 108 40 148
Leyenda:
C – Conferencias.
S – Seminarios.
CP – Clases prácticas.
8
Ing. Jorge Jaramillo Alba
Sistemas Operativos
CE – Clase encuentro.
T – Taller.
L – Laboratorio.
E- Evaluación.
THP – Total de horas presenciales.
TI – Trabajo independiente.
THA – Total de horas de la asignatura.
9
Sistema de Sistema de habilidades Sistema de Valores
conocimientos
▪ Sistemas Operativos por ▪ Describir los ▪ Responsabilidad en
su Estructura sistemas operativos la descripción de los
o Sistemas por su estructura. tipos de Sistemas
monolíticos: ▪ Describir los Operativos.
o Sistemas con sistemas operativos
capas: por los servicios que
o Máquinas virtuales: prestan.
o Modelo cliente - ▪ Describir los
servidor servicios por la
▪ Sistemas Operativos por forma en que
Servicios prestan sus
o Monousuarios servicios.
o Multiusuarios
o Monotarea
o Multitareas
o Uniproceso
o Multiproceso
▪ Sistemas Operativos por
la Forma de Ofrecer sus
Servicios
o Sistemas
Operativos de Red
o Sistemas
Operativos
Distribuidos
10
Ing. Jorge Jaramillo Alba
Sistemas Operativos
11
Sistema de Sistema de habilidades Sistema de Valores
conocimientos
▪ Aplicar la
compactación de
memoria.
▪ Aplicar el proceso de
paginación.
▪ Aplicar el proceso de
segmentación de
memoria.
12
Ing. Jorge Jaramillo Alba
Sistemas Operativos
13
▪ Técnicas activas
o Conferencia participativa
o Generación de ideas
o Solución de problemas
o Trabajos Grupales
o Clases Practicas
Por ello desde el primer día de clases, se presentará las unidades didácticas y los
criterios de evaluación del proyecto final. Se determinará el objeto de estudio, que en
este caso son los Sistemas Operativos.
Se explica a los estudiantes que el semestre se compone de dos parciales con una
duración de diez semanas de clases cada una, en cada parcial se evaluará sobre
cinco puntos las actividades diarias de las clases, trabajos autónomos, trabajos de
investigación, actuaciones en clases y talleres; sobre dos puntos un examen de parcial
14
Ing. Jorge Jaramillo Alba
Sistemas Operativos
que se tomará en la semana diez y semana veinte. De esta manera cada parcial tendrá
una nota total de siete puntos como máximo.
Parámetros Específicos
- Selección adecuada de los Sistemas Operativos 0.25
- Proceso de Instalación del Sistema Operativo 0.75
- Configuración del Sistema Operativo 1.00
TOTAL 2,00
Una vez que el estudiante exponga su proyecto integrador y defienda las preguntas
propuestas por el tribunal, será notificado en ese momento la nota obtenida y se
procederá a la respectiva firma de constancia.
15
Los estudiantes deberán alcanzar un puntaje mínimo de 7,00 puntos para aprobar la
asignatura, siendo de carácter obligatorio la presentación del proyecto integrador.
El estudiante no conforme con la nota del proyecto integrador podrá solicitar mediante
oficio una recalificación y obtendrá respuesta del mismo en un plazo no mayor a tres
días hábiles.
16
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Imagen Significado
Sugerencia
Talleres
Reflexión
17
Subir Tareas al Aula
Virtual Amauta
Apunte clave
Foro
Resumen
Evaluación
18
Ing. Jorge Jaramillo Alba
Sistemas Operativos
DESARROLLO DE ACTIVIDADES
Unidad Didáctica I
Título de la Unidad Didáctica I:
Generalidades de los Sistemas Operativos
Introducción de la Unidad Didáctica I:
Sin el software, una computadora no es más que una masa metálica sin utilidad. Con
el software, una computadora puede almacenar, procesar y recuperar información,
encontrar errores de ortografía en manuscritos, tener aventuras e intervenir en muchas
otras valiosas actividades para ganar el sustento. El software para computadoras
puede clasificarse en general en dos clases: los programas de sistema, que controlan
la operación de la computadora en si y los programas de aplicación, los cuales
resuelven problemas para sus usuarios. El programa fundamental de todos los
programas de sistema es el sistema operativo (SO), que controla todos los recursos
de la computadora y proporciona la base sobre la cual pueden escribirse los
programas de aplicación
Objetivo de la Unidad Didáctica I:
Caracterizar los sistemas operativos y su historia mediante sus orígenes y evolución
a la par de los avances tecnológicos que permita la identificación del sistema más
adecuado para una red de computadoras con responsabilidad.
Organizador Gráfico de la Unidad didáctica I:
Funciones Servicios
OBJETIVOS Arquitectura
GENERALIDADES
DE LOS
CONCEPTOS SISTEMAS
Niveles
OPERATIVOS
19
Actividades de aprendizaje de la Unidad Didáctica I:
Actividad de Aprendizaje 1 de la Unidad Didáctica I:
Introducción a los Sistemas Operativos
Desde el punto de vista de la computadora, el sistema operativo es el programa más
íntimamente relacionado con el hardware. En este contexto, podemos ver un sistema
operativo como un asignador de recursos. Un sistema informático tiene muchos
recursos que pueden ser necesarios para solucionar un problema: tiempo de CPU,
espacio de memoria, espacio de almacenamiento de archivos, dispositivos de entrada
y salida, entre otros. El sistema operativo actúa como administrador de estos recursos,
y al enfrentarse a numerosas y posiblemente conflictivas solicitudes de recursos, el
sistema operativo debe decidir cómo asignarlos a programas y usuarios específicos,
de modo que la computadora pueda operar de forma eficiente y equitativa. La
asignación de recursos es especialmente importante cuando muchos usuarios
acceden al mismo computador o servidor.
Un sistema operativo es un programa de control, y como tal, gestiona la ejecución de
los programas de usuario para evitar errores y mejorar el uso de la computadora, en
especial, con el funcionamiento y control de los dispositivos de entada y salida.
Concepto
Un sistema operativo es un conjunto de programas (importante: si no es un conjunto,
no es un sistema operativo) que actúa como interfaz entre el usuario del ordenador y
los componentes físicos (hardware) del mismo. Controla y coordina el uso del
hardware entre los diversos programas de aplicación de los distintos usuarios.
20
Ing. Jorge Jaramillo Alba
Sistemas Operativos
21
minicomputadoras de la clase PDP-11, pero en términos de precio sin duda eran
distintas.
Para cuando salió al mercado en 1983 la IBM PC/AT, sucesora de la IBM PC, con la
CPU Intel 80286, MS-DOS estaba muy afianzado y CP/M daba sus últimos suspiros.
Más adelante, MS-DOS se utilizó ampliamente en el 80386 y 80486. Aunque la versión
inicial de MS-DOS era bastante primitiva, las versiones siguientes tenían
características más avanzadas, incluyendo muchas que se tomaron de UNIX.
(Microsoft estaba muy al tanto de UNIX e inclusive vendía una versión de este sistema
para microcomputadora, conocida como XENIX, durante los primeros años de la
compañía).
Apple Macintosh: Un día, Steve Jobs, que fue co-inventor de la computadora Apple
en su cochera, visitó PARC, vio una GUI y de inmediato se dio cuenta de su valor
potencial, algo que la administración de Xerox no hizo. Posteriormente, Jobs
emprendió el proyecto de construir una Apple con una GUI. Este proyecto culminó en
Lisa, que era demasiado costosa y fracasó comercialmente. El segundo intento de
Jobs, la Apple Macintosh, fue un enorme éxito, no sólo debido a que era mucho más
económica que Lisa, sino también porque era amigable para el usuario (user friendly),
lo cual significaba que estaba diseñada para los usuarios que no sólo no sabían nada
acerca de las computadoras, sino que además no tenían ninguna intención de
aprender. En el mundo creativo del diseño gráfico, la fotografía digital profesional y la
producción de video digital profesional, las Macintosh son ampliamente utilizadas y
sus usuarios son muy entusiastas sobre ellas. Cuando Microsoft decidió crear un
sucesor para el MS-DOS estaba fuertemente influenciado por el éxito de la Macintosh.
Produjo un sistema basado en GUI llamado Windows, el cual en un principio se
ejecutaba encima del MS-DOS (es decir, era más como un shell que un verdadero
22
Ing. Jorge Jaramillo Alba
Sistemas Operativos
sistema operativo). Durante cerca de 10 años, de 1985 a 1995, Windows fue sólo un
entorno gráfico encima de MS-DOS. Sin embargo, a partir de 1995 se liberó una
versión independiente de Windows, conocida como Windows 95, que incorporaba
muchas características de los sistemas operativos y utilizaba el sistema MS-DOS
subyacente sólo para iniciar y ejecutar programas de MS-DOS antiguos. En 1998, se
liberó una versión ligeramente modificada de este sistema, conocida como Windows
98. Sin embargo, tanto Windows 95 como Windows 98 aún contenían una gran
cantidad de lenguaje ensamblador para los procesadores Intel de 16 bits.
En el 2012, Microsoft lanzó Windows 8. Por primera vez desde Windows 95, el botón
Inicio ya no está disponible en la barra de tareas (lo cual se corrigió en la versión 8.1),
aunque la pantalla de inicio está aún activa haciendo clic en la esquina inferior
23
izquierda de la pantalla y presionando la tecla Inicio en el teclado. Presenta un
Explorador de Windows rediseñado, con la famosa interfaz ribbon de Microsoft Office.
Se conservan la gran mayoría de las características de su predecesor, Windows 7,
con excepción de la nueva interfaz gráfica y algunos cambios menores.
24
Ing. Jorge Jaramillo Alba
Sistemas Operativos
• Arquitecturas de SO
▪ Monolítica
▪ Capas
▪ Máquina Virtual
▪ MIcrokernel
a) Gestión de Procesos
Un proceso lo definimos como una instancia de un programa en ejecución.
El SO es responsable de las siguientes actividades relacionadas con los procesos:
▪ Crear/Destruir procesos.
▪ Suspender/reanudar procesos.
▪ Suministrar los mecanismos para sincronizar y comunicar procesos.
25
c) Gestión de Archivos
Un archivo es una colección de información con nombre. Es la entidad básica de
almacenamiento persistente.
El sistema de archivos suministra:
▪ Primitivas para manipular archivos y directorios: crear, borrar, leer, escribir,
renombrar.
▪ Correspondencia entre archivos y su almacenamiento secundario.
▪ También, suministra servicios generales: backup, contabilidad y cuotas, etc.
d) Gestión de Entradas/Salidas
Los SO ofrecen a los programas una interfaz estándar de los dispositivos, es decir,
utilizan las mismas funciones independientemente del dispositivo al que accedan.
Un manejador de dispositivo es un módulo que gestiona un tipo de dispositivo. El
encapsula el conocimiento específico del dispositivo, p.ej., inicialización,
interrupciones, lectura/escritura, etc.
e) Sistema de Protección
Protección referencia al mecanismo (políticas) para controlar los accesos de los
programas a los recursos del sistema.
El mecanismo de protección debe:
▪ Distinguir entre uso autorizado o no.
▪ Especificar qué control se debe imponer, y suministrar los medios para su
aplicación.
▪ La protección suele ser un mecanismo general a todo el SO, es decir, no está
localizada en un único módulo.
f) Intérprete de Órdenes
Un intérprete de comandos o Shell es un programa o proceso que maneja la
interpretación de órdenes del usuario desde un terminal, o archivo de órdenes, para
acceder a los servicios del SO.
Puede ser una parte estándar del SO, p. ej. El command.com de MS-DOS. O bien, un
proceso no privilegiado que hace de interfaz con el usuario. Esto permite la sustitución
de un intérprete por otro. P. ej. en Unix tenemos csh, bash, ksh, etc.
26
Ing. Jorge Jaramillo Alba
Sistemas Operativos
a) Estructura Monolítica
En esta estructura todos los gestores se encontraban en un solo programa. Los
componentes del SO se ejecutan en modo kernel, la relación entre ellos es compleja.
El modelo de obtención de servicios es la llamada a procedimiento.
b) Estructura de Capas
En este sistema se crearon varios programas o capas, cada uno dedicado a algún
servicio, y cada capa considerada como una máquina abstracta para la máquina
superior; la comunicación es a través de mensajes en el que se da el resultado de
alguna operación. Utilizan modularidad, las capas se seleccionan para que cada una
utilice sólo funciones de las capas inferiores.
Es decir, si la capa superior (por ej. La interfaz del usuario) necesita hacer algo cuando
se dé clic, las capas inferiores realizan todo ese tratamiento desde el controlador del
mouse y le devuelven si se dio o no clic donde esperaba, y la capa superior recibe
ésta respuesta para proceder al siguiente paso.
27
c) Máquina Virtual
Sigue el enfoque de capas para su conclusión lógica.
La Máquina Virtual crea múltiples réplicas idénticas del hardware.
El SO crea la ilusión de múltiples procesos, cada uno ejecutándose en su propia CPU
con su propia memoria.
d) Arquitectura MicroKernel
Algunas de las funciones del SO se implementan como procesos de usuario. Por
ejemplo, el sistema de archivos como un servidor.
El (micro) kernel sólo necesitaría contener la funcionalidad básica para crear y
comunicar procesos.
28
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Unidad Didáctica II
Título de la Unidad Didáctica II:
Tipos de Sistemas Operativos
Introducción de la Unidad Didáctica II:
Los sistemas operativos normalmente vienen precargados en cualquier computador
que se adquiera. La mayoría de las personas utilizan el sistema operativo que viene
con el computador, siendo posible actualizarlo o incluso substituirlo por otro
alternativo, que se adapte a las características del trabajo que se debe realizar.
Objetivo de la Unidad Didáctica II:
Describir los tipos de sistemas operativos a través de sus características y estructuras
que permitan la selección adecuadas de los mismos acordes a las necesidades
presentadas responsablemente
Organizador Gráfico de la Unidad didáctica II:
Sistemas
Sistemas Sistemas
Operativos por la
Operativos por su Operativos por
Forma de Ofrecer
Estructura Servicios
sus Servicios
29
rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las
características fundamentales de este tipo de estructura son:
• Construcción del programa final a base de módulos compilados separadamente
que se unen a través del ligador.
• Buena definición de parámetros de enlace entre las distintas rutinas existentes,
que puede provocar mucho acoplamiento.
• Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes
aspectos de los recursos de la computadora, como memoria, disco, etc.
• Generalmente están hechos a medida, por lo que son eficientes y rápidos en su
ejecución y gestión, pero por lo mismo carecen de flexibilidad para soportar
diferentes ambientes de trabajo o tipos de aplicaciones.
Estructura por Capas: a medida que fueron creciendo las necesidades de los
usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización
del software, del sistema operativo, donde una parte del sistema contenía subpartes
y esto organizado en forma de niveles.
Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas
estuviera perfectamente definida y con un claro interface con el resto de elementos.
extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas
se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina
extendida al usuario
El núcleo tiene como misión establecer la comunicación entre los clientes y los
servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un
programa de aplicación normal es un cliente que llama al servidor correspondiente
para acceder a un archivo o realizar una operación de entrada/salida sobre un
dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para
otro. Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el
sistema final, ya que el núcleo provee solamente funciones muy básicas de memoria,
entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría que
el usuario final o programador puede usar. Estos servidores deben tener mecanismos
de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el
hardware. Actualmente se está trabajando en una versión de UNIX que contempla en
su diseño este paradigma.
En otras palabras los sistemas monousuarios son aquellos que nada más puede
atender a un solo usuario, gracias a las limitaciones creadas por el hardware, los
programas o el tipo de aplicación que se este ejecutando.
31
Sistema Operativo Multiusuario: los sistemas operativos multiusuarios son capaces
de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales
conectadas a la computadora o por medio de sesiones remotas en una red de
comunicaciones. No importa el número de procesadores en la máquina ni el número
de procesos que cada usuario puede ejecutar simultáneamente.
En esta categoría se encuentran todos los sistemas que cumplen simultáneamente las
necesidades de dos o más usuarios, que comparten mismos recursos. Este tipo de
sistemas se emplean especialmente en redes. En otras palabras consiste en el
fraccionamiento del tiempo (timesharing).
Sistema Operativo Monotarea: los sistemas monotarea son aquellos que sólo
permiten una tarea a la vez por usuario. Puede darse el caso de un sistema
multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero
cada uno de ellos puede estar haciendo solo una tarea a la vez.
Los sistemas operativos monotareas son más primitivos y, solo pueden manejar un
proceso en cada momento o que solo puede ejecutar las tareas de una en una.
32
Ing. Jorge Jaramillo Alba
Sistemas Operativos
33
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los
siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
Sistemas Operativos de Red: son aquellos sistemas que mantienen a dos o más
computadoras unidas a través de algún medio de comunicación (físico o no), con el
objetivo primordial de poder compartir los diferentes recursos y la información del
sistema.
Sistemas Operativos por Lotes: los Sistemas Operativos por lotes, procesan una
gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los
programas en ejecución. Se reúnen todos los trabajos comunes para realizarlos al
mismo tiempo, evitando la espera de dos o más trabajos como sucede en el
procesamiento en serie.
Sistemas Operativos de Tiempo Real: los Sistemas Operativos de tiempo real son
aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por lo
general, están subutilizados sus recursos con la finalidad de prestar atención a los
procesos en el momento que lo requieran. Se utilizan en entornos donde son
procesados un gran número de sucesos o eventos.
Muchos Sistemas Operativos de tiempo real son construidos para aplicaciones muy
específicas como control de tráfico aéreo, bolsas de valores, control de refinerías,
control de laminadores. También en el ramo automovilístico y de la electrónica de
consumo, las aplicaciones de tiempo real están creciendo muy rápidamente. Otros
campos de aplicación de los Sistemas Operativos de tiempo real son los siguientes
ilusión de que tiene el sistema dedicado para sí mismo. Esto trae como consecuencia
una gran carga de trabajo al Sistema Operativo, principalmente en la administración
de memoria principal y secundaria.
En UNIX existe también la posibilidad de ejecutar programas sin tener que atenderlos
en forma interactiva, simulando paralelismo (es decir, atender de manera concurrente
varios procesos de un mismo usuario). Así, en lugar de esperar a que el proceso
termine de ejecutarse (como lo haría normalmente), regresa a atender al usuario
inmediatamente después de haber creado el proceso.
1.- Elabore un cuadro sinóptico que resuma las clasificaciones de los tipos
de sistemas operativos en sus diferentes categorizaciones
35
Unidad Didáctica III
Título de la Unidad Didáctica III:
Procesos
Introducción de la Unidad Didáctica III:
Dentro de las operaciones más básicas y la vez más complejas del sistema operativo
en un dispositivo, están los procesos. Estos permitirán entrar al mundo que se
despertará en el computador o dispositivo electrónico, metafóricamente.
Cada vez que se solicita al computador, mediante el sistema operativo realizar una
función u orden, los procesos asumen el trabajo comenzando la comunicación y flujo
de información con el microprocesador para las ejecuciones correspondientes, acorde
a los planes del sistema operativo influenciado por los procesos.
Objetivo de la Unidad Didáctica III:
Describir los procesos de un sistema operativo analizando su funcionamiento para la
optimización de recursos del sistema.
Elementos de un proceso
PROCESOS
Tipos de planificación
36
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Contenido de un Proceso
Un proceso contiene:
• El código del programa o sección de texto.
• Contador de programa y contenido de registros del procesador.
• La pila (stack) del proceso, que contiene datos temporales (como los parámetros
de subrutinas, direcciones de retorno y variables temporales)
• Sección de datos, que contiene variables globales.
Estado de un proceso
Varios procesos pueden ejecutar incluso el mismo programa (p.ej. un editor) pero cada
uno tiene su propia representación.
Cada proceso está en un estado de ejecución que caracteriza lo que hace y determina
las acciones que se pueden sobre él.
2
37
Bloqueado o En Espera- El proceso espera por un suceso, no puede ejecutarse en
tanto no ocurra algún evento externo.
Terminado. - El proceso terminó su ejecución.
Conforme un programa se ejecuta, pasa de un estado a otro.
• Información contable.
• Información del estado de las E/S.
Colas de estados
• Cola de trabajos. - conjunto de todos los procesos del sistema.
• Cola de preparados. - Conjunto de todos los procesos que residen en memoria
principal, preparados y esperando para ejecutarse.
• Cola(s) de espera. - Conjunto de todos los procesos esperando por un dispositivo
de E/S particular o por un suceso (búfer de memoria, un semáforo, etc.).
a) Creación de Procesos
Los pasos a seguir por el SO:
1. Asignarle un PCB
2. Establecer su contexto de memoria (espacio de direcciones)
3. Cargar imagen (ejecutable) en memoria
4. Ajustar su contexto de CPU (registros)
5. Marcar la tarea como ejecutable:
39
• Saltar al punto de entrada, o
• ponerlo en la cola de procesos preparados.
b) Terminación de Procesos
Un proceso finaliza cuando ejecuta la declaración de terminación (explícita o
implícitamente), e informa al SO que ha decidido terminar.
Los procesos son creados y destruidos por el sistema operativo, así como
también este se debe hacer cargo de la comunicación entre procesos,
pero lo hace a petición de otros procesos.
Planificador
Módulo del SO que controla la utilización de un recurso. Tiene por objetivo dar un buen
servicio a todos los procesos que coexistan en el sistema.
40
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Políticas de Planificación
Las decisiones de planificación pueden tener lugar cuando el proceso se conmuta del:
1. Estado ejecutándose a bloqueando.
2. Estado ejecutándose a preparado.
3. Estado bloqueado a preparado.
4. Estado ejecutándose a finalizado.
41
Criterios de Planificación
• Equitatividad
• Eficiencia
• Tiempo de respuesta
• Tiempo de retorno
• Volumen de información
Ejemplo:
Calcular el tiempo de espera, tiempo de retorno y tiempo medio de espera si aplicamos
el algoritmo FCFS suponiendo que los procesos siguientes llegan en el mismo instante
y en el orden: P1, P2, P3.
Desarrolle el ejercicio anterior con el siguiente orden de llegada: P2, P3, P1.
La palabra shortest (el más corto) se refiere al proceso que tenga el próximo ciclo de
CPU más corto. La idea es escoger entre todos los procesos listos el que tenga su
próximo ciclo de CPU más pequeño.
El SJF se puede comportar de dos formas:
SFJ No expulsivo
Ejemplo:
43
Actividad de Aprendizaje 6 de la Unidad Didáctica III:
SFJ expulsivo
Ejemplo:
SJF No Expulsivo
Este algoritmo siempre prioriza los procesos más cortos primero
independientemente de su llegada y en caso de que los procesos sean
iguales utilizara el método FIFO anterior, es decir, el orden según entrada.
Este sistema tiene el riesgo de poner siempre al final de la cola los
procesos más largos por lo que nunca se ejecutarán, esto se conoce como
inanición.
SJF Expulsivo
Añadiendo la expulsión de procesos al algoritmo SJF, éste será capaz de
expulsar un proceso largo en ejecución para ejecutar otros más cortos. El
problema que puede surgir es que un proceso largo puede llegar a
expulsarse muchas veces y nunca terminar debido a la ejecución de otros
más cortos.
Este algoritmo es circular, volviendo siempre al primer proceso una vez terminado con
el último, para controlar este método a cada proceso se le asigna un intervalo de
44
Ing. Jorge Jaramillo Alba
Sistemas Operativos
tiempo llamado quantum o cuanto (para definirlo se utiliza esta regla, el 80% de los
procesos tienen que durar menos tiempo que el quantum definido).
Ejemplo:
45
Actividad de Aprendizaje 8 de la Unidad Didáctica III:
Formas de Despacho
▪ En un sistema monoprocesador nunca habrá más de un proceso en ejecución.
Si hay más procesos, tendrán que esperar a que la CPU quede libre para
reasignarse.
▪ Para un mayor aprovechamiento, se mantienen varios procesos en memoria a
la vez. Cuando un proceso necesita esperar, el SO lequita la CPU y se la da a
otro proceso.
▪ Casi todos los recursos del computador se planifican antes de usarse; la
planificación es fundamental en el diseño de un SO.
▪ Ciclo de ráfagas de CPU y E/S: La ejecución de un proceso consiste en un ciclo
de ejecución alternando de manera sucesiva: Ráfagas de CPU (que inician el
proceso), durante las cuales el proceso ejecuta instrucciones; Ráfagas de E/S,
durante las cuales el proceso utiliza o espera por la E/S; Se ha medido la
duración de las ráfagas de CPU y resulta que varían considerablemente de un
proceso a otro y de un procesador a otro, sin embargo, tienden a tener una curva
de frecuencia bien tipificada.
▪ Histograma de tiempos de ráfaga de CPU: Se observa: Gran número de ráfagas
de CPU cortas y pocas ráfagas de CPU largas.; Ráfagas de CPU cortas:
programas limitados por E/S.; Ráfagas de CPU largas: programas limitados por
CPU.
▪ Planificación expropiativa:
▪ Las decisiones de planificación de CPU se toman según las cuatro
situaciones siguientes:
▪ (1) Cuando un proceso pasa del estado en ejecución a en espera.
▪ (2) Cuando un proceso pasa del estado en ejecución a listo.
▪ (3) Cuando un proceso pasa del estado en espera al estado listo.
▪ (4) Cuando un proceso termina.
▪ Los casos 1 y 4corresponden a una planificación no expropiativa (a la fuerza hay
que escoger un nuevo proceso).
▪ Los casos 2 y 3corresponden a una planificación expropiativa.
▪ Criterios de planificación:
▪ Utilización de CPU: Porcentaje de tiempo que la CPU está ocupada.
▪ Rendimiento: Número de procesos, trabajos, que se completan por unidad
de tiempo.
▪ Tiempo de retorno: Tiempo transcurrido entre la llegada de un proceso y
su finalización.
▪ Tiempo de espera: Tiempo que un proceso permanece en la cola de
preparados.
▪ Tiempo de respuesta: Tiempo que un proceso bloqueado tarda en entrar
en la CPU desde que ocurre el suceso que lo bloquea.
46
Ing. Jorge Jaramillo Alba
Sistemas Operativos
47
Atento a la Evaluación del Parcial I
48
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Unidad Didáctica IV
Título de la Unidad Didáctica IV:
Gestión de Memoria
Introducción de la Unidad Didáctica IV:
En la memoria física de un computador coexisten el sistema operativo, las rutinas de
enlace dinámico y los programas de usuario. En los sistemas operativos modernos la
gestión de memoria resuelve aspectos como la carga de programas y su ubicación
para ello, hay que establecer la correspondencia entre las direcciones lógicas del
programa y su ubicación física en memoria; la presencia simultánea de más de un
programa en memoria; la posibilidad de cargar rutinas en tiempo de ejecución (rutinas
de enlace dinámico; la compartición de espacios de memoria por varios programas; la
ejecución de programas que no caben completos en memoria; la gestión eficiente del
espacio de memoria libre.
A lo largo de la historia, los sistemas operativos han ido introduciendo conceptos y
mecanismos hasta llegar a ofrecer las características comentadas. Como el camino
ha sido largo y son muchos los aspectos que se combinan hoy en día, conviene revisar
las políticas de gestión de memoria teniendo en cuenta las propiedades
fundamentales que pueden ofrecer.
Objetivo de la Unidad Didáctica IV:
Aplicar la gestión de memoria del sistema operativo mediante el desarrollo de
ejercicios en base a escenarios que permitan la correcta administración del consumo
de memoria en el sistema de forma responsable.
Organizador Gráfico de la Unidad didáctica IV:
Memoria Real y
Virtual
Particiones y
Gestión Gestión de
Algoritmos de
Asignación
de Bloques de
Memoria
Memoria
Fragmentación
Compactación
Paginación
Segmentación
49
Actividades de aprendizaje de la Unidad Didáctica IV:
Actividad de Aprendizaje 1 de la Unidad Didáctica IV:
Memoria Virtual y Memoria Real
El Administrador De Memoria se refiere a los distintos métodos y operaciones que se
encargan de obtener la máxima utilidad de la memoria, organizando los procesos y
programas que se ejecutan de manera tal que se aproveche de la mejor manera
posible el espacio disponible.
Las técnicas que existen para la carga de programas en la memoria son: partición fija,
que es la división de la memoria libre en varias partes (de igual o distinto tamaño) y la
partición dinámica, que son las particiones de la memoria en tamaños que pueden ser
variables, según la cantidad de memoria que necesita cada proceso.
50
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Memoria virtual
Es una combinación entre hardware especial y el sistema operativo hace uso de la
memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha
más memoria principal (RAM) que la que realmente posee. Aunque la memoria virtual
podría estar implementada por el software del sistema operativo, en la práctica casi
siempre se usa una combinación de hardware y software, dado el esfuerzo extra que
implicaría para el procesador.
Este método es invisible a los procesos, debido a que sólo la parte de memoria virtual
que está almacenada en la memoria principal, es accesible a la CPU.
La memoria virtual también simplifica la carga del programa para su ejecución llamado
reubicación, este procedimiento permite que el mismo programa se ejecute en
cualquier posición de la memoria física.
La cantidad de memoria máxima que se puede hacer ver que hay tiene que ver con
las características del procesador. Por ejemplo, en un sistema de 32 bits, el máximo
es 232, lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del
programador de aplicaciones mucho más fácil, al poder ignorar completamente la
necesidad de mover datos entre los distintos espacios de memoria.
cuando la memoria real sea menor, la cantidad de páginas faltantes estará dada
por la razón de la memoria virtual usada por la memoria real disponible.
Estructura de los programas: La cantidad de memoria virtual que usa un
programa no es un factor tan significativo en la performance del equipo como
la forma en que la usa. Algunas formas para incrementar el rendimiento del
equipo son:
• Usar áreas de entrada/salida más larga: Reduce el tiempo en que las páginas
del programa estarán en memoria real. Sin embargo, un aumento muy
significativo podría afectar negativamente el rendimiento en equipos con poca
memoria real.
• Aumentar la capacidad de manejo de páginas faltantes cuando la actividad de
paginación causa frecuentes desactivaciones de programas: Esto puede ser
realizado:
• Usando un dispositivo de mayor velocidad; estableciendo más dispositivos de
paginación; reduciendo o eliminados archivos del dispositivo de paginación;
reduciendo la actividad del canal que corresponde al dispositivo de paginación;
o aumentando un poco la memoria real.
Vale aclarar entonces que cuando hablamos de formatear un disco se está hablando
de crear una partición que ocupe todo el espacio disponible de una unidad física de
almacenamiento.
Las particiones pueden ser utilizadas para permitir a un equipo en particular tener
instalado varios sistemas operativos en un mismo disco físico; de hecho algunos
sistemas operativos necesitan más de una partición para funcionar, o bien, para
aprovechar el rendimiento del equipo. Una partición también puede ser útil para
proporcionar al usuario un espacio para almacenar copias de seguridad de tal manera
53
que los archivos puedan quedar protegidos de un sistema de archivos roto e
irrecuperable o de un formateo accidental hecho a la partición donde esta el archivo
original.
Particiones Fijas
El primer intento para posibilitar la multiprogramación fue la creación de particiones
fijas o estáticas, en la memoria principal, una partición para cada tarea. El tamaño de
la partición se especificaba al encender el sistema, cada partición podía re-
configurarse al volver a encender el sistema o reiniciar el sistema.
Este esquema introdujo un factor esencial, la protección del espacio de memoria para
la tarea. Una vez asignada una partición a una tarea, no se permitía que ninguna otra
tarea entrara en sus fronteras. Este esquema de partición es más flexible que la de
usuario único, porque permite que varios programas estén en memoria al mismo
tiempo.
Ventajas:
- Simplicidad
- Resolución de direcciones en tiempo de carga
- Registro base (no requiere siquiera de un registro limite)
- Puede limitarse simplemente con un espacio de direccionamiento acorde en el
compilador.
Desventajas
- Rigidez
- Grado de multiprocesamiento limitado
- Si hay menos de 7 procesos, se desperdician recursos.
- Si hay más de 7, tienen que esperar a que se les abra espacio.
- Desperdicio de espacio (Fragmentación interna)
- Al asignarse la memoria en bloques fijos, un proceso pequeño podría desperdiciar
mucho espacio
Particiones Dinámicas
Las particiones dinámicas son variables en número y longitud, esto quiere decir que
cuando se carga un proceso a memorial principal se le asigna el espacio que necesita
en memoria y no más. Esta partición comienza siendo muy buena, pero en el trascurso
de uso deja un gran número de huecos pequeños en la memoria lo cual se le denomina
fragmentación externa. Se debe usar la compactación para evitar esta fragmentación,
el sistema operativo desplaza los procesos para que estén contiguos de forma que
todos los espacios de memoria libre se agrupen en un bloque, es decir:
Ventajas
No existe fragmentación interna
54
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Desventajas
fragmentación externa, se debe compactar la memoria. El compactado toma tiempo.
Ahora bien, se necesitan ejecutar estos procesos o tareas, lo que se hace es empezar
por la primera partición que va de 30 a 50, esta partición tiene un espacio de 20 (50-
30=20), como se asignan las tareas por orden de llegada entonces la primera que se
debe asignar es la tarea 1 que pesa 50, por lo tanto se busca en la memoria una
partición con esa capacidad.
En este ejemplo seria la partición que hay entre 80 a 200, donde tiene un espacio de
120, a esta particion se le asignara la tarea 1 (t1). Quedaría de la siguiente manera:
55
La fragmentación es la memoria que queda desperdiciada al usar los
métodos de gestión de memoria que se vieron en los métodos anteriores.
Tanto el primer ajuste, como el mejor y el peor producen fragmentación
externa.
Ahora con la t3,la tarea 3 pesa 80 y si observamos la imagen nos daremos cuenta de
que no hay ninguna partición que tenga un espacio en la memoria de 80, por lo que
se dice que esta tarea queda en cola es decir que queda en espera mientras se
desocupa una partición que tenga ese espacio.
56
Ing. Jorge Jaramillo Alba
Sistemas Operativos
57
Ahora vamos a ingresar la tarea 4 que pesa 10, entonces si miramos en la imagen la
partición que mas se ajusta al tamaño de la tarea es la de (240 a 250), ya que si se
asigna la tarea allí, no se va a gastar espacio de memoria entonces quedaría:
Lo siguiente es ingresar la tarea 5 que pesa 20, pero hay dos particiones que están
disponibles y son adecuados para esta tarea que son la partición de (30 a 50) y de
(160 a 180), como el mejor ajuste dice que es la partición mas se ajuste a su tamaño,
por consiguiente se podria asignar a cualquiera de los dos espacios, en esta ocasión
lo pondremos en la partición de (30 a 50). Quedaría:
58
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Particiones ocupadas:
Vamos a eliminar la tarea 4, como se aprecia en la imagen esta entre dos particiones
ocupadas, entonces el algoritmo lo que hace es preguntar si al lado izquierdo esta
ocupado y al lado derecho esta ocupado, si es así entonces la tarea 4 se puede liberar
y quedaría:
59
libre se fusiona con la partición en la que se libero la tarea quedando así una partición
mas grande, es decir:
Partiendo desde la premisa del particionamiento fijo, que dice que las particiones se
van creando acorde a las necesidades de la primera utilización del computador en
cada encendido se tiene las siguientes tareas (caso basado en memoria de 1024MB):
Cod. Tarea Memoria
T1 S.O 30
T2 Word 160
T3 Excel 190
T4 Power Point 180
T5 Navegador 175
T6 Adobe PDF 125
T7 Bloc de Notas 64
60
Ing. Jorge Jaramillo Alba
Sistemas Operativos
T8 Calculadora 100
Lo anteriormente expuesto quiere decir que las nuevas tareas que vayan llegando
tendrán que asignarse a las particiones previamente definidas, pero aplicando
técnicas de particionamiento dinámico. Es decir, que cuando las particiones se hayan
liberado, tendremos las particiones así:
30 160 190 180 175 125 64 100
T1
Tome en cuenta que el Sistema Operativo siempre va a estar ocupando al menos una
partición en la memoria.
Imaginemos que llega el siguiente conjunto de tareas, las mismas que serán
asignadas con las técnicas de particionamiento dinámico:
Cod. Tarea Memoria
T2 Reproductor 150
T3 Paint 75
T4 Explorador de Archivos 100
T5 Software de Escaneo 125
T6 Juego 200
T7 Visio 150
T8 GNS3 194
X Fragmentación
En cola: T6, T8
La técnica de mejor ajuste consiste en hallar la partición que mas se adecue a la tarea,
es decir, si no hay una partición del tamaño exacto necesario, buscar aquella donde
haya menos desperdicio de memoria. Con base en aquello, T2 se ubicó en la partición
de 160MB, pero como solo se necesitaba 150MB existe una fragmentación de 10MB
(revise en sus apuntes que era la fragmentación).
61
Tome en cuenta que las tareas han sido asignadas en el orden en que se listaron, es
decir, primero T2, luego T3 y asi sucesivamente.
T3 fue ubicada en la partición que tenia 100MB, lo que produjo una fragmentación de
25MB (ya que T3 sólo necesitaba 75MB). Y asi sucedió con T4, T5, y T7.
Tanto T6 como T8, son tareas que necesitaban cantidades de memoria, mayores a
las de las particiones creadas, por eso se quedan en lo que se denomina cola. En las
siguientes tareas aprenderemos como despachar ese tipo de tareas.
Aplicando Técnica del Primer Ajuste
30 160 190 180 175 125 64 100
T1 T2 T3 T4 T5
X Fragmentación
En cola: T6, T7, T8
Para el primer ajuste, las tareas se asignan a la primera partición libre que tenga el
espacio necesario requerido (sin importar cuán grande sea la partición). Es por este
motivo, que en este caso, la fragmentación es mucha, lo que ocasiona desperdicio de
memoria. Tome en cuenta que la búsqueda de particiones disponibles, siempre es de
izquierda a derecha.
Por lo anteriormente expuesto, notemos que T3, que solamente necesita de 75MB se
ubicó en una partición de 190MB, lo que genera un desperdicio de 115MB.
Para este caso, en cola quedan T6, T7 y T8.
Aplicando Técnica del Siguiente Ajuste
30 160 190 180 175 125 64 100
T1 T2 T3 T4 T5
X Fragmentación
En cola: T6, T7, T8
La técnica del Siguiente ajuste consiste en ubicar la tarea en la siguiente partición
disponible desde la última asignación realizada. Para este ejemplo, la ubicación de las
tareas no difiere de la técnica del Primer Ajuste, por eso la representación gráfica esta
exactamente igual. Pero supongamos el siguiente caso:
Imaginemos que nuestra particionamiento fijo haya sido el siguiente:
30 100 190 180 175 125 124 100
T1
Dado eso, para ubicar T2, lo tendríamos que haber ubicado en la partición de
190MB, ya que los 100MB de la primera partición libre no eran suficientes (en
estos casos la primera asignación se realiza de izquierda a derecha, como se
lo hace en la técnica del Primer Ajuste), lo cual queda representado de la
siguiente manera:
30 100 190 180 175 125 124 100
T1 T2
62
Ing. Jorge Jaramillo Alba
Sistemas Operativos
63
Como se puede apreciar en la imagen, la relocalización consiste en agrupar las
particiones libres en un solo bloque para que así cuando vuelva a ingresar una tarea,
esta se ingrese normalmente en la parte final de la memoria.
Paginación
La paginación consiste en dividir la memoria en un conjunto de marcos de igual
tamaño, cada proceso se divide en una serie de paginas del tamaño de los marcos,
incluso el espacio para el sistema operativo también esta paginado, un proceso se
carga en los marcos que requiera(todas las paginas), no necesariamente contiguas
es decir seguidas.
Ejemplo:
En la imagen podemos ver como se paginan los procesos y la memoria, al paginar los
procesos se pueden llevar a la memoria aleatoriamente es así entonces como
funciona la paginación.
nosotros podemos saber cuantas paginas salieron al dividir un proceso, y también la
fragmentación a partir de una sencilla división y una resta
64
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Tabla de páginas
Cada página tiene un número que se utiliza como índice en la tabla de páginas, lo que
da por resultado el número del marco correspondiente a esa página virtual. Si el bit
presente / ausente es 0, se provoca un señalamiento (trap) hacia el sistema operativo.
Si el bit es 1, el número de marco que aparece en la tabla de páginas se copia en los
bits de mayor orden del registro de salida. La finalidad de las tablas es asociar las
páginas virtuales con los marcos.
Características de la paginación
• El espacio de direcciones lógico de un proceso puede ser no contiguo.
• Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames).
• Se divide la memoria en bloques de tamaño llamados páginas.
• Se mantiene información en los marcos libres.
• Para correr un programa de n páginas de tamaño, se necesitan encontrara n marcos
y cargar el programa.
• Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas.
• Se produce fragmentación interna.
Ventajas:
Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en
memoria, y el resto se cargara bajo la solicitud. No es necesario que las paginas estén
contiguas en memoria, por lo que no se necesitan procesos de compactación cuando
existen marcos de páginas libres dispersos en la memoria. Es fácil controlar todas las
páginas, ya que tienen el mismo tamaño.
Desventajas
El costo de hardware y software se incrementa, por la nueva información que debe
manejarse y el mecanismo de traducción de direcciones necesario. Se consume
muchos más recursos de memoria, tiempo en el CPU para su implantación. Se deben
reservar áreas de memoria para las PMT de los procesos. Al no ser fija el tamaño de
estas, se crea un problema semejante al de los programas (como asignar un tamaño
óptimo sin desperdicio de memoria, u "ovearhead" del procesador).
65
Numero de página (p): utilizado como índice en la tabla de páginas que contiene la
dirección base de cada página en la memoria física.
De la página (d): combinado con la dirección base define la dirección física que será
enviada a la unidad de memoria.
66
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Compartición de segmentos
En un sistema de segmentación, una vez que un segmento ha sido declarado como
compartido, entonces las estructuras que lo integran pueden cambiar de tamaño. Dos
procesos pueden compartir un segmento con solo tener entradas en sus tablas
generales que apunten al mismo segmento del almacenamiento primario.
68
Ing. Jorge Jaramillo Alba
Sistemas Operativos
69
Unidad Didáctica V
Título de la Unidad Didáctica V:
Sistema de Archivos
Introducción de la Unidad Didáctica V:
Aunque los discos duros pueden ser muy chicos, aun así, contienen millones de bits,
por lo que necesitan organizarse para poder ubicar la información. Este es el propósito
del sistema de archivos. Recuerda que un disco rígido se conforma de varios discos
circulares que giran en torno a un eje. Las pistas (áreas concéntricas escritas a ambos
lados del disco) se dividen en piezas llamadas sectores (cada uno de los cuales
contiene 512 bytes). El formateado lógico de un disco permite que se cree un sistema
de archivos en el disco, lo cual, a su vez, permitirá que un sistema operativo (DOS,
Windows 9x, UNIX, etc.) use el espacio disponible en disco para almacenar y utilizar
archivos. El sistema de archivos se basa en la administración de clústeres, la unidad
de disco más chica que el sistema operativo puede administrar.
Un clúster consiste en uno o más sectores. Por esta razón, cuanto más grande sea el
tamaño del clúster, menores utilidades tendrá que administrar el sistema operativo.
Por el otro lado, ya que un sistema operativo sólo sabe administrar unidades enteras
de asignación (es decir que un archivo ocupa un número entero de clústeres), cuantos
más sectores haya por clúster, más espacio desperdiciado habrá. Por esta razón, la
elección de un sistema de archivos es importante.
Objetivo de la Unidad Didáctica V:
Seleccionar sistemas de archivos adecuados a la función de los sistemas operativos
mediante la correcta aplicación de atributos que permitan la administración de las
unidades de almacenamiento responsablemente.
Organizador Gráfico de la Unidad didáctica V:
Operaciones
Estructura
Administración Seguridad
Sistema de
FAT
Archivos
HPFS
Tipos
NTFS
LINUX
70
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Se encuentra en los niveles más externos del sistema operativo (más próximos al
usuario). Este nivel suministra al usuario el concepto de archivo (una de las
abstracciones fundamentales que genera un sistema operativo).
Concepto de archivo: Agrupación de datos que el usuario ve como una entidad (por
ejemplo: programa, conjunto de rutinas, resultados de un cálculo, ...). Es la unidad que
almacena y manipula el sistema de archivos.
El medio sobre el que se almacenan los archivos se divide en bloques de longitud fija,
siendo el sistema de archivos el encargado de asignar un número adecuado de
bloques a cada archivo.
Organización de archivos
Los usuarios pueden definir objetos con nombre llamados archivos y que están
constituidos por una secuencia de bits, bytes, líneas o registros. Se referencian
mediante su nombre.
71
Las organizaciones comunes de archivos (estructuras de archivos) varían de un S.O.
a otro. Por ejemplo, en UNIX los archivos son secuencias de bytes y la interpretación
de esos bytes no la hace el S.O.
Directorios
Un directorio es una tabla o un archivo (según el sistema) que contiene una entrada
por cada archivo contenido en el mismo.
Estructura de directorios:
• Más simple: Un único directorio que contiene todos los archivos de todos los
usuarios. Problema: conflictos cuando 2 usuarios utilizan el mismo nombre.
• Mejora: Un directorio por usuario.
• Generalización: Estructura jerárquica del sistema de archivos: árbol de directorios.
72
Ing. Jorge Jaramillo Alba
Sistemas Operativos
La segunda estrategia es la más usual, pero nos encontramos con un primer problema
en la gestión del espacio de disco: El establecimiento del tamaño del bloque, es decir,
de la unidad mínima de asignación del espacio de disco. Para elegir el tamaño del
bloque, se van a tener en cuenta los siguientes datos:
• Organización física del disco: Dada la forma en que se organizan los discos, el
sector, la pista y el cilindro son candidatos obvios para la unidad de asignación.
Los dos últimos criterios están en contraposición, por lo que la elección del tamaño
del bloque deberá ser un compromiso entre los mismos.
73
Surge pues un conflicto inherente entre la eficiencia del tiempo y del espacio (una
buena utilización del espacio de disco implica ritmos de transferencia de datos bajos
y viceversa). Compromiso normal: Se elige el tamaño de bloque de 512 B, 1 KB o 2
KB. Si se elige un tamaño de bloque de 1 KB sobre un disco con un tamaño de sector
de 512 Bytes, el sistema de archivos leerá o escribirá dos sectores consecutivos y los
tratará como una unidad simple e indivisible (hay que tener en cuenta que el sector es
la unidad más pequeña que se puede leer o escribir en el disco).
En el caso de que el bloque fuera del mismo tamaño que el sector, la transformación
se realizaría de la siguiente manera: Las direcciones de bloque aumentan a través de
todos los sectores de una pista, luego a través de todas las pistas (superficies) de un
cilindro y, por último, del cilindro 0 al último cilindro.
Archivos LOG.
En sistemas de tiempo compartido donde trabajan simultáneamente muchos usuarios,
que entre otras operaciones llevan a cabo numerosas actualizaciones y
modificaciones de archivos, no son suficientes las periódicas copias de seguridad para
afrontar la pérdida de la información. Si la computadora falla por cualquier motivo en
medio de una sesión donde hay un gran número de usuarios trabajando, se puede
recuperar la información de los archivos desde la última copia de seguridad; pero esto
puede no ser suficiente, por lo cual se recurre en estos sistemas a archivos auxiliares
donde se registran todas las operaciones que realiza un usuario sobre sus archivos,
almacenándose la nueva información o aquella que difiera de la ya existente. Estos
archivos reciben el nombre de archivos LOG y son tratados por utilidades del sistema
operativo conjuntamente con las copias de seguridad para los procesos de
recuperación.
75
Privacidad de los archivos
El contenido de los archivos se debe proteger de posibles accesos no deseados. Entre
el peligro de permitir a todos los usuarios el acceso a cualquier archivo, y la rigidez de
que cada usuario sólo pueda acceder a los suyos, el sistema de protección debe
permitir accesos de forma controlada, según unas reglas predefinidas y con las
consiguientes autorizaciones.
En todos estos casos, la gestión de las listas de control se realiza mediante comandos
de uso restringido, estando éstos únicamente disponibles para el administrador del
sistema.
76
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Como se puede ver, se pueden Editar los permisos y cambiar los checks de Modificar,
Lectura y ejecución. Si en ese ordenador hay más usuarios se pueden añadir y ponerle
que solo tenga permisos de lectura o ninguno.
Este tipo de protección va en función del usuario que acceda al ordenador en cuestión.
Claro que si el disco duro no está encriptado nadie impediría usar un Live CD de linux,
arrancar con él, acceder al disco duro y apropiarse del contenido. Igualmente, esas
carpetas serían vulnerables a virus en el caso de que el propietario se infectase.
77
Ilustración 23: Establecimiento de permisos en Windows
También puedes aprovechar esta seguridad extrema para evitar que archivos
importantes se eliminen accidentalmente, incluso siendo root.
78
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Parámetros de Chattr
Los dividimos en tres partes:
▪ Opcionales.
▪ Operadores.
▪ Atributos.
Parámetros de opción:
-V – Imprime en pantalla, información y detalles ampliados del comando.
-R – Indica una forma recursiva a los atributos de las carpetas seleccionadas y a su
contenido.
–v – Imprime en pantalla la versión utilizada.
Parámetros de operadores:
+ – Agrega atributos a los que ya existen.
– – Reduce o elimina los permisos existentes.
= – Sustituye los atributos que tiene el archivo por los que le indiques.
chattr +i carpeta
79
Usaremos «+ a» para que solo permita adjuntar contenido.
chattr +a sololinux.txt
Con la opción «–» podemos eliminar atributos, incluso los del archivo inmutable.
chattr -i sololinux.txt
chattr -a linuxparatodos.txt
80
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Un disco con formato FAT se asigna en clústeres, cuyo tamaño viene determinado por
el tamaño del volumen. Cuando se crea un archivo, se crea una entrada en el
directorio y se establece el primer número de clúster que contiene datos. Esta entrada
de la tabla FAT indica que este es el último clúster del archivo o bien señala al clúster
siguiente.
Ventajas de FAT
No es posible realizar una recuperación de archivos eliminados en Windows NT en
ninguno de los sistemas de archivos compatibles. Las utilidades de recuperación de
archivos eliminados intentan tener acceso directamente al hardware, lo que no se
puede hacer en Windows NT. Sin embargo, si el archivo estuviera en una partición
FAT y se reiniciara el sistema en MS-DOS, se podría recuperar el archivo. El sistema
de archivos FAT es el más adecuado para las unidades y/o particiones de menos de
200 MB aproximadamente, ya que FAT se inicia con muy poca sobrecarga.
81
Desventajas de FAT
Cuando se usen unidades o particiones de más de 200 MB, es preferible no usar el
sistema de archivos FAT. El motivo es que a medida que aumente el tamaño del
volumen, el rendimiento con FAT disminuirá rápidamente. No es posible establecer
permisos en archivos que estén en particiones FAT.
En HPFS, las entradas de directorio contienen más información que en FAT. Además
del archivo de atributos, esto incluye información sobre la fecha y la hora de
modificación, de creación y de acceso. En lugar de señalar al primer clúster del
archivo, en HPFS las entradas del directorio señalan a FNODE. FNODE puede
contener los datos del archivo, o bien punteros que pueden señalar a datos del archivo
o a otras estructuras que, a su vez, señalarán a datos del archivo.
82
Ing. Jorge Jaramillo Alba
Sistemas Operativos
HPFS organiza una unidad en una serie de bandas de 8 MB y, siempre que sea
posible, un archivo estará contenido dentro de una de estas bandas. Entre cada una
de estas bandas hay mapas de bits de asignación de 2 KB, que hacen un seguimiento
de los sectores dentro de una banda que se han asignado y que no se han asignado.
La creación de bandas aumenta el rendimiento porque el cabezal de la unidad no tiene
que volver a la parte superior lógica (normalmente el cilindro 0) del disco, sino al mapa
de bits de asignación de banda más cercano, para determinar dónde se almacenará
un archivo.
Ventajas de HPFS
HPFS es la mejor opción para las unidades comprendidas entre 200 y 400 MB.
Desventajas de HPFS
Debido a la sobrecarga que implica HPFS, no es una opción muy eficaz para un
volumen de menos de unos 200 MB. Además, con volúmenes mayores de unos 400
MB, habrá una ligera degradación del rendimiento. No se puede establecer la
seguridad en HPFS con Windows NT.
83
Argumente ejemplos de Sistemas Operativos que trabajan con el Sistema
de Archivo HPFS
84
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Ventajas de NTFS
NTFS es la mejor opción para volúmenes de unos 400 MB o más. El motivo es que el
rendimiento no se degrada en NTFS, como ocurre en FAT, con tamaños de volumen
mayores.
Desventajas de NTFS
No se recomienda usar NTFS en un volumen de menos de unos 400 MB, debido a la
sobrecarga de espacio que implica. Esta sobrecarga de espacio se refiere a los
archivos de sistema de NTFS que normalmente usan al menos 4 MB de espacio de
unidad en una partición de 100 MB.
Actualmente, NTFS no integra ningún cifrado de archivos. Por tanto, alguien puede
arrancar en MS-DOS u otro sistema operativo y emplear una utilidad de edición de
disco de bajo nivel para ver los datos almacenados en un volumen NTFS.
85
Actividad de Aprendizaje 8 de la Unidad Didáctica V:
Sistemas de archivos soportados por Linux
Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos. Para
nuestros propósitos los más importantes son:
xia
Una versión modificada del sistema de archivos minix que eleva los límites de nombres
de archivos y tamaño del sistema de archivos, pero por otro lado no introduce
características nuevas. No es muy popular, pero se ha verificado que funciona muy
bien.
ext3
El sistema de archivos ext3 posee todas las propiedades del sistema de archivos ext2.
La diferencia es que se ha añadido una bitácora (journaling). Esto mejora el
rendimiento y el tiempo de recuperación en el caso de una caída del sistema. Se ha
vuelto más popular que el ext2.
ext2
El más sistema de archivos nativo Linux que posee la mayor cantidad de
características. Está diseñado para ser compatible con diseños futuros, así que las
nuevas versiones del código del sistema de archivos no necesitará rehacer los
sistemas de archivos existentes.
ext
Una versión antigua de ext2 que no es compatible en el futuro. Casi nunca se utiliza
en instalaciones nuevas, y la mayoría de la gente que lo utilizaba han migrado sus
sistemas de archivos al tipo ext2.
reiserfs
Un sistema de archivos más robusto. Se utiliza una bitácora que provoca que la
pérdida de datos sea menos frecuente. La bitácora es un mecanismo que lleva un
registro por cada transacción que se va a realizar, o que ha sido realizada. Esto
permite al sistema de archivos reconstruirse por sí sólo fácilmente tras un daño
ocasionado, por ejemplo, por cierres del sistema inadecuados.
86
Ing. Jorge Jaramillo Alba
Sistemas Operativos
87
Unidad Didáctica VI
Título de la Unidad Didáctica VI:
Instalación y Configuración de Sistemas Operativos.
Introducción de la Unidad Didáctica VI:
Usualmente el usuario conoce el manejo de MS-Windows, que es un sistema
operativo, sin embargo hay otros sistemas operativos como: Unix, GNU/Linux, Solaris,
Mac-OS.
A nivel general, la instalación de Windows es bastante documentada, y sencilla para
personas incluso sin conocimientos avanzados, sin embargo a nivel de Linux, a pesar
de la existencia de información, su proceso de instalación es poco aplicado por parte
de usuarios con conocimientos básicos por temor a equivocarse o provocar daños a
nivel de hardware, siendo esto una contrariedad dado el estatus de open source que
tiene Linux.
Objetivo de la Unidad Didáctica VI:
Instalar sistemas operativos mediante la aplicación de configuraciones adecuadas
para procesos relacionados con redes de computadores que gestionen recursos de
manera responsable.
Organizador Gráfico de la Unidad didáctica VI:
Windows Linux
Instalación Instalación
Configuración Configuración
88
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Pulsamos cualquier tecla, y empezará una ventana de carga durante la cual se cargará
en la memoria todo lo necesario para arrancar el asistente de instalación.
89
Tras esta ventana de carga, que dura unos segundos, veremos la ventana inicial del
asistente de instalación de Windows 10.
90
Ing. Jorge Jaramillo Alba
Sistemas Operativos
El siguiente paso que nos pedirá el asistente será introducir el número de licencia de
nuestro Windows. Si la licencia se encuentra grabada en la BIOS/UEFI de nuestro
ordenador, esta ventana no la veremos. De lo contrario, si la tenemos a mano podemos
introducirla o, si no, pulsamos sobre «No tengo clave de producto» para continuar sin
dicha licencia.
91
Ilustración 31: Instalación de Windows 10
Pulsamos de nuevo sobre Siguiente y aparecerán los términos de licencia, los cuales
aceptaremos para continuar.
92
Ing. Jorge Jaramillo Alba
Sistemas Operativos
93
Ilustración 35: Instalación de Windows 10
94
Ing. Jorge Jaramillo Alba
Sistemas Operativos
95
Ilustración 39: Instalación de Windows 10
Tras los reinicios, Windows 10 ya estará instalado, aunque antes de poder usarlo
tendremos que completar el siguiente asistente de configuración inicial.
Configuración inicial tras instalar Windows 10
Una vez finalice la instalación y los preparativos previos para Windows 10, veremos un
asistente de configuración inicial desde el que tendremos que configurar nuestro sistema
operativo.
96
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Configuración básica
Lo primero que aparecerá en este asistente de configuración será Cortana, el asistente
personal. Puede que incluso nos asuste, porque empezará hablando.
Si no queremos que Cortana nos asista durante esta configuración inicial, entonces
podemos hacer clic sobre el icono del micro que aparece en la parte inferior izquierda
para silenciarla.
Configuración de red
El asistente de configuración de Windows 10 se encargará a continuación de realizar
una serie de configuraciones, como, por ejemplo, de la red. Si estamos conectados
por cable, el asistente se conectará automáticamente a Internet. Si lo hacemos por Wi-
Fi, veremos una lista con todas las redes, y tendremos que elegir la nuestra.
98
Ing. Jorge Jaramillo Alba
Sistemas Operativos
Configuración de cuenta
Una vez conectados a la red, llega uno de los pasos más polémicos de Windows
10: iniciar sesión con una Cuenta Microsoft. Si tenemos la cuenta y vamos a usarla,
podemos introducir nuestro correo y nuestra contraseña en este asistente para iniciar
sesión. Si no tenemos una cuenta, podemos crear una nueva desde aquí.
99
Ilustración 47: Configuración de Windows 10
Una Cuenta Microsoft nos brinda muchas ventajas a la hora de usar el sistema operativo,
como acceso a OneDrive y la posibilidad de sincronizar la configuración del PC con la
nube. También nos permite acceder a la Microsoft Store para bajar apps de la tienda de
Windows.
El siguiente paso será crear un PIN para iniciar sesión. Gracias a él podremos iniciar
más rápido con el código numérico en lugar de tener que escribir una y otra vez la
contraseña, que, por seguridad, debería ser bastante larga.
100
Ing. Jorge Jaramillo Alba
Sistemas Operativos
101
Ilustración 50: Configuración de Windows 10
También veremos una pantalla que nos permitirá instalar la aplicación «Tu teléfono», y
configurar directamente Windows 10 de manera que podamos controlar nuestro móvil
desde el PC.
102
Ing. Jorge Jaramillo Alba
Sistemas Operativos
A continuación, tendremos que elegir si queremos activar OneDrive para guardar todos
los datos personales en la nube de Microsoft, o si queremos guardar los datos localmente
en el PC.
103
Ilustración 54: Configuración de Windows 10
A continuación, tendremos que elegir si queremos que Cortana sea nuestro asistente
personal, o si queremos que el asistente digital quede desactivado. Si lo habilitamos,
Cortana nos ayudará con recordatorios, nos ayudará a buscar cosas y, además, nos
contará chistes malos. También podemos marcar la casilla que nos permitirá indicarle si
queremos que responda automáticamente al comando de voz «Hola Cortana».
Configuración de privacidad
Y, para finalizar, ya solo nos quedan de configurar las distintas opciones de privacidad
de Windows 10. Estas opciones son muy claras y explicativas, y nos permiten saber
cómo y para qué usará Windows 10 nuestros datos. Según queramos, podemos
permitírselo o impedir que acceda a estos datos.
Los puntos de privacidad de Windows 10 que configuraremos son:
104
Ing. Jorge Jaramillo Alba
Sistemas Operativos
• Reconocimiento de voz.
• Ubicación.
• Encontrar mi dispositivo.
• Enviar diagnósticos a Microsoft.
• Mejorar escritura.
• Obtener experiencias personalizadas.
• Permitir a las aplicaciones usar el ID de publicidad.
Por supuesto, estas (y otras) opciones de privacidad se pueden configurar más adelante
una vez instalado Windows 10.
Una vez configurado esto, el asistente de configuración terminará de preparar Windows
10 para nosotros.
Este proceso puede tardar unos minutos y, cuando finalice, ya podremos ver el escritorio
de Windows. Ya hemos instalado Windows 10 desde cero.
105
Ilustración 57: Configuración de Linux Ubuntu
Lo creas o no, este segunda paso es también muy sencillo. Las preguntas y elecciones
que te presenta Ubuntu durante su instalación tienen siempre una opción más fácil, y
esa precisamente es la que escogeremos.
También puedes optar por varias lenguas autonómicas: catalán, gallego y euskera,
seleccionando la opción correspondiente. Una vez te aparezca la pantalla en el idioma
que desees, selecciona Instalar Ubuntu.
106
Ing. Jorge Jaramillo Alba
Sistemas Operativos
La opción de Probar Ubuntu es para arrancar el sistema operativo en modo Live, esto
es, sin necesidad de instalarlo en tu ordenador. Habitualmente se utiliza para echar
un vistazo al entorno, pero no es lo que nosotros queremos hoy.
107
Ilustración 60: Configuración de Linux Ubuntu
Como ya hemos dicho, se trata de perder el miedo a Linux, así que tiramos por la
opción más fácil, la de destinar el ordenador únicamente a Ubuntu. Por eso señalamos
la opción de Borrar disco e instalar Ubuntu (contamos con que si tenías información
importante en tu ordenador, ya la hayas guardado!).
108
Ing. Jorge Jaramillo Alba
Sistemas Operativos
¡Últimas opciones! Pero son muy importantes: escoge un nombre para el equipo, un
nombre de usuario y una contraseña. Finalmente, opta por cómo iniciar la sesión.
109
Nuestro consejo es que el sistema te solicite la contraseña y, si encriptas tu carpeta
personal, mejor que mejor.
Como has comprobado, no tiene ninguna dificultad y Ubuntu te deja escoger hasta
qué grado quieres complicarte con su uso y configuración.
Durante unos minutos, el sistema irá presentando algunas pantallas con el software
incluido en Ubuntu e irá descargando ficheros y actualizaciones, preparando y
configurando el hardware, el gestor de arranque... un poco de paciencia.
Pero tú sólo tendrás que mirar, ya está todo hecho. Espera a que finalice, extrae el
disco de instalación y pulsa Enter para que se reinicie el sistema.
110
Ing. Jorge Jaramillo Alba
Sistemas Operativos
111