Está en la página 1de 97

Sistemas operativos

Autor: Katherine Roa Banquez


Sistemas operativos / Katherine Roa Banquez, / Bogotá D.C.,
Fundación Universitaria del Área Andina. 2017

978-958-5455-72-6

Catalogación en la fuente Fundación Universitaria del Área Andina (Bogotá).

© 2017. FUNDACIÓN UNIVERSITARIA DEL ÁREA ANDINA


© 2017, PROGRAMA INGENIERIA DE SISTEMAS
© 2017, KATHERINE ROA BANQUEZ

Edición:
Fondo editorial Areandino
Fundación Universitaria del Área Andina
Calle 71 11-14, Bogotá D.C., Colombia
Tel.: (57-1) 7 42 19 64 ext. 1228
E-mail: publicaciones@areandina.edu.co
http://www.areandina.edu.co

Primera edición: noviembre de 2017

Corrección de estilo, diagramación y edición: Dirección Nacional de Operaciones virtuales


Diseño y compilación electrónica: Dirección Nacional de Investigación

Hecho en Colombia
Made in Colombia

Todos los derechos reservados. Queda prohibida la reproducción total o parcial de esta
obra y su tratamiento o transmisión por cualquier medio o método sin autorización escrita
de la Fundación Universitaria del Área Andina y sus autores.
Sistemas operativos

Autor: Katherine Roa Banquez


i
Índice

UNIDAD 1 Conceptos generales de los


sistemas operativos
Introducción 7

Metodología 8

Desarrollo temático 9

UNIDAD 1 Fundamentos de los sistemas


operativos
Introducción 16

Metodología 17

Desarrollo temático 18

UNIDAD 2 Gestión de procesos


Introducción 26

Metodología 27

Desarrollo temático 28

UNIDAD 2 Planificación de procesos


Introducción 37

Metodología 38

Desarrollo temático 39
i
Índice

UNIDAD 3 Gestión de memoria real


Introducción 49

Metodología 50

Desarrollo temático 51

UNIDAD 3 Gestión de memoria virtual


Introducción 61

Metodología 62

Desarrollo temático 63

UNIDAD 4 Gestión de ficheros


Introducción 73

Metodología 74

Desarrollo temático 75

UNIDAD 4 Gestión de Entrada/Salida y


seguridad en sistemas operativos
Introducción 86

Metodología 87

Desarrollo temático 88

Bibliografía 95
1
UNIDAD

1 Unidad 1

Conceptos generales
de los sistemas Sistemas operativos
operativos
Autor: Katherine Roa
Introducción El capítulo inicia con la definición de un Sistema Operativo
(SO) abordado desde varios autores, se presenta un SO como
un intermediario entre un sistema de cómputo y el usuario,
cuya tarea es suministrar un buen servicio a estos y alcanzar
un uso eficiente de este.

La función principal de un Sistema Operativo es admitir la eje-


cución de los programas del usuario para asegurar su conve-
niencia y el uso eficiente de los recursos. En esta guía describi-
remos las funciones realizadas por el Sistema Operativo para
atender las necesidades de un usuario.

Continuaremos conociendo los objetivos y funciones de los


sistemas operativos al igual que su evolución a lo largo del
tiempo y finalizaremos con la estructura de un Sistema Opera-
tivo o mejor conocido como métodos de estructuración.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 7
3
U1 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 8
4
U1 Desarrollo temático

Conceptos generales de los siste- sistema de computo. El propósito de un Sis-


tema Operativo es ofrecer un ambiente en
mas operativos
el que el usuario pueda ejecutar programas
de una forma cómoda y eficiente”.
Definición de los sistemas operativos
Si queremos conocer el significado de un En consecuencia a lo anterior, el hardware
Sistema Operativo (SO), tal vez, podamos en- de un computador no puede trabajar por sí
contrar diferentes respuestas, teniendo en solo, necesita de unos programas (software)
cuenta a la persona a la que le preguntemos. que hacen que el sistema arranque y funcio-
En este sentido Alegre (2010) expone que: ne, a este software que sirve de intermedia-
rio entre los usuarios y el hardware es lo que
■ Para un joven universitario, un Sistema se conoce como Sistema Operativo.
Operativo es el software que permite el
acceso al conocimiento disponible en in- Por lo tanto, un Sistema Operativo es qui-
ternet. zás el componente más importante de una
■ Para un programador, un Sistema Opera- computadora, dado que cuando se carga el
tivo es el software que permite el uso de Sistema Operativo en la memoria y se ejecu-
un sistema de cómputo para el desarrollo ta, este despierta el ordenador y hace que
de programas. reconozca a la CPU, la memoria, las unida-
des de disco y cualquier dispositivo de en-
■ Para un técnico de planta informatizada, trada y salida, verificando su conectividad y
el Sistema Operativo es el componente
eficiencia en sus procesos.
de un sistema de cómputo que controla
la planta. Un Sistema Operativo controla el uso de los
■ Para una persona del común (que usa recursos de un sistema de cómputo, tales
un paquete de aplicaciones), un Sistema como la CPU, memoria y los dispositivos de
Operativo es simplemente el software Entrada y Salida (E/S) a fin de satisfacer los
que hace posible que use el paquete. requerimientos de los usuarios. Estos es-
peran conveniencia, calidad de servicio y
En nuestro caso nos vamos a enfocar en la seguridad al ejecutar sus programas, mien-
definición dada por Candela, S., García, C. tras que los administradores del sistema es-
Quesada, A. Santana, F. Santos, J. (2007), “… peran un uso eficiente de los recursos de la
es un programa que actúa como interme- computadora y un buen desempeño al eje-
diario entre el usuario y el hardware de un cutar los programas de los usuarios.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 9
Andina 5
La interacción del Sistema Operativo con de una operación de E/S o una solicitud del
el sistema de cómputo y los programas del recurso pedido por un programa causa una
usuario es un aspecto crucial de su opera- interrupción en el sistema de cómputo. El
ción. Las características de la arquitectura CPU se diseña para reconocer una interrup-
del sistema de cómputo se usan para reali- ción y desviarse a sí mismo a la ejecución de
zar esta. una rutina de interrupción del proceso, que
activa una rutina apropiada de manejo de
Un ambiente de cómputo se caracteriza por los eventos.
un sistema de cómputo, sus interfaces con
otros sistemas, sus usuarios y la naturaleza
de sus requisitos computacionales. Las me- Sistema
tas de un Sistema Operativo se determinan Operativo
por la noción de la utilización efectiva de un
sistema de cómputo en el ambiente donde
se usa, de modo que los sistemas operativos
se clasifican sobre la base de los ambientes Evento Evento
de cómputo donde se emplea. Sistema de Programas
cómputo de usuario
Objetivos y funciones de los sistemas
operativos
Figura 1. Un Sistema Operativo en su ambiente
Se dice que un Sistema Operativo es mane- Fuente: Propia.
jado por eventos. Un evento es cualquier si-
tuación que requiere atención del Sistema Un Sistema Operativo no solo debe asegu-
Operativo. Por ejemplo, una petición del re- rar el uso eficiente de un sistema de cóm-
curso por un programa del usuario o el fin puto, sino que también debe proveer la
de una operación de E/S. Cuando ocurre un conveniencia del usuario. La meta crucial de
evento, el control del CPU se pasa al Sistema un Sistema Operativo es proveer la combi-
Operativo. Este analiza el acontecimiento y nación que mejor se ajuste al ambiente de
realiza acciones apropiadas. Por ejemplo, uso eficiente y de conveniencia del usuario,
cuando un programa pide recurso, el Siste- a lo cual se le llama utilización efectiva.
ma Operativo lo asigna si está disponible y
cuando termina la operación E/S, informa al El uso eficiente del sistema es la mayor pre-
programa que solicitó la operación de E/S ocupación en un ambiente de computación
e inicia otra operación de E/S en el disposi- que se centra en el sistema, tal como el pro-
tivo, si alguno está pendiente. Después de cesamiento de datos no interactivo. Esto se
atender el evento, el Sistema Operativo da obtiene a través del uso de buenas políticas
las instrucciones a un programa de usuario de asignación de recursos.
para la ejecución en el CPU.
La eficiencia de uso tiene dos aspectos, un
El funcionamiento manejado por eventos Sistema Operativo consume algunos recur-
del Sistema Operativo mostrado en la Fi- sos de un sistema de cómputo durante su
gura 1, es una visión lógica de su funciona- propia operación; por ejemplo, ocupa me-
miento. En la visión física corresponde, el fin moria y usa CPU. Este consumo de recursos

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 10
6
constituye una sobrecarga que reduce los eficiente de los recursos de la computadora
recursos disponibles a los programas de los para proveer computación de bajo costo.
usuarios.
Un Sistema Operativo implementa requisi-
El otro aspecto del uso eficiente tiene que tos computacionales de sus usuarios con la
ver con el empleo de recursos que realizan ayuda de recursos del sistema de cómputo.
los programas del usuario. Puede resultar Sus funciones cruciales son:
una eficiencia baja debido a dos causas; si
un Sistema Operativo le asigna exceso de Programa: iniciación y terminación de los
recursos a los programas o si es incapaz de programas. Proporcionar métodos benefi-
asignar recursos libres a los programas que ciosos de modo que varios programas pue-
los necesite. Lo primero conduce a un de- dan trabajar con el objetivo común.
rroche de recursos, y el otro produce entor-
pecido de los recursos y afecta los progre- Recursos: asegurar la disponibilidad de los
sos de los programas. recursos del sistema y asignarlos a los pro-
gramas.
Encontramos un gran número de sistemas
operativos en uso porque cada uno de ellos Planificación: decidir cuándo y durante
provee un gusto diferente de utilización cuánto tiempo dedicará la CPU a un progra-
efectiva; por un lado, podemos encontrar ma.
sistemas operativos que proveen un servi-
cio rápido requerido por las aplicaciones de Protección: proteger los datos y los progra-
comandos y de control, por otro lado, tene- mas contra la interferencia de otros usuarios
mos sistemas operativos que hacen un uso y de sus programas.

Evolución histórica

Imagen 1. Evolución de los sistemas operativos


Fuente: https://sistemasoperativosuvm.files.wordpress.com/2013/02/linea-del-tiempo.jpg
En la imagen 1. Se observa un resumen de En la década de los 80, en el año 1981, nace
la evolución de los sistemas operativos en el Sistemas Operativos MS-DOS (Micro Soft
cada una de las décadas, iniciando desde la Disk Operating System), creado por Micro-
década de los 40 con la creación de la pri- soft para IBM PC. Desde esta fecha iniciaron
mera generación de computadoras en el con las diferentes generaciones, desde la
año 1940, estas computadoras funcionaban versión PC DOS 1.0.
con válvulas o tubos al vacío, se accedía di-
En el año 1984, nace el Sistema Operativo
rectamente a la consola por medio de una
Mac OS cuya características principal era
serie de micros interruptores que permitían
una GUI (Graphic User Interface), multita-
introducir el programa en la memoria del reas y mouse; a finales de la década, para el
computador; estas eran utilizadas en el ám- año 1987 surge el Sistema Operativo OS/2
bito científico y militar. de IBM que intentó reemplazar a DOS como
Sistema Operativo de las computadoras
En el año 1951, las computadoras de esta
personales, era un SO multitarea, recono-
generación, usaban transistores para pro- cía múltiples aplicaciones ejecutándose a
cesar información, estas computadoras ya la vez, sin embargo solo podía mostrar una
trabajaban con lenguajes de programación aplicación a la vez en la pantalla.
“de alto-nivel”; uno de los primeros lengua-
jes fueron COBOL y FORTRAN. Los sistemas En el año 1990, nacen dos grandes Sistemas
operativos fueron bastante simples, con operativos, SunOS y BeOS, el primero, fue la
conceptos tales como el monitor residente, versión del SO derivado de Unix y BSD desa-
el proceso por lotes y el almacenamiento rrollado por Sun Microsystems para sus es-
temporal. taciones de trabajo y servidores, y el segun-
do, fue desarrollado por Be Incorporated,
En 1964, con esta generación se inició el orientado principalmente a proveer alto
uso de los circuitos integrados, este tipo de rendimiento en aplicaciones multimedia.
computadoras trabajan con terminales re-
motas, las cuales permiten acceder a la com- En 1992, sale al mercado el Sistema Opera-
putadora central para realizar operaciones, tivo Solaris de tipo Unix desarrollado por
también podían ser conectadas a Internet. Sun Microsystems y actualmente por Oracle
Corporation, en esta misma década en el
Los sistemas operativos trabajaban técnicas
año 1993 nace Windows NT, el cual pertene-
de multiprogramación, multiprocesador,
ce a la familia de sistemas operativos pro-
tiempo compartido, entre otros. Los lengua- ducidos por Microsoft, de aquí en adelante
jes utilizados fueron el FORTRAN, ALGOL y lanzan las diferentes versiones de Windows:
COBOL. Windows 98 (1998), Windows 10 (Beta),
Windows Server (2000),Windows XP (2001),
En la década de los 70, en el año 1970, se da
Windows Vista (2007), Windows 7 (2009) y
inicio UNIX, y con el aparecen los sistemas Windows 8.x (2012).
operativos multiusuario - multitarea, Mul-
tics (Multiplexed information and compu- En el año 2001, nace el Sistema Operativo
ting service), el cual implementó un único MAC OS X, el cual está basado en el entorno
nivel de almacenamiento para el acceso a operativo Unix, este SO es desarrollado, co-
los datos. mercializado y vendido por Apple Inc.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 12
8
Durante los años 2005 – 2010, emerge estructura, el Sistema Operativo funciona
OpenSolaris como Sistema Operativo libre, como una recopilación de procedimientos,
a partir de la versión privativa de Solaris de donde cada una tiene una interfaz defini-
Sun Microsystems, a partir de esta genera- da desde el punto de vista de parámetros y
ción han nacido otras versiones como Illu- resultados, los cuales pueden hacer uso de
mOS, OpenIndiana. otros procedimientos.

Otra característica fundamental del sistema


Métodos de estructuración
monolítico, es que trabaja una bajo una es-
A continuación se presenta cinco diseños tructura básica, para explicar este proceso,
de métodos de estructuración: nos enfatizaremos en lo expuesto por el au-
tor Tanenbaum (2003).
■ Sistemas monolíticos
1. Un programa principal que invoca el
■ Sistemas en capas procedimiento de servicio solicitado.
■ Máquinas virtuales 2. Un conjunto de procedimientos de ser-
■ Microkernels vicio que ejecutan las llamadas al siste-
ma.
Sistemas monolíticos
3. Un conjunto de procedimientos utilita-
Es una de las estructuras más utilizadas, te- rios que apoyan a los procedimientos
niendo en cuenta que no requiere de una de servicio.

Procedimiento
principal

Procedimientos
de servicio

Procedimientos
utilitarios

Imagen 2. Modelo de estructuración para un sistema monolítico


Fuente: Tanenbaum (2003).

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 13
9
Sistemas en capas Capa 4: programas de usuario: es la encar-
gada de administrar los procesos, memoria,
Este método consiste en estructurar el Sis- dispositivos E/S que se ejecutaban desde
tema Operativo de forma jerárquica entre
los programas.
capas, cada una fijada por la que está abajo.
Capa 5: el operador: es el proceso operador
Como ejemplo de este método, vamos de THE.
a referenciar el expuesto por el autor Ta-
nenbaum (2003), el cual hace referencia Máquinas virtuales
al THE (Techische Hogescool Eindhoven),
creado por E. W. Dijkstra y sus estudiantes Este tipo de método se basa en tiempo
en el año 1968 en los países bajos. Este siste- compartido que proporciona multiprogra-
ma trabaja por lotes y cuenta con seis capas: mación y una maquina extendida como
Capa 0: asignación del procesador y multi- una interfaz más cómoda. El monitor de la
programación: es el encargado de asignar máquina virtual quien es el corazón del sis-
el procesador, conmutado entre procesos tema, se ejecuta en el hardware y realiza la
al presentarse interrupciones o expirar tem- multiprogramación proporcionando no so-
porizadores. Esta capa es la que hace posi- lamente una máquina virtual sino varias, las
ble la multiprogramación de la CPU. cuales son copias exactas del hardware de
Capa 1: administración de memoria y tam- las maquinas reales.
bor: es la encargad de repartir espacios a los Microkernel
procesos en la memoria principal y el tam-
bor. Este método consiste según Tanenbaum
Capa 2: comunicador operador-proceso: es (2003) “…en asignar recursos a las máquinas
la encargada de la comunicación entre cada virtuales y luego examinar cualquier intento
proceso y la consola del operador. de usarlos para garantizar que ninguna má-
Capa 3: administración de entrada/salida: se quina use los recursos de otra. Cada máqui-
encarga de administrar los dispositivos de na virtual en nivel de usuario puede ejecu-
entrada y salida. tar su propio Sistema Operativo”.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 14
10
1
UNIDAD

1Unidad 1

Fundamentos de
los sistemas Sistemas operativos
operativos
Autor: Katherine Roa
Introducción El Sistema Operativo que hace que el equipo funcione, sin
él, el hardware no entraría en funcionamiento y no se podría
ejecutar ningún programa. De allí que en este capítulo pro-
fundizaremos en el proceso de arranque del sistema desde
frio y todos los procesos que realiza este hasta que se pueda
ejecutar un programa.

Igualmente, estudiaremos los diferentes componentes de


un Sistema Operativo, donde se presentarán las principales
características y funcionamiento dentro del SO, y por último
abordaremos los tipos de sistemas operativos.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 16
3
U1 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 17
Andina 4
U1 Desarrollo temático

Fundamentos de los sistemas ope- comprueba el estado del hardware y de-


termina su configuración, proceso que
rativos
se denomina POST (Power On Self Test).
Arranque del sistema 2. Si no hay errores (en el paso uno), carga
en memoria un código llamado Boots-
Cada vez que un Sistema Operativo es
trap, que puede ser almacenado en un
arrancado en frio (boot) una parte del SO
CD-DVD, USB, en un disco duro, en el
debe ser trasferida a memoria principal, ob-
MBR (Master Boot Record), ubicado en
teniendo el control del procesador y reali-
zando labores de inicialización del sistema. la partición de arranque, o también se
Se trata de un procedimiento interno del puede acceder desde la red.
núcleo que en algunos sistemas puede ser 3. Si arrancamos desde el disco duro, el
invocado por procedimiento de usuario. código en el MBR examina la tabla de
particiones, identifica la partición acti-
La rutina de arranque comienza deshabili- va, lee el sector de arranque de la par-
tando las interrupciones, pasando a conti- tición, ejecuta el código almacenado en
nuación a iniciar el soporte físico; seguido ese sector de arranque.
se inicializan las estructuras de datos del
sistema y los buzones del sistema (uno por 4. Una vez cargado el sistema operativo,
cada interrupción), inicializando a nulo la este comienza con un test del sistema
cola de procesos preparados, retardos y las de archivos, crea las estructuras de da-
colas de procesos y mensaje de los buzones tos internas necesarias para el funciona-
del sistema. miento del Sistema Operativo y comien-
za a arrancar los procesos del sistema.
El proceso de iniciar el sistema desde el es- 5. Una vez arrancados los procesos del sis-
tado de apagado se denomina bootstrap- tema, es momento en que el equipo ya
ping o booting. está en funcionamiento y en espera de
que el usuario lo utilice y empiece a eje-
La secuencia de arranque de un ordenador
cutar sus propios procesos
es un proceso que se lleva mediante una se-
rie de pasos:
Componentes de un Sistema Operativo
1. Desde la memoria no volátil o memoria
flash se carga el programa BIOS (Basic Un Sistema Operativo está compuesto por:
Input/output System). Este programa ■ Gestión de procesos.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 18
Andina 5
■ Administración de memoria principal. la demás información para ejecutar un pro-
■ Administración de ficheros. grama. El ciclo de vida de un proceso nace
cuando se inicia su ejecución y muere en el
■ Gestión de los dispositivos de entrada/ momento en que finaliza su ejecución o es
salida. cancelado.
Gestión de procesos
Cuando un programa se ejecuta, este ingre-
Un proceso es un programa que ha inicia- sa a un sistema de cola, y el planificador de
do su ejecución, cada uno de estos tiene trabajo del Sistema Operativo va seleccio-
proporcionado un espacio de direcciones nando de esta el programa a ejecutarse, este
en la memoria. Cada proceso está asociado tipo de proceso es conocido como procesa-
con algún conjunto de registros, incluido miento por cola serie o “por lotes” (batch).
el contador de programa, el apuntador de En la figura 3 se presenta el procedimiento
pila y otros registros de hardware, así como de un proceso.

Programa nuevo

Listo
Activar Tiempo Ocurrió
ejecución terminado evento
Ejecución

Esperar
evento Bloqueado

Terminado

Figura 1. Procesos
Fuente: Propia.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 19
6
Administración de memoria principal Sistema Sistema
operativo operativo
Un Sistema Operativo consume algunos re-
P1 P1
cursos de un sistema de cómputo durante
su propia operación; por ejemplo, ocupa
P2 P2
memoria y usa el CPU. Este consumo de
recursos constituye una sobrecarga (over-
head) que reduce los recursos disponibles a Figura 2. Fragmentación de la memoria
los programas de los usuarios. Fuente: Propia.

La memoria es como un gran archivador Administración de ficheros


con muchos compartimientos (bytes) a
Los usuarios de la computadora esperan
los que se accede mediante una dirección
un acceso rápido a los archivos, confiabi-
única; estos datos son compartidos por la lidad al encarar las fallas, habilidades para
CPU y los dispositivos de Entrada/Salida. compartir los archivos con compañeros de
trabajo y una garantía de que ninguna de
Un Sistema Operativo asigna un área de las personas no autorizadas puedan usar o
memoria cuando un proceso lo solicita, ras- manipular indebidamente sus archivos. El
treando las áreas donde se ha liberado me- sistema de archivo provee una visión lógica
moria por los procesos finalizados. El aspec- al usuario, que consta de una jerarquía del
to clave de la administración de memoria es directorio del sistema de archivos, en el cual
la fragmentación de memoria, el cual hace cada usuario tiene un directorio raíz.
referencia a la presencia de áreas libres de Por lo tanto, cuando un usuario desee remi-
memoria inutilizables. tirse a una información puntual, solo tiene
que crear un archivo indicándole el nombre
El Sistema Operativo se encarga de adminis- que considere oportuno.
trar la memoria con el fin de identificar qué
Gestión de los dispositivos de
fragmento de la memoria está siendo utili-
entrada/salida
zada y por quien, disponer qué procesos se
asignarán en memoria cuando haya espacio El Sistema Operativo administra cada uno
disponible y finalmente, asignar y reclamar de los periféricos de un equipo, con el fin de
espacio de memoria cuando sea necesario. que estos puedan ser compartidos eficien-
temente por los distintos procesos, informar
En la figura 2, se visualiza la memoria que ha al usuario las características particulares del
sobrado después de haberle asignado a los hardware que está utilizando.
procesos P1 y P2; estos fragmentos de me-
Asimismo, el Sistema Operativo contiene
moria permanece sin ser utilizada porque es gestores de periféricos, que son rutinas de
demasiado pequeña para asignar un proce- E/S encargadas de controlar dispositivos,
so, pero conjuntamente son bastantes gran- estos gestores son los únicos que deberán
des para ser asignadas a un nuevo proceso. tener en cuenta las peculiaridades concre-

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 20
7
tas de los dispositivos. La rutina de entrada/ Clasificación de los sistemas operativos
salida realiza las comprobaciones necesa- Sistema de multiprogramación
rias sobre la operación que se va a realizar,
y hace la petición de servicio al gestor del La concurrencia de operación entre el CPU y
periférico correspondiente, que será el que el Subsistema de E/s puede explotarse para
efectúe la operación. hacer el sistema haga más trabajo. El Siste-
ma Operativo puede poner a muchos pro-
Las operaciones de E/S pueden realizarse de
tres formas: modo programado de E/S es len- gramas del usuario en la memoria y permitir
to e involucra al CPU en una operación de E/S, que el CPU ejecute las instrucciones de un
por consiguiente, solo puede ejecutarse una programa. A esta técnica se le llama multi-
operación de E/S. El modo de interrupción es programación.
también lento, de modo que se ejecuta una
trasferencia de datos byte por byte; de cual- La figura 3 visualiza la operación de un Siste-
quier forma, aquél libera la CPU de las trasfe- ma Operativo multiprogramación, donde la
rencias de bytes. El modo directo de acceso a memoria contiene tres programas. Una ope-
la memoria (DMA) puede trasferir un bloque ración de E/S está en curso para el programa
de datos entre la memoria y un dispositivo 1, mientras que el CPU ejecuta el programa
de E/S sin involucrar al CPU. La interrupción 2. El CPU es conmutado al programa 3 cuan-
y los medios (DMA) permiten la ejecución si- do el programa 2 inicia una operación de
multánea de varias operaciones.
E/S, y se le conmuta al programa 1 cuando
Las operaciones DMA las ejecuta un proce- se termina la operación de E/S del programa
sador de propósitos espaciales que están 1. El kernel de multiprogramación realiza la
dedicados a la ejecución de las operaciones planificación, la administración de la memo-
de E/S. ria y la administración de E/S.

Figura 3. Operación de un sistema multiprogramación


Fuente: Propia (Soporte arquitectónico de un sistema multiprogramación).

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 21
8
DMA: el CPU inicia una operación de E/S teclado y examinar su salida en la pantalla
cuando se ejecuta una instrucción de E/S. del monitor. Se usa un paradigma diferente
El DMA implementa la trasferencia de datos del Sistema Operativo en tales ambientes
que interviene en la operación de E/S sin in- para proveer un servicio rápido de lo que el
volucrar al CPU. Igualmente, ocasiona una usuario solicita, crea la ilusión de que cada
interrupción de E/S cuando termina la tras- usuario tiene un sistema de cómputo para
ferencia de datos. su disposición exclusiva.
Protección de la memoria: asegura que un El servicio de usuario se caracteriza en tér-
programa no tenga acceso ni destruya el minos del tiempo asumido para dar aten-
contenido de las áreas de la memoria ocu- ción a una subpetición, es decir, el tiempo
padas por otros programas o por el sistema
de respuesta. Los beneficios de los buenos
operativo.
tiempos de respuesta se aprecian mejor du-
Modo privilegiado del CPU: ciertas instruc- rante el desarrollo del programa. Una peti-
ciones, llamadas instrucciones privilegia- ción típica emitida por el usuario implica la
das, pueden realizarse solamente cuando el compilación de una declaración o una eje-
CPU esté en el modo privilegiado. Se ocasio- cución de un programa para los datos da-
na una interrupción de programa cuando el dos. La respuesta consta de un mensaje del
CPU está en el modo de usuario. compilador o de resultados computados por
un programa. Un usuario emite la siguiente
En un sistema de multiprogramación, el petición después de recibir la respuesta a la
tiempo de demora es afectado por la can- petición previa. Los buenos tiempos de res-
tidad de atención de la CPU que se dedica puesta conducirán a una mejora en la pro-
a otros trabajos que se ejecutan concurren- ductividad del usuario. Cualquier aplicación
temente, de modo que el tiempo de demo-
en el cual un usuario tiene que interactuar
ra de un trabajo depende del número de
con un cómputo derivará beneficios simila-
trabajos en el sistema y de las prioridades
res de los buenos tiempos de respuesta.
relativas que el planificador asigna a los di-
ferentes trabajos Sistema Operativo de tiempo real
Sistemas de tiempo compartido Una aplicación de tiempo real es un progra-
En un ambiente de cómputo interactivo un ma que responde a las actividades en un sis-
usuario no tiene contacto con su programa tema externo dentro de un tiempo máximo
durante su ejecución. En tal ambiente es determinado por el sistema externo.
natural usar el procesamiento por lotes o
el paradigma de la multiprogramación. Los En una clase de aplicaciones llamadas apli-
dos sistemas proveen un servicio deficiente caciones de tiempo real, los usuarios nece-
al usuario, sin embargo, esto es inevitable sitan que la computadora realice algunas
debido a la naturaleza de los dispositivos de acciones oportunas para controlar las acti-
E/S en uso. vidades en un sistema externo, o participar
de ellas. La puntualidad de acciones se de-
En un ambiente interactivo, un usuario pue- termina por las restricciones de tiempo del
de proveer entradas a un programa desde el sistema externo.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 22
9
Si la aplicación se toma mucho más tiempo Un sistema distribuido saca provecho de la
para responder a una actividad, puede ocu- multiplicidad de recursos y de la presencia
rrir un fracaso en el sistema externo. Usa- de una red para proveer las ventajas de los
mos el tiempo requisito de respuesta de un recursos compartidos a través de las com-
sistema para indicar el valor más grande de putadoras, la fiabilidad de operaciones, la
tiempo de respuesta para el cual el sistema aceleración de aplicaciones y la comunica-
puede funcionar perfectamente; una res- ción entre usuarios.
puesta oportuna es aquella cuyo tiempo de
respuesta es más pequeño que el requisito Sin embargo, la posibilidad de fracasos de
de respuesta del sistema. la red o del sistema de cómputo individua-
les complica el funcionamiento del Sistema
Algunos ejemplos de este tipo de aplicación Operativo y necesita el uso de técnicas es-
en tiempo real, pueden ser las aplicaciones peciales en su diseño.
de guía, dirección y control de misiles, con-
trol de procesos y control de tráfico aéreo, Las principales características de este tipo
los sistemas de multimedia y las aplicacio- de sistema son:
nes, como los sistemas bancarios y las reser- • Recursos compartidos: mejora la uti-
vas que se basan en el uso de base de datos lización de los recursos a través de las
en tiempo real. fronteras de los sistemas de cómputo
individuales.
Las características de un Sistema Operativo
en tiempo real son: • Fiabilidad: disponibilidad de recursos
y servicios a pesar de las fallas.
■ Permite la creación de procesos múltiple
dentro de una aplicación. • Rapidez del equipo: las partes de
un cálculo pueden ejecutarse en di-
■ Permite la asignación de prioridades a los ferentes sistemas de cómputo para
procesos. acelerar el cómputo.
■ Permite al programador definir las inte- • Comunicación: suministra medio de
rrupciones y las rutinas de procesamien- comunicación entre entidades remo-
tos de las interrupciones. tas.
■ Usa planificación accionada por priorida- • Crecimiento por incrementos: pue-
des u orientadas a los plazos límite. de magnificarse las capacidades del
■ Suministra tolerancia a las fallas y capaci- sistema a un costo proporcional a la
dades de degradación parcial. naturaleza y tamaño de la magnifica-
Sistemas operativos distribuidos ción.
Sistemas operativos modernos
Un Sistema Operativo distribuido consta de
varios sistemas de cómputo individuales co- Los usuarios se involucran en actividades
nectados a través de una red. Así, muchos diversas en un ambiente moderno de com-
recursos de la misma clase, por ejemplo, putación. Por tanto, un Sistema Operativo
muchas memorias, CPU y dispositivos de moderno no puede usar una estrategia uni-
E/S, existen en el sistema distribuido. forme para todos los procesos; debe usar

Fundación Universitaria del Área Andina 10


23
una estrategia que sea apropiada para cada da en prioridades para los procesos de la
proceso individual. Por ejemplo, un usua- aplicación de video e implementación de
rio puede abrir un manipulador de correo, las llamadas de procedimiento remoto para
editar algunos archivos, ejecutar algunos admitir las actividades de otro nodo.
programas y observar un video al mismo
tiempo. Aquí, la ejecución de un programa Un Sistema Operativo no puede destinar
puede ser interactiva e involucrar una acti- estrategias diferentes para distintos tipos
vidad en otro nodo de un sistema de cóm-
de procesos, por lo que un Sistema Opera-
puto distribuido, y la vigilancia de un video
es una actividad de tiempo real suave, así tivo moderno realmente usa una estrategia
es que el Sistema Operativo debe usar la individual compleja que adapta su funcio-
planificación round-robin para la ejecución namiento a la satisfacción de cada proceso
del programa, debe usar planificación basa- individual.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 24
11
1
UNIDAD

2 Unidad 2

Gestión de
Sistemas operativos
procesos
Autor: Katherine Roa
Introducción Analizaremos dos puntos de vista de los procesos, el del pro-
gramador y el del sistema operativo. Desde el punto de vista
del programador, estudiaremos como se crean los procesos
concurrentes y como interactuar entre sí para alcanzar una
meta común. Desde el punto de vista del sistema operativo,
analizaremos como crea procesos un sistema operativo, como
le sigue la pista a los estados de proceso y de qué manera usa
la información del estado de proceso para organizar la ejecu-
ción de los programas.

También abordaremos el concepto de un hilo, el cual hace re-


ferencia a una ejecución de un programa que usa el ambiente
del mismo proceso, es decir, su código, sus datos y sus recur-
sos. De allí, que un sistema operativo aprovecha estas circuns-
tancias para reducir la sobrecarga mientras conmuta entre
tales hilos.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 26
3
U2 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación Universitaria del Área Andina 27


Fundación Universitaria del Área Andina 4
U2 Desarrollo temático

Gestión de procesos Existen dos tipos de relaciones entre los


procesos y programas:
Descripción de procesos
Uno a uno: cuando se realiza una ejecución
Un proceso es una ejecución de un progra- individual de un programa secuencial.
ma. El énfasis en “una” significa que varios
procesos pueden representar distintas eje- Muchos a uno: cuando existen muchas eje-
cuciones del mismo programa. Esta situa- cuciones simultáneas de un programa, eje-
ción surge cuando se inician varias ejecu- cución de un programa concurrente.
ciones de un programa, cada una con sus
propios datos y al mismo tiempo está en Vamos a tomar como guía el ejemplo que
ejecución un programa que está codificado nos expone los autores Candela, S., García,
con técnicas concurrentes de panificación. C. Quesada, A. Santana & F. Santos, J. (2007),
con el fin de entender un poco más el con-
Un programador usa los procesos para lo- cepto de proceso,
grar la ejecución de los programas en una
manera secuencial. Un sistema operativo El programa P mostrado en la figura 1 a) con-
usa procesos para organizar la ejecución de tiene las declaraciones del archivo info y una
los programas. El concepto de proceso le variable ítem, de la misma manera que las
permite a un sistema operativo ejecutar los declaraciones que leen los valores de info los
programas tanto secuencial como concu- usan para realizar algunos cálculos e impri-
rrentemente con la misma facilidad. mir un resultado antes de detenerse. Duran-
te la ejecución, las instrucciones de este pro-
Un programa es una entidad pasiva que no
grama usan valores en su área de datos u la
realiza ninguna acción por sí misma; tiene
pila a fin de realizar los cálculos pretendidos.
que ser ejecutado para realizar acciones es-
b) muestra una vista abstracta de su ejecu-
pecíficas en él.
ción. Las instrucciones, los datos y la pila del
Uniendo los dos términos anteriores, pro- programa P constituyen su espacio de direc-
cesos y programas, un proceso realiza las ción. Para darse cuenta de la ejecución de P,
acciones especificadas en un programa. Un el sistema operativo asigna la memoria con
sistema operativo considera los procesos el fin de acomodar el espacio de la dirección
como entidades para planificarse, de esta de P, destina una impresora para imprimir
manera es como se lleva a cabo la ejecución sus resultados, establece un acomodamien-
de programas del usuario. to a través del cual P puede acceder al archi-

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 28
5
vo info y programa a P para la ejecución. El las instrucciones de P; el sistema operativo
CPU se muestra como rectángulo con las lí- comparte el CPU entre la ejecución de P y las
neas punteadas porque no siempre ejecuta ejecuciones de otros programas.

Figura 1. Un programa y una vista abstracta de su ejecución


Fuente: Propia.

Procesos hijo, el sistema operativo inicia la Prioridad de las funciones críticas, a un


ejecución de un programa creando un pro- proceso hijo creado para ejecutar una fun-
ceso para él. Éste es designado el proceso ción crítica en una aplicación se le puede
principal para la ejecución, y puede crear asignar una prioridad más alta que a otras
otros procesos, que se convierten en sus funciones. Estas asignaciones de prioridad
procesos hijos. Un proceso hijo a su vez pueden ayudar al sistema operativo a cum-
puede crear otros procesos. Todos estos for- plir los requerimientos de tiempo real de
man un árbol que tiene al proceso principal una aplicación.
como su raíz.
Protección del proceso padre contra erro-
Las ventajas de los procesos hijos son: res, el sistema operativo cancela un proceso
hijo si surge un error durante su ejecución,
La aceleración del equipo, la creación de
procesos múltiples en una aplicación sumi- esta acción no afecta al proceso padre.
nistra las tareas múltiples. Sus beneficios
son similares a los de la multiprogramación; Ciclo de vida de un proceso
capacita al sistema operativo para interpa- El estado de proceso es un indicador de la na-
ginar la ejecución de los procesos acotados turaleza de la actividad actual en un proceso.
por la E/S y por el CPU en una aplicación,
suministrando con ello la aceleración de la Un sistema de cómputo convencional con-
máquina. tiene un CPU, de modo que cuando mucho

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 29
6
un proceso puede estar en el estado en eje- curso formulada por aquel, o hasta que
cución, sin embargo, puede existir cualquier ocurra un evento especifico. No debe asig-
número de procesos en los estados blo- nársele un CPU hasta que su espera esté
queado, listo y terminado. Un sistema ope- terminada.
rativo puede definir más estados de proceso
para simplificar su propio funcionamiento o Listo: el proceso desea usar el CPU para con-
para admitir funcionalidades adicionales, tinuar su operación; sin embargo, no ha sido
como hacer un intercambio. planificado.
Ejecución: en ese momento el CPU está ejecu-
Terminado: la operación del proceso, es de-
tando instrucciones en el código del proceso.
cir, la ejecución del programa representado
Bloqueado: el proceso tiene que esperar por aquél, se ha terminado normalmente, o
hasta que se conceda una petición de re- el sistema operativo la ha abordado.

Figura 2. Transiciones de los estados de un proceso


Fuente: Propia.

En la figura 2. Observamos las diferentes A continuación abordaremos las diferentes


transiciones de los estados que un proceso causas de las transiciones de estado funda-
puede tomar. Un proceso puede estar listo, mentales de un proceso:
se ejecuta y finaliza su ejecución, puede ha-
ber otros casos donde el proceso está listo, Listo a en ejecución: el proceso se despa-
se ejecuta, pero este pasa a un modo de es- cha. El CPU inicia o reanuda la ejecución de
pera quedando bloqueado, y hasta que el sus instrucciones.
sistema no le conceda recursos o su tiempo
de espera haya finalizado no quedara en el Bloqueado a listo: se satisface una petición
estado listo para finalizar su ejecución y ter- hecha por el proceso u ocurre un evento
minación del proceso. que estaba esperándose.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 30
7
En ejecución a listo: el proceso se prioriza que un proceso puede consumir. Un pro-
porque el sistema operativo decide planifi- ceso que sobrepase un límite de recursos
car otro proceso. Esta transición ocurre por- será terminado por el kernel.
que un proceso de prioridad más alta queda ■ Condiciones anormales durante la ejecu-
listo o porque expira el intervalo de tiempo ción, el kernel cancela un proceso si sur-
del proceso. ge una condición anormal en el progra-
ma que se está ejecutando.
En ejecución a bloqueado: el programa que
está siendo ejecutado hace una llamada al ■ La interacción incorrecta con otros pro-
sistema para indicar que desea esperar has- cesos, el kernel puede cancelar un proce-
ta que se satisfaga alguna otra petición de so por la interacción incorrecta con otros
recurso hecha por aquél o hasta que ocurra procesos.
un evento especifico en el sistema. Las prin-
cipales causas de bloqueo son: Control de procesos
• El proceso solicita una petición de Un proceso tiene cinco componentes de
proceso: id, código, datos, pila y estado del
E/S.
CPU. El proceso usa el CPU cuando es pla-
• El proceso solicita memoria o cual- nificado, también usa otros recursos; estos
quier otro recurso. incluyen los recursos del sistema, como la
• El proceso desea esperar durante un memoria, y los recursos creados por el usua-
intervalo específico de tiempo. rio, como los archivos. El sistema operativo
tiene que mantener la información acerca
• El proceso espera el mensaje de otro de todas las características de un proceso.
proceso.
• El proceso desea esperar alguna otra La visión del sistema operativo de un proce-
so consta de dos partes:
acción de otro proceso.
■ El código y las áreas de datos del proceso,
En ejecución a terminado: la ejecución del incluidos su pila y los recursos asignados.
programa se completa o se termina. Algu-
nas de las causas de terminación son: ■ La información relativa a la ejecución de
un programa.
■ Autoterminación, el programa está sien-
do ejecutado termina su tarea. La figura 3 muestra el arreglo usado para
■ Terminación por un padre, un proceso
controlar un proceso. Consta de un am-
biente de proceso y del bloque de control
hace una llamada de terminar al sistema
de proceso (PBC). El id de un proceso se usa
para terminar el proceso hijo, cuando en-
para tener acceso a su ambiente de proceso
cuentra que ya no es necesaria o signifi-
y al PCB. Este arreglo permite que los dife-
cativa la ejecución del proceso hijo.
rentes módulos del sistema operativo ten-
■ Utilización excesiva de recursos, un siste- gan acceso conveniente y eficazmente a los
ma operativo puede limitar los recursos datos relacionado con el proceso.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 31
8
Figura 3. Sistema operativo de un proceso
Fuente: Propia.

El ambiente de proceso contiene el espa- usa para implementar los accesos a la me-
cio de la dirección de un proceso, es decir, moria hechos por el proceso.
su código, sus datos y la pila, así como toda
la información necesaria para acceder y con- Estado de las actividades del procesamien-
trolar los recursos que se le han asignado. El to de archivos: los apuntadores a los archi-
sistema operativo crea un ambiente de pro- vos abiertos por el proceso y las posiciones
ceso asignándole memoria al proceso, car- presentes en los archivos.
gando el código de proceso en la memoria
asignada y estableciendo su espacio de da- Información de los recursos: información re-
tos. El sistema operativo también alimenta lativa a los recursos asignados a un proceso.
información relativa al acceso a los recursos
Información diversa: información diversa
asignados al proceso y su interacción con
necesaria para la interacción de un proceso
otros procesos y con el sistema operativo.
con el sistema operativo.
Los componentes del ambiente de proceso
El bloque de control de procesos (PCB) es
son:
una estructura de datos del kernel que con-
Códigos y datos: código del programa, in- tiene información referente al id de proceso
cluidos sus funciones y sus procedimientos, y el estado del CPU.
y sus datos, incluida la pila.
El kernel usa tres funciones fundamentales
Información de la asignación de memoria: para controlar los procesos:
información relativa a las áreas de memoria ■ La planificación: seleccionar el proceso
asignadas al proceso. Esta información se que debe ejecutarse enseguida en el CPU.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 32
9
■ El despacho: establecer la ejecución del La ejecución del proceso puede reanularse
proceso seleccionada en el CPU. simplemente cargando esta información de
su PCB en la CPU. Esta acción será realizada la
■ Elcontexto de salvar: guardar la infor-
próxima vez que este proceso se despache.
mación referente a un proceso en curso
cuando su ejecución se suspende. Llamadas al sistema para la gestión de
procesos
El bloque del proceso contiene toda la infor-
mación relacionada con un proceso que se La llamada al sistema es la interfase entre
usa para controlar su operación, tal como su los programas y el sistema operativo, este
id, prioridad, estado, PSW y contenido de los proceso también es conocido como instruc-
ciones ampliadas; este tipo de instrucción
registros del CPU, así como la información
funciona a través de comandos que ejecu-
usada en el acceso a los recursos y a la im-
tan un proceso.
plementación de la comunicación con otros
procesos. Windows, conoceremos dos de los coman-
dos más utilizados en la gestión de un pro-
La información prioritaria y de estado es ceso el cual es tasklist y taskkill,
usada por el programador. Pasa el id del
proceso seleccionado al despachador. Para Tasklist: nos permite ver una lista completa
un proceso que no está en el estado en eje- de los procesos activos en el sistema, estos
cución, los campos de los registros del CPU se encuentran organizados alfabéticamen-
y de la PSW conjuntamente contienen una te. Con este comando podemos visualizar si
foto instantánea del CPU del momento en hay algún código malicioso en la máquina.
La información que visualiza el comando es
que fue liberado por el proceso por última
el nombre del proceso y el PID.
vez, es decir, tiene el contenido de los di-
ferentes registros de control y de datos del Tasklist /? Visualiza los diferentes comandos
CPU cuando el proceso se bloqueó o cuan- que se utiliza con el Tasklist, (es la ayuda en
do fue priorizado. el símbolo del sistema).

Ejemplo:

Imagen 1
Fuente: Propia.
Otros comando que hacen uso de Tasklist /FO formato. Describe el formato de salida,
/… los valores validos son: TABLE, LIST, CSV.
/M {Modulo} Visualiza todos los procesos
que actualmente usan un programa .exe o /NH. Indica que el encabezado de columna
una .dll. Si el nombre del módulo no se es- no debe aparecer en la salida.
pecifica, se muestran todos los módulos car-
gados.
Taskkill: nos permite finalizar uno o más
/SVC. Visualiza las asistencias de cada pro- procesos, se debe indicar el PID o el nombre
ceso.
del proceso.
/V. Visualiza al detalle toda la información
de los procesos. Taskkill /? Visualiza los diferentes comandos

/FI filtro. Visualizan los procesos que se es- que se utiliza con el Taskkill, (es la ayuda en
pecifican en el filtro. el símbolo del sistema).

Ejemplo:

Imagen 2
Fuente: Propia.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 34
11
Otros comando que hacen uso de Taskkill /F. Permite terminar forzosamente el proce-
/… so.

/pid {número de proceso}. En el siguiente link podrán visualizar otros


comandos que podemos utilizar en la ges-
/FI filter. Aplica un filtro para seleccionar un tión de procesos:
conjunto de proceso que se va a terminar. Windows
Puede usarse el comodín “*” para especificar https://support.microsoft.com/es-co/
todos los procesos o nombres de imagen. kb/186592

/T. Finaliza el proceso especificado y to- Linux


dos los procesos secundarios iniciados por http://sopa.dis.ulpgc.es/ii-dso/leclinux/mis-
este. celaneos/llamadas/LEC_llamadas.pdf

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 35
12
1
UNIDAD

2 Unidad 2

Planificación
Sistemas operativos
de procesos
Autor: Katherine Roa
Introducción La política de planificación se utiliza en un Sistema Operativo
afecta al servicio del usuario, el uso eficaz de los recursos y al
desempeño del sistema. Para lograr los fines que se proponen
las políticas de planificación se usan las técnicas fundamenta-
les de priorización, reordenamiento de las solicitudes y varia-
ción del intervalo de tiempo.

Un Sistema Operativo debe adaptar su funcionamiento a la


disponibilidad de recursos que hay en el sistema; para este
efecto, utiliza una combinación de tres programadores de-
nominados de largo, mediano y corto plazos; importantes en
la planificación práctica es la imparcialidad en el servicio del
usuario. También se estudiará la planificación en un entorno
en tiempo real.

El análisis de desempeño de las políticas de planificación es


relevante para ajustar el desempeño de una política de plani-
ficación y comparar políticas alternativas.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 37
3
U2 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación Universitaria del Área Andina 4


38
U2 Desarrollo temático

Planificación de procesos vidor. Una solicitud sale del servidor cuando


está terminado o cuando es priorizada por
Términos y conceptos de la planificación el programador, en cuyo caso vuelve a po-
nerse en la lista de solicitudes pendientes.
Todas las solicitudes en espera de ser aten-
didas están en una lista de solicitudes pen- De cualquier modo, el programador realiza
dientes (figura 1). Una solicitud recién lle- la planificación a fin de seleccionar la si-
gada se agrega a esta lista. Siempre que se guiente solicitud que deberá ser atendida.
lleve a cabo una planificación, el programa- Así, cuatro eventos relacionados con la pro-
dor analiza las solicitudes pendientes y elige gramación son la llegada, la planificación, la
la que será atendida. Esta se entrega al ser- priorización y la terminación.

Figura 1. Esquema de la planificación


Fuente: Propia.

Una solicitud es la ejecución de una tarea o y espera su terminación. En un entorno in-


de un proceso. Un usuario hace la solicitud teractivo, un usuario puede interactuar con

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 39
5
un proceso durante su ejecución: el usuario proceso o una subsolicitud para terminar
hace una subsolicitud a un proceso y éste su operación.
responde llevando a cabo una acción o cal- ■ Priorización: retiro de la asignación forza-
culan un resultado. da del CPU de una tarea o de un proceso.
El tiempo de servicio de una tarea o proceso ■ Prioridad: la prioridad es una regla de
es el tiempo total de CPU y el tiempo E/S re- desempate usada para seleccionar una
queridos por la tarea o proceso para termi- solicitud cuando hay muchas solicitudes
nar su operación. Es una propiedad intrín- en espera de servicio.
seca de una tarea o proceso. El tiempo total Relacionado con el servicio del usuario:
empleado por ellos en el Sistema Operativo solicitud individual
puede ser mayor que su tiempo de servicio
porque puede hacer momentos en los que Rebase de tempo límite: cantidad de tiem-
el proceso no está siendo ejecutado en el po en la que el tiempo de terminación de
CPU ni está realizando E/S. en consecuen- una tarea o un proceso excede su tiempo lí-
cia, su tiempo de terminación depende de mite. Los rebases del tiempo límite pueden
su tiempo de llegada, del tiempo de servicio ser ambos positivos o negativos.
y del tipo de servicio que le proporciona el
Compartición equitativa: una parte especi-
SO. Los conceptos relacionados con la pla-
fica del tiempo de CPU que debe dedicarse
nificación pueden agruparse en conceptos
a la ejecución de un proceso o de un grupo
centrados en el usuario y en conceptos cen-
de procesos.
trados en el sistema.
Relación de respuesta: la relación (tiempo
A continuación abordaremos algunos con-
desde la llegada + tiempo de servicio del
ceptos relacionados con la planificación, proceso) / tiempo de servicio del proceso.
Solicitud relacionada
Tiempo de respuesta (rt): tiempo que tras-
■ Tiempo de llegada: instante en el que el curre desde la presentación de una subso-
usuario planea una tarea o un proceso. licitud que va a procesar hasta el momento
■ Tiempo de admisión: tiempo en el que el en que su resultado está disponible. Este
sistema comienza a considerar una tarea/ concepto es aplicable a procesos interacti-
proceso para su planificación. vos.
■ Tiempo de terminación: instante en el Tiempo de demora (ta): tiempo que tras-
que se termina una tarea o un proceso. curre entre la presentación de una tarea o
■ Tiempo límite: lapso en el que debe ter- un proceso y su terminación por el sistema.
minarse una tarea o un proceso a fin de Este concepto tiene sentido solo para tareas
satisfacer el requerimiento de respuesta o procesos no interactivos.
de una aplicación en tiempo real.
Giro ponderado (w): relación que hay entre
■ Tiempo de servicio: total de tiempo CPU el tiempo de demora de una tarea o un pro-
y tiempo E/S requerido por una tarea, un yecto y su propio tiempo de servicio

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 40
6
Relación con el servicio del usuario: Tipos de planificación
servicio medio Un Sistema Operativo debe proporcionar
una combinación idónea de característi-
Tiempo medio de respuesta (rt): promedio
cas centradas en el usuario y en el sistema.
de los tiempos de respuesta de todas las También debe adatarse a la naturaleza y
subsolicitudes atendidas por el sistema. cantidad de solicitudes de los usuarios que
se espera surja en su entorno, así como a la
Tiempo de demora medio (ta): promedio de disponibilidad de recursos. Un solo progra-
los giros de tiempo necesarios de todas las mador y una sola política de planificación
tareas o procesos atendidos por el sistema. no son capaces de manipular todos sus
Relacionado con la planificación asuntos.
Longitud de la planificación: tiempo nece- Por consiguiente, un Sistema Operativo uti-
sario para terminar un conjunto específico liza una disposición que consta de tres pro-
de tareas o procesos. gramadores denominados programador a
largo plazo, programador a mediano plazo
Rendimiento: número medio de tareas, pro- y programador a corto plazo encargados de
cesos o subsolicitudes terminadas por el sis- atender diversas cuestiones centradas en el
tema en una unidad de tiempo. usuario y el sistema.

Figura 2. Diagrama de planificaciones


Fuente: Propia.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 41
7
Planificación a largo plazo mero relativamente menor de solicitudes
que pueden caber en la memoria del siste-
El programador a largo plazo decide cuando ma en cualquier momento. Así, el progra-
empezar a considerar una solicitud para su mador se centra en la suspensión o reacti-
planificación a mediano y corto plazo. Este vación de procesos mediante la ejecución
hecho se denomina admisión de una soli- de operaciones de suspensión o de activa-
citud. El programador a largo plazo puede ción, de modo que el programador a corto
postergar la admisión de una solicitud por plazo encuentre una cantidad suficiente de
dos razones. Puede no estar preparado para procesos listos. El programador a mediano
asignar recursos suficientes, como estructu- plazo decide cuando suspender un proce-
ras de datos del kernel o dispositivos de E/S., so e introduce su PCB en la lista correcta de
a una petición cuando ésta llega, o puede PCB. Las operaciones de reactivación y sus-
encontrar que la admisión de una solicitud pensión actuales se ejecutan en el adminis-
podría afectar de alguna manera el desem- trador de la memoria.
peño del sistema. Por ejemplo, si el sistema
contiene actualmente un gran número de La decisión de suspender un proceso es re-
solicitudes ligadas al CPU, podría diferir una lativamente fácil de tomar. Puede efectuarse
nueva solicitud ligada a éste, aunque po- cuando un usuario solicita una suspensión,
dría diferir una nueva solicitud ligada a éste. cuando el kernel se queda sin memoria libre
Aunque podría admitir de inmediato una o cuando se encuentra que algún proceso
nueva ligada a e/s. presente en la memoria no tiene probabili-
dades de ser asignado al CPU durante mu-
La planificación a largo plazo no es relevan- cho tiempo. En sistemas de tiempo com-
te si toda petición que llega puede ser ad- partido, los procesos que se encuentran
mitida de inmediato para su procesamien- bloqueados o listos son candidatos a ser
to, por ejemplo, en un Sistema Operativo de suspendidos.
tiempo compartido capaz de crear recursos
virtuales cuando es necesario. No obstante, La decisión de reactivar un proceso es más
la planificación a largo plazo se utilizó en complicada. El programador a mediano pla-
las décadas de los sesenta y setenta para zo debe conjeturar cuando un proceso que
planificación de tareas porque el equipo de sigue cronológicamente. El programador
cómputo era costoso y los sistemas de com- puede sustentar su conjetura en la posición
putadoras tenían recursos limitados. Sigue que ocupa un proceso en la lista de planifi-
siendo importante en sistemas operativos cación. Las decisiones de intercambio pue-
cuyos recursos son limitados. Su empleo es den tomarse en forma periódica o cuando
inevitable si las solicitudes tienen tiempos ocurre un evento relacionado.
límite o si un conjunto de solicitudes se re- Planificación a corto plazo
pite con una periodicidad.
Planificación a mediano plazo Este tipo de planificación se ocupa del em-
pleo eficiente del CPU. Aquí se elige un
El programador a mediano plazo trasforma proceso de una lista de procesos listos, se
la gran cantidad de solicitudes que puedan decide durante cuánto tiempo debe ejecu-
caber en la memoria del sistema en un nú- tarse el proceso y se hace lo necesario para

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 42
8
producir un interruptor de tiempo en la me- First Come, First Serve (FCFS)
dida en que transcurre el tiempo, seguido, También conocido como el primero Llegado,
el proceso elegido se entrega al mecanismo el primero servido o FIFO (First In, First On). Es
de despacho. uno de los esquemas más simples de la pla-
nificación, apto para multitarea cooperativa.
En resumen, el programador a largo plazo
selecciona los procesos que deben consi- Atiende al primer proceso que llega y el resto
derarse para su programación por el pro- entra en cola de espera. Su principal desven-
gramador a mediano plazo, que a su vez taja es que el tiempo de respuesta es impre-
elige los procesos que deben considerarse decible y penaliza procesos cortos, además
de acaparar la CPU hasta que finaliza.
para su programación por el programador a
corto plazo, y éste selecciona procesos que Las solicitudes se programan en el orden en
deben ejecutarse en el CPU. Cada progra- que llegan al sistema. La lista de solicitudes
mador aplica sus propios criterios concer- pendientes se organiza como una cola. El
nientes al uso de recursos y a la calidad del programador siempre elige para planificar
servicio a fin de elegir los procesos para la la primera solicitud de la lista. Un ejemplo
siguiente etapa de planificación. de este tipo de planificación es un sistema
de procesamiento por lotes en el cual las ta-
Algoritmos de planificación reas se ordenan según sus tiempos de llega-
da y los resultados de una tarea se suminis-
Los algoritmos de planificación más comu- tran a un usuario inmediatamente después
nes son: de su terminación.

Imagen 1. Planificación FCFS


Fuente: Wolf, G. Planificación de procesos y algoritmos.

Round-Robin un proceso cuando es planificado. Una soli-


citud se prioriza si transcurre el intervalo de
El objetivo de la planificación (RR) con in-
tiempo. Esta política preserva los giros pon-
tervalos de tiempo es proporcionar un ser-
vicio equitativo a todas las solicitudes. Los derados de los procesos aproximadamente
intervalos de tiempo se usan para limitar la iguales al número de procesos activos que
cantidad de tiempo de CPU que puede usar hay en el sistema.

Fundación Universitaria del Área Andina 9


43
Este tipo de planificación puede implemen- La planificación Round Robin se mane-
tarse organizando la lista de procesos listos ja mejor si se mantienen dos listas de BCP.
como cola. El programador siempre elige Una debe contener BCP de procesos listos,
el primer proceso de la cola. Si el intervalo mientras que la otra debe contener BCP de
de tiempo transcurre durante la ejecución procesos bloqueados e intercambios sus-
pendidos. La lista de procesos listos debe
de un proceso, éste se coloca en la fila de
organizarse como una cola. Debido a que
la cola. Un proceso que inicia una operación
los procesos bloqueados e intercambiados
de E/S se retira de la cola de procesos listos, suspendidos se ignoran para efectos de la
se agrega al final de la lista una vez que ter- planificación, no es necesario mantener su
mina la operación de E/S. un proceso que lista BCP en algún orden específico. Cuando
se encuentra en la cola de procesos listos cambia el estado de algún proceso, el pro-
avanza paulatinamente al inicio de la cola y gramador cambia la BCP del proceso de una
es planificado. lista BCP a otra.

Imagen 2. Planificación Round Robin


Fuente: Wolf, G. Planificación de procesos y algoritmos.

Shortest Process Next (SPN) más corta de las solicitudes que han llega-
También conocido como el proceso más do. Así, una solicitud permanece pendiente
corto a continuación. hasta que se han atendido todas las solicitu-
El programador SPN siempre planifica la des más breves.

Imagen 3. Planificación SPN


Fuente: Wolf, G. Planificación de procesos y algoritmos.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 44
10
Prioridad multinivel Un planificador multinivel mantiene un nú-
mero de peticiones listas. Los procesos en
Los procesos se asignan por prioridad en di- peticiones diferentes tienen prioridades u
ferentes colas. El Sistema Operativo aplicará tiempos de intervalos de petición diversos.
un determinado algoritmo a cada cola.
Los procesos con una prioridad alta reciben
La eficacia y un servicio aceptable del usua- tiempos de intervalos pequeños, de manera
rio proyectan requerimientos contradicto- que obtienen tiempos de respuestas bue-
rios sobre el programador, de modo que éste nos. En los procesos con baja prioridad se
tiene que sacrificar tales características entre espera que mantengan el CPU ocupado, de
sí. La multiprogramación y el tiempo com- este modo proveen buena eficacia, y reci-
partido representan posiciones extremas en ben grandes tiempos de intervalos.
este sacrificio. La multiprogramación pro-
porciona elevados niveles de eficacia, pero En la figura 5, en la línea superior al proce-
no es capaz de garantizar la eficiencia y un so se muestra la cola antes del quantum en
buen servicio de usuarios simultáneamente. que se ejecuta.

Imagen 5. Planificación multinivel


Fuente: Wolf, G. Planificación de procesos y algoritmos.

Multiprocesamiento tegias de asignación de recursos para evitar


la sobrecarga del sistema que está fallando.
Esta técnica consiste en configurar un sis-
tema de cómputo con varios procesadores. Las metas de los sistemas multiprocesa-
Una de las ventajas de este, es que si un miento generalmente son la confiabilidad
procesador falla, los restantes continúan y la disponibilidad de los procesadores, así
operándolo cual no es automático y re- como el incremento del rendimiento de la
quiere de un diseño y/o asignación de los máquina.
mismos.
La planificación de procesos en un sistema
Si un procesador falla, este lo informa a los
multiprocesador tiene dos componentes:
demás para que alguno de ellos se encargue
de las ejecuciones o procesos que llevaba a • Planificación temporal: asigna una
cargo en ese momento; una vez asignado planificación a cada procesador indi-
el nuevo procesador, este ajusta sus estra- vidual, exactamente igual que si de

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 45
11
un monoprocesador se tratase, salvo • Políticas de espacio compartido: es-
por el hecho de que los multiproce- tas políticas combinan planificación
sadores es menos relevante para el temporal y espacial. Se utilizan en en-
rendimiento de la maquina; en esta tornos de cálculo intensivo, general-
planificación se decide que procesos mente con aplicaciones multithread.
se van a ejecutar. Pueden clasificarse en dos tipos, que
• Planificación espacial: define como no se excluyen entre sí: políticas de
planificación en grupos y políticas de
se asigna los procesadores a los dife-
rentes procesos, en esta planificación particionado.
se decide en que procesador se eje- Planificación en tiempo real
cutan los procesos.
Las planificaciones en tiempo real imponen
Políticas de planificación en algunas restricciones especiales para la pla-
multiprocesadores nificación, además de la conocida necesi-
Estas políticas pueden clasificarse en dos dad de satisfacer tiempos límite. En primer
grandes grupos no disjuntos, en función de lugar, los procesos dentro de una aplicación
si el conjunto de procesadores se multiplexa en tiempo real son interactivos y entre ellos
entre las aplicaciones en el tiempo pueden tener prioridades determinadas por
la naturaleza de la aplicación; en segundo
(Políticas de tiempo compartido) o en el es- lugar, los procesos pueden ser periódicos.
pacio (políticas de espacio compartido)
Los procesos de una aplicación en tiempo
Tomaremos como base lo expuesto por Ale- real interactúan entre ellos a fin de asegurar
gre (2010), para definir cada una de las polí- que realizan sus acciones en el orden desea-
ticas de planificación en multiprocesadores: do. Aquí se establecen la hipótesis de sim-
plificación de que esta interacción se lleva
• Políticas de tiempo compartido: una a cabo solo al principio o al final de un pro-
primera opción es mantener los cri- ceso. Esto provoca dependencia entre los
terios de la planificación de los mo- procesos, lo cual debe tomarse en cuenta
noprocesadores y no gestionar espa- al determinar los tiempos límite y al llevar a
cialmente el uso de los procesadores. cabo la planificación.
En el caso más simple se puede utili-
zar una cola global única de procesos La planificación en tiempo real se centra en
preparados, que van asignándose a la determinación e implementación de una
los procesadores libres. Esta política planificación factible para una aplicación,
optimiza el reparto de la carga en de- en caso de existir.
trimento de la afinidad al procesador,
siendo la alternativa utilizar una cola Un ejemplo básico de este tipo de planifi-
local para cada procesador, de forma cación es el que nos comparte el autores
que la asignación al procesador se Candela, S., García, C. Quesada, A. Santana,
hace inicialmente y luego el proceso F. Santos, J. (2007), tabla 1, “…una aplicación
siempre se planifica en el mismo pro- para actualizar cada 15 segundos los hora-
cesador, potenciando la afinidad. rios de salida de vuelos en las pantallas de

Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 46
Fundación 12
información al público, esta aplicación consta de los procesos independientes siguientes,
donde el proceso P3 manipula una situación excepcional que ocurre muy rara vez,

Proceso P1 P2 P3 P4 P5
Tiempo de servicio 3 3 2 4 5
Tabla 1. Ejemplo planificación en tiempo real
Fuente: Propia.

No existe una planificación para terminar en durante la operación no se realiza al-


15 segundos los cinco procesos, por lo que guna decisión de la planificación.
debe ocurrir un rebase del tiempo límite.
No obstante, cuando el proceso P5 no está
• Planificación basada en prioridades:
la aplicación en tiempo real se ana-
activo son posibles varias planificaciones. El
liza para asignar prioridades apro-
programador en un sistema en tiempo real
piadas a los procesos que preceden;
blando puede encontrar cualquiera de ellas
y usarla”. durante la operación de la aplicación
se usa planificación convencional ba-
Algunos de los métodos utilizados en la pla- sada en prioridades.
nificación de tiempo real son: • Planificación dinámica: la planifica-
• Planificación estática: antes de iniciar ción se lleva a cabo una vez que se
la ejecución, esta realiza una planifi- ejecuta una petición para crear el
cación de los procesos, esta se repre- proceso; la creación del proceso tie-
senta en forma de tabla, cuyas filas ne éxito solo si es posible garantizar
indican el momento de inicio de la el cumplimiento de los requerimien-
ejecución de los diferentes procesos; tos de respuesta del proceso.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 47
13
1
UNIDAD

3Unidad 3

Gestión de
memoria real Sistemas operativos

Autor: Katherine Roa


Introducción En los capítulos anteriores hemos visto la gestión de proce-
sos, sin embargo, para que un proceso se pueda ejecutar debe
estar cargado en la memoria principal, aparte de contar con
tiempo de procesamiento; dado que ningún proceso se pue-
de ejecutar sino se le ha asignado algún espacio en la me-
moria teniendo en cuenta el requerimiento de este. De esta
forma, la memoria se convierte en uno de los recursos más
importante de los sistemas operativos y la parte encargada de
ello se llama gestor de memoria.

En este capítulo se abordará técnicas para obtener un uso


eficaz de la memoria, iniciando con una introducción donde
se abordan los conceptos y funciones del gestor de memoria,
pasando por las jerarquías, direccionamiento e intercambio
de memoria y finalizaremos con la presentación de los dife-
rentes mecanismos de gestión de la memoria real.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 49
3
U3 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 50
Andina 4
U3 Desarrollo temático

Gestión de memoria real daria con el fin de descargar la memoria


principal.
Introducción
Proteger: el gestor de memoria se encarga
La memoria es uno de los componentes más de impedir que los procesos ocupen zonas
importantes de una máquina, la cual gestio- de la memoria donde no estén autorizados,
na el sistema operativo a través del gestor para ello comprueba que las referencias a la
de memoria, la cual tiene como función pri- memoria generadas por un proceso sean las
mordial la de asignar memoria principal a mismas que le asignó a dicho proceso.
los procesos que lo requieran.
Controlar la memoria: el gestor de memoria
Otras de las funciones de gestor de memo- debe administrar correctamente que parte
ria son: de la memoria puede asignar e identificar
las zonas que se encuentran ocupadas por
■ Verificar las zonas de memorias que es- los procesos.
tán o no ocupadas.
■ Impedir que un proceso acceda a una Intervenir en los casos de fragmentación
de la memoria: puede ocurrir dos tipos de
zona de memoria que ha sido asignada a
fragmentación interna y externa, la primera
otro proceso.
hace referencia cuando un proceso es más
■ Asignar memoria a los procesos que la re- pequeño que la partición asignada, y la se-
quieran, así como de retirarla cuando ya gunda, sucede cuando la memoria externa
no la necesiten. es dividida aún más en cada partición y en
■ Administrar el intercambio entre la me- estas quedan pequeños bloques disponi-
bles de memoria los cuales son difíciles de
moria principal y secundaria, para aque-
reutilizar.
llos casos cuando la memoria principal
este completamente asignada. Jerarquías de memoria
De esta última función, la gestión de memo- La jerarquía de la memoria es un arreglo de
ria tendrá que: varias unidades de memoria con velocida-
des y tamaños variables que crea una ilusión
Reubicar: para un sistema multitarea, el ges- de una memoria rápida y grande a bajo cos-
tor de memoria deberá ubicar los procesos to. El CPU recurre a la memoria más rápida,
que crea conveniente en la memoria secun- el caché, traslada del siguiente nivel inferior

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 51
Andina 5
en la jerarquía de la memoria, que puede ser un nivel indica qué fracción de los bytes de
un proceso, si estos no están disponibles en las instrucciones o de los datos que se bus-
el caché, se trae del siguiente nivel inferior caban en ese nivel en realidad estaban ahí.
en la jerarquía de la memoria, que puede ser
un caché más lento o la memoria de acceso En la figura 1 se visualiza la jerarquía de la
aleatorio (RAM). memoria y se describe su operación. Está
integrada por la memoria caché, como los
Si la instrucción o los datos requeridos no es- cachés L1 y L2, la unidad de administración
tán disponibles en el siguiente nivel inferior de la memoria, la memoria y un disco. Los
de memoria, se lleva ahí desde un nivel aún cachés L1 y L2 se manejan en el hardware,
más bajo, y así sucesivamente. El desempe- de modo que el kernel y los programas del
ño de la jerarquía de la memoria depende usuario deben emplear técnicas especiales
de la relación de impactos en varios niveles para obtener altas relaciones de impactos
de la jerarquía, donde este se encuentre en de caché.

Figura 1. Administración de la jerarquía de la memoria


Fuente: Propia.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 52
6
La principal característica del uso de la jerar- ocupando se libera y queda disponible para
quía es que permite alojar más procesos del que se cargue otro proceso, de allí que el
usuario en la memoria para mejorar tanto cargador se encargue de establecer las nue-
el desempeño del sistema como el servicio vas direcciones del proceso que se están
del usuario. El kernel satisface esta preocu- cargando en memoria y una vez asignadas
pación mediante la reutilización eficaz de estas puedan ejecutarse; este proceso se
la memoria cuando un proceso finaliza, lo puede realizar en cualquier momento de las
cual reduce la cantidad de memoria no uti- siguientes tres etapas:
lizada en el sistema en cualquier momento.
Este proceso se da gracias a la biblioteca en Tiempo de compilación: solo si se conoce la
tiempo de ejecución (run-time) del lenguaje zona donde va hacer almacenado el progra-
de programación en que está escrito el pro- ma al momento de ser compilado, dado que
ceso. no generaría ningún inconveniente con el
acceso a la memoria.
Direccionamiento de memoria
Tiempo de carga: si no se conoce dónde va
El direccionamiento de memoria hace re- hacer alojado el proceso cuando sea compi-
ferencia al proceso de intentar acceder a la lado, las direcciones deben permitir ser rea-
memoria con el fin de realizar un cambio en signables hasta cuando sean cargadas en la
esta, ya sea para leerla, escribir o borrar con- memoria.
tenido que se encuentre en ella por medio
de una dirección. Tiempo de ejecución: se recomienda reali-
zarlo si no se presenta ningún inconvenien-
El direccionamiento de la memoria, se espe- te con retrasar el proceso de reasignación
cifica desde el diseño del hardware de una de direcciones.
máquina, dado que en esta se define como
se va a direccionar la memoria; esta se da se- La asignación de memoria a un proceso im-
gún la cantidad de bits que contengan las plica especificar las direcciones de la me-
direcciones que se van a generar. moria a sus instrucciones y datos; constitu-
ye también un aspecto de una acción más
El máximo direccionamiento posible se general denominada “unión”, la cual hace
puede obtener tomando el número de bits referencia al acto de especificar un valor de
como exponente de 2, y así la máquina dis- un atributo de dirección de la memoria de
ponga de más memoria, será imposible ac- una entidad.
cederla. Por ejemplo, si se tienen direccio-
nes de 8 bits, solo se podrá acceder hasta De lo anterior, que existan dos tipos de unio-
256 bits de memoria. Igualmente, ene l di- nes, la asignación estática y la dinámica,
seño del hardware se especifica el tamaño donde la primera hace referencia a la unión
mínimo de bits a direccionar, lo que indica realizada antes del inicio de la ejecución de
que las siguientes posiciones en memoria un programa, y la segunda, a la unión du-
tendrán ese tamaño. rante su ejecución.

Cuando un proceso ha finalizado su eje- La asignación estática es posible solo si an-


cución, el espacio de memoria que estaba tes de iniciar la ejecución de un programa se

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 53
7
conocen los tamaños de los datos. Si no se Intercambio
conocen, es necesario conjeturarlos, lo cual
Para iniciar es importante entender el con-
puede conducir a desperdicio de memoria y
cepto de Intercambio, el cual hace referen-
a falta de flexibilidad, por ejemplo, conside-
cia a una zona en el disco que se usa como
re un arreglo cuyo tamaño se desconoce du-
memoria auxiliar, también es conocido
rante la compilación; se desperdicia memo-
como swap.
ria si su tamaño conjeturado es mayor que
el real, mientras que un programa no puede Para que un proceso se ejecute debe estar
ejecutarse correctamente si su tamaño real
en la memoria, y haciendo uso de una parte
es mayor que el conjeturado. La asignación
del disco como intercambio, es posible au-
dinámica puede evitar estos problemas, ya
mentar el grado de multiprogramación.
que el tamaño real del arreglo debe cono-
cerse en el instante de realizar una asigna- Los autores Martínez, P. y Díaz, J. (1996) ex-
ción. ponen que una solución para que la me-
La asignación estática de memoria no re- moria no se vea sobrecargada por los pro-
quiere acciones de asignación de memoria cesos, es el intercambio de procesos, el cual
durante la ejecución de un programa. consiste “…en intercambiar temporalmente
un proceso que está en memoria con uno
La asignación dinámica incurre en sobrecar- que se encuentre en la cola de procesos,
gar de acciones de asignación de memoria guardando en un almacén de respaldo el
realizadas durante la ejecución de un pro- proceso que se encuentra en memoria, y
grama. Incluso, algunas de estas acciones se volviéndolo a llevar luego a memoria para
repiten varias veces durante dicha ejecución. continuar su ejecución”.

Figura 2. Intercambio de procesos.


Fuente: Martínez, P. y Díaz, J. (1996)

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 54
8
En la figura 2, se observa cómo se realiza el ros sistemas de computadoras, la decisión
intercambio de procesos, para ello se debe de asignación de memoria se realizaba esta-
tener una cola de procesos que se encuen- dísticamente, es decir, antes de empezar la
tran listos para ser ejecutados, de esta es ejecución de un proceso. El sistema operati-
seleccionado el proceso que ingresa a la vo determinaba la memoria requerida para
memoria principal para luego pasar a la ejecutar un proceso y asignaba suficiente
memoria de respaldo. Vale aclarar que para memoria.
que se realice un proceso de intercambio, el ■ Algunas de las ventajas de la asignación
proceso que se encuentre en memoria debe de memoria contigua son:
estar completamente inactivo.
■ Protección de la memoria.
Este proceso de intercambio tiene un costo ■ Relocalización estática y dinámica de un
de tiempo relativamente alto, donde este se programa que se va a ejecutar desde el
da es por el proceso de trasferencia, dado área de memoria que se le ha asignado.
por la cantidad de memoria intercambiada. ■ Medidas para evitar fragmentación de la
Por esto el tiempo del proceso de intercam- memoria.
bio es proporcional al tamaño de la memo-
ria canjeada. Para este caso vamos a referirnos al caso de
fragmentación, dado que los otros ítems ya
Este proceso de intercambio se le puede lo hemos abordado en el módulo.
realizar mejoras para que sea aún más efi-
ciente su labor, Manejo de la fragmentación de la
memoria
1. Con la utilización de buffer que permita
cargar y descargar un proceso mientras Existen dos tipos de fragmentación de la
otro se encuentra en ejecución. memoria, el primero, Multiprogramación
con Particiones Fijas (MFT) el cual es interna
2. Con el uso de algoritmos de planifica-
y el segundo, Multiprogramación con Parti-
ción con prioridad, donde se identifique
ciones Variables (MVT) la cual es externa.
si un proceso tiene mayor prioridad que
otro el cual necesita ser ejecutado con Multiprogramación con Particiones Fijas
anterioridad, cambiándolo por uno que (MFT), existe cuando la memoria asignada a
se encuentre inactivo de baja prioridad. un proceso no es completamente utilizada
por este. Esta se presenta si el kernel asigna
Mecanismos de gestión de la memoria un área de la memoria de tamaño estándar
real a un proceso, independiente de su solicitud.
Asignación de memoria contigua A este proceso se le denomina como frag-
mentación interna.
La asignación de memoria contigua es el
modelo clásico de asignación de memoria, Esto hace que no se utilice el total de la me-
en cada proceso es asignado en una sola moria siendo una de las principales defi-
área contigua en la memoria. En los prime- ciencias de este esquema de asignación.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 55
9
Figura 3. Particiones fijas
Fuente: Propia.

En la figura 3 se visualiza las particiones de Ejemplo: se cuenta con un sistema de ges-


fijas (a), y en (b) el tamaño de cada uno de tión de memoria con particiones fijas o
los procesos los cuales necesitan ser ejecu- MFT. El sistema operativo ocupa la prime-
tados en la memoria, por lo tanto se revisa
ra posición que tiene un tamaño de 10K; el
el tamaño de los procesos y el tamaño de
la partición para ser asignados estos proce- resto de la memoria está dividida en cuatro
sos a cada uno de las áreas. Si observamos particiones cuyas características se visuali-
el proceso C necesita una partición con un za en la Tabla 1. El algoritmo de ubicación
tamaño mínimo de 18K, la cual quedaría asigna a cada proceso la partición más pe-
perfecta en la primera partición del Kernel,
queña que quepa. En la tabla 2 se puede
para el caso del proceso B, cabe perfecta-
mente en la última partición del Kernel y visualizar la cantidad de memoria que re-
de esta nos queda disponible 2K, lo mismo quiere cada proceso. Realice gráficamente
hacemos con cada uno de los procesos (c). lo solicitado.

Proceso Tamaño partición


Base partición Tamaño partición
A 8K
10 18K
B 14K
28 12K
C 18K
40 8K
D 6K
48 16K
E 14K

Tabla 1 Tabla 2
Fuente Propia Fuente Propia

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 56
10
Tabla B 6K + 2K = 8K (de fragmentación interna)

Solución: lo primero que hacemos es orga- El proceso E entra en memoria puesto que
nizar la base de las particiones, como se vi- no hay espacio suficiente para albergarlo.
sualiza en la figura,
Multiprogramación con Particiones Varia-
bles (MVT), surge cuando las áreas de me-
moria libres que existen en un sistema son
demasiado pequeñas para ser asignadas a
procesos, a esto se le denomina fragmenta-
ción externa.

Analizaremos dos técnicas utilizadas para


superar la fragmentación externa, compac-
tación de memoria y reusó de fragmentos
de memoria.

Compactación de memoria, el kernel puede


realizar periódicamente compactación de
Figura 4 memoria para eliminar fragmentación ex-
Fuente: Propia. terna. Esta acción produce una sola área sin
usar en la memoria, que puede ser suficien-
Segundo, verificamos el tamaño de cada temente grande para albergar uno o más
proceso y verificamos en que partición que- procesos nuevos, incluso en casos en que
daría esta, teniendo en cuenta que debe ser áreas libres individuales antes de la com-
igual o de mayor tamaño. pactación sean muy pequeñas para este
propósito.
Así nos quedaría la organización de cada
uno de los procesos. La compactación implica el movimiento de
procesos en la memoria durante su ejecu-
ción.

Figura 5 Figura 6. Compactación de la memoria


Fuente: Propia. Fuente: Propia.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 57
11
En la figura 6 se visualiza los procesos A, B,
Bloque Longitud
C y D que existen en la memoria (a), cuando
B termina, hay dos procesos activos (b), el Bloque 4 500
kernel lleva a cabo compactación para crear Bloque 5 1200
una sola área e iniciar el proceso E en esta Bloque 6 200
área (c).
Tabla 4
Fuente Propia
Reusó de fragmentos de memoria, el reusó
de memorias libres evita la sobrecarga de Solución: teniendo en cuanta la información
relocalización del programa y no requiere inicial entregada, la situación de la memoria
prestaciones especiales de hardware como es:
un registro de relocalización. Sin embargo
pueden existir retrasos en el inicio de la eje-
cución de los programas. La diferencia entre
esta técnica y la de compactación es que el
tamaño del espacio libre debe ser superior
al que se va asignar para que este se pueda
reutilizar.

Ejemplo: un sistema es gestionado con un


mecanismo de Multiprogramación de Parti-
ciones Variables (MVT), en el que la memo-
ria física tiene 4200 palabras. En un instante
la memoria está ocupada por 3 bloques de
código/datos de la siguiente forma: Figura 7
Fuente: Propia.
Con la información anterior, cargamos el
Bloque 4 de 500 palabras utilizando la op-
ción de mejor ajuste.
Dirección
Bloque Longitud
inicial
Bloque 1 1000 1000
Bloque 2 2900 500
Bloque 3 3400 800
Tabla 3
Fuente Propia

Tenga en cuenta que en primer lugar se uti-


lizará la estrategia de mejor ajuste. De lo an-
terior, se debe cargar tres bloques con a las Figura 8
siguientes características: Fuente: Propia.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 58
12
Seguido cargamos el Bloque 5 con 1200 pa- Por último, si observamos la figura anterior,
labras, pero si observamos la figura anterior, nos queda libre 1400 palabras una vez rea-
podemos notar que hay espacio suficien- lizado el proceso de compactación y si su-
te en memoria pero el bloque no cabría es
mamos la longitud de los bloques 5 y 6 esta
este, de lo anterior que tengamos un pro-
blema de fragmentación externa, por tanto nos da 1400 palabras, lo cual no tendríamos
se hace necesario utilizar un algoritmo de inconveniente en ubicarlos en dichos espa-
compactación. cios.

Figura 9 Figura 10
Fuente: Propia. Fuente: Propia.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 59
13
1
UNIDAD

3 Unidad 3

Gestión de
memoria
virtual Sistemas operativos

Autor: Katherine Roa


Introducción En el capítulo anterior se trabajó el concepto memoria real
desde los diferentes mecanismos de gestionar la memoria
desde el contexto de asignación contigua. Para esta oportu-
nidad abordaremos la memoria virtual pasando por los dife-
rentes conceptos iniciales, conociendo las implementaciones
de la memoria virtual desde el modelo de asignación no con-
tigua y finalizaremos con las políticas que se deben tener en
cuenta al momento de gestionar una memoria virtual.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 61
3
U3 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 62
4
U3 Desarrollo temático

Gestión de memoria virtual proceso debe preservarse en la memoria


virtual.
Introducción
Los usuarios siempre quieren más de un
La memoria virtual es una ilusión de que un sistema de cómputo: más recursos y más
sistema de cómputo posee más memoria de servicios. La necesidad de más recursos se
la que realmente tiene, lo que permite que satisface obteniendo un uso más eficaz de
un proceso sea independiente del tamaño los recursos o creando la ilusión de que en
de la memoria real y que un número de pro- el sistema hay más recursos. Una memoria
cesos comparta un sistema de cómputo sin virtual es lo que indica su nombre: una ilu-
restringirse mutuamente. La memoria vir- sión de que en el sistema de cómputo hay
tual se implementa a través de la parte de la una memoria más grande que la real, es de-
jerarquía de la memoria que consta de una cir, que la RAM.
memoria y un disco; el código y los datos
de un proceso se almacenan en un disco y El kernel implementa la ilusión utilizando
partes de aquellos se cargan en la memoria la combinación de medios de hardware y
cuando son necesarios durante la ejecución software. La componente del software de la
del proceso. Utiliza el modelo de asignación memoria virtual se denomina manejador de
no contigua y contiene componentes tanto la memoria virtual.
del hardware como del software.
La base de la memoria virtual es el modelo
El desempeño de la memoria virtual depen- de asignación de memoria no contigua, se
de del ritmo al que debe cargarse las par- supone que cada proceso consta de dos par-
tes de un proceso en la memoria desde un tes denominadas componentes del proceso.
disco. El principio de localidad de referen- Estas pueden cargarse para su ejecución en
cia mantiene la promesa de que este ritmo áreas de memoria adyacentes. La unidad de
debe ser bajo si a un proceso se le asigna administración de la memoria (MMU) tradu-
una cantidad idónea de memoria. El aspec- ce la dirección de cada operando o instruc-
to práctico de la memoria virtual depende ción utilizado mediante un proceso en la di-
entonces del control de la cantidad de me- rección del byte de memoria donde reside
moria. El aspecto práctico de la memoria en realidad el operando o la instrucción. El
virtual depende entonces del control de la uso del modelo de asignación de memoria
cantidad de memoria asignada a un proce- no contigua redice el problema de fragmen-
so y de la decisión sobre qué partes de un tación de la memoria porque un área libre

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 63
5
de memoria puede volver a usarse incluso si logra manteniendo un proceso en un dis-
no es suficientemente grande para admitir co y cargando en la memoria en cualquier
todo un proceso. De esta forma es posible instante solo sus porciones requeridas. El
alojar más procesos en la memoria, lo cual kernel utiliza esta idea para reducir la asig-
redunda en beneficio tanto de los usuarios nación de memoria a procesos en general,
como del sistema operativo. es decir, incluso los procesos que pueden
caber en la memoria no cargan totalmente
La ilusión de una gran memoria es creada en elle. Esta estrategia incrementa aún más
al permitir la ejecución de un proceso cuyo el número de procesos que pueden alojarse
tamaño excede al de la memoria. Este se en la memoria.

Figura 1. Visión general de la memoria virtual


Fuente: Propia.

La figura 1 visualiza el esquema de la memo- la memoria virtual elimina algunas compo-


ria virtual. Un proceso contiene seis compo- nentes del proceso de la memoria para te-
nentes, tres de estas se encuentran en ese ner espacio y poder organizar otras.
momento en la memoria. La información
sobre las áreas de la memoria donde exis- Implementaciones de la memoria virtual
ten las componentes se mantiene en una Asignación de memoria no contigua
estructura de datos del manejador de la me-
moria virtual. La MMU utiliza esta informa- En el modelo de asignación no contigua,
ción durante la traducción de la dirección. varias áreas de memoria no adyacentes son
Cuando una instrucción en el proceso se asignadas a un proceso. Ninguna de éstas
refiere a una componente del proceso que es suficientemente grande para admitirlo
no está en la memoria, está cargada desde todo, lo que una parte del proceso es carga-
el disco, ocasionalmente, el manejador de do en cada una de estas áreas.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 64
6
Una de las ventajas de esta asignación de terística reduce la fragmentación externa
memoria no contigua es que un área de y mejora la utilización de la memoria; en
memoria que no es suficientemente grande
consecuencia, puede ser innecesario llevar
para llevar a cabo un proceso completo aún
puede ser utilizada, de modo que resulta a cabo fusión de áreas de memoria libres o
menos fragmentación externa. Esta carac- compactación.

Figura 2. Asignación de memoria no contigua


Fuente: Propia.

En la figura 2 se visualiza que en la memoria En un sistema en el que se utilice pagina-


hay cuatro áreas de memoria no asignadas miento, un proceso es considerado como
de 50KB, 30KB, 80KB y 40KB (a). Se iniciará una entidad contigua que contiene instruc-
un proceso P de tamaño de 140 KB. El proce-
ciones y datos. En la vista lógica, un proce-
so se separa en tres componentes denomi-
so consta de un arreglo lineal de páginas.
nadas P1, P2 y P3 que se cargan en tres de
las áreas libres (c). Cada una contiene s bytes, donde s es una
potencia de 2. El valor de s se especifica en
La asignación no contigua utiliza dos méto- la arquitectura del sistema del cómputo. Los
dos: paginamiento y segmentación. procesos utilizan direcciones lógicas numé-
Paginamiento ricas. El hardware de la máquina descompo-
ne una dirección lógica en un par (pi, bi),
En el paginamiento cada proceso consta de
donde pi es el número de páginas y bi es
componentes de tamaño fijo denominadas
páginas. El tamaño de una página se especi- un desplazamiento. La vista física consta de
fica en la arquitectura del sistema del cóm- dos áreas de memoria no adyacentes asig-
puto. nadas a páginas del proceso.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 65
7
Figura 3. Procesos de paginamiento
Fuente: Propia.

En la figura 3 se visualiza un arreglo utiliza- de marcos libres para notar las identifica-
do para ejecutar los procesos P y R en un sis- ciones de los marcos de página libres. Por
tema que usa paginamiento. El tamaño de el momento, solo el marco de página 4 es
P es de 5.500 bytes. El de la página es de 1 libre.
KB (1024 bytes), de modo que P tiene 6 pá-
ginas. Estas páginas están numeradas del A la vez que carga el proceso P para su eje-
0 al 5 y los bytes en una página están nu- cución, el kernel consulta la tabla de marcos
merados de 0 a 1.023. La última página solo y asigna un marco de página libre a cada
tiene 371 bytes (5500/1024). Si un elemento marco de página de los procesos. A fin de
de datos simple tiene la dirección de 5.248, facilitar la traducción de la dirección, se ela-
entonces el hardware de la máquina ve esta bora una tabla de página (PT) para el pro-
dirección como el par (5, 128). El proceso R ceso. Cada elemento de la tabla de página
tiene 3 páginas numeradas del 0 al 2. indica el número de página. Durante la eje-
cución del proceso, la MMU consulta la tabla
El Kernel parte la memoria en áreas deno- de página para realizar la traducción de la
minadas marcos de página. Cada uno es del dirección.
mismo tamaño que la página; es decir, 1 KB.
En la figura 6 la maquina tiene una memoria En la figura 3, la tabla de marco indica que
de 10KB seis marcos de página están ocupados por
el proceso P, por un proceso R y uno está li-
Por lo que los marcos de página están nu- bre. La tabla de página P indica los números
merados del 0 al 9. En cualquier momento, de marco asignados a las páginas de P. la di-
algunos marcos de página se asignan a pá- rección lógica debe traducirse a la dirección
ginas del programa y otros quedan libres. El física 8 320 utilizando el elemento para la
kernel mantiene una lista denominada lista página 5 en la tabla de página.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 66
8
Traducción de la dirección, se utiliza la si- mismo, también se requieren nb bits para
guiente notación: direccionar los bytes en un marco de pági-
na. Sea nf=lp-nb. La dirección física del byte
s: tamaño de página. “0” del marco de página qi es
lt: longitud de una dirección lógica (número
de bits que contiene).

lh: longitud de una dirección física.

nb: número de bits necesarios para acceder


al último byte de una página.

np: número de bits usados para alojar el nú- Figura 5


mero de página en una dirección lógica. Fuente: Propia.

nf: número de bits para alojar el número de Por tanto, la dirección física del byte bi en el
páginas en una dirección física. marco de página qi está dada por
El tamaño de una página, s, es potencia de
2; por ejemplo s= 2nb. Por lo tanto, los bits
menos significativos nb en una dirección ló-
gica proporcionan bi. Los bits restantes en
una dirección lógica forman a pi. Los valores
de pi y bi pueden obtenerse simplemente
agrupando los bits de una dirección lógica
como sigue:
Figura 6
Fuente: Propia.

La MMU puede obtener está dirección sim-


plemente al concatenar qi y bi a fin de obte-
ner un número de bit lh. La traducción de la
dirección.

Ejemplo: estamos trabajando con un sistema


Figura 4 operativo que emplea una gestión de me-
Fuente: Propia.
moria paginada, cada página tiene un tama-
Donde np=lt-nb. El uso de una potencia ño de 4096 posiciones (o bytes). La memo-
de 2 como tamaño de página simplifica de ria física disponible para los procesos es de
manera semejante la elaboración de la di- 16MB. Primero llega un proceso que necesita
rección de la memoria efectiva. Considere 63132 posiciones de memoria y después lle-
que a la página pi se ha asignado el marco ga otro proceso que consume 36864 posi-
de página qi. Debido a que el tamaño de las ciones cuando se carga una memoria ¿Qué
páginas y el de los marcos de página es el fragmentación interna genera cada proceso.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 67
9
Solución: Segmentación

Tenemos: Un segmento es una entidad lógica en un


programa; por ejemplo, una función, una
Proceso 1: 63132 posiciones. estructura de datos o un objeto. Por tanto,
resulta importante administrar un segmen-
Proceso 2: 36864 posiciones. to como si fuese una unidad: cargarlo en la
memoria para su ejecución o compartirlo
Memoria: 16MB. con otros programas. En la vista lógica, un
proceso consta de un conjunto de segmen-
Tamaño de páginas: 4096 bytes. tos. La vista física consta de áreas no adya-
centes de memoria asignadas a segmentos.
Para el caso del proceso 1.
Un proceso Q consta de cuatro unidades ló-
63132 / 4096 = 15.4 Posiciones.
gicas con los nombres simbólicos main, da-
Lo que indica que tenemos fragmentación tabase, search, y retrieve, mientras codifica el
programa, el programador declara estas uni-
interna, dado que el resultado tiene decima-
dades lógicas como segmentos en Q. el com-
les, veamos de cuanto es la fragmentación.
pilador genera direcciones lógicas mientras
15 * 4096 = 61440. traduce el programa. Cada dirección lógica
utilizada en Q tiene la forma (si, bi) donde si
63132 – 61440 = 1692 Bytes. y bi son las identificaciones de un segmento
y un byte dentro de un segmento. Por ejem-
Para el caso del proceso 2. plo, la instrucción correspondiente a una de-
claración call get-sample, donde get-sample
36864 / 4096 = 9 Posiciones. es un procedimiento en el segmento retrie-
ve, puede utilizar la dirección de operando
Lo anterior indica que no tenemos fragmen- (retrieve, get-sample), o usar una represen-
tación. tación numérica para si y bi.

Figura 7. Procesos de segmentación


Fuente: Propia.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 68
10
En la figura 7, se visualiza la forma en que La asignación de memoria para cada seg-
el kernel maneja al proceso Q. la mitad iz- mento se lleva a cabo como el modelo de
quierda de la figura muestra la vista lógica asignación de memoria no contigua. El ker-
del proceso Q, a fin de facilitar la traducción nel mantiene una lista libre de áreas de la
de la dirección, el kernel elabora una tabla memoria. Mientras carga un proceso, busca
de segmento para Q. cada elemento en en esta lista para realizar la asignación del
esta tabla muestra el tamaño de segmento
primer ajuste o del mejor ajuste a cada seg-
de Q y direcciones del área de la memoria
mento del proceso. Una vez que termina un
que se le han asignado. La MMU utiliza la
tabla de segmento para llevar a cabo la tra- proceso, las áreas de la memoria asignadas
ducción de la dirección. Los segmentos no a sus segmentos se agregan a la lista libre.
tienen tamaños estándares, de modo que Hay fragmentación externa porque el tama-
no es aplicable la simplificación de la con- ño de segmentos varía.
catenación de bits usada en el paginamieto.
En consecuencia, el cálculo de la dirección La tarea de escribir cada dirección lógica en
de la memoria efectiva implica la adición la forma (si, bi) se realiza mediante un com-
de bi a la dirección inicial de si, por lo que pilador, mientras compila un referencia a un
la traducción de la dirección es más lenta símbolo xyz, debe decidir a qué segmento
que el paginamiento. En la figura 7, si get- pertenece xyz.
sample tiene la compensación de 232 en el
segmento retrieve, entonces la traducción Ejemplo: dada la siguiente tabla de segmen-
de la dirección (retrieve, get-sample) debe tos, identifique cuales son las direcciones fí-
producir la dirección 91376 + 232 = 91608. sicas en las direcciones lógicas,

Segmentos (s) Límite (l) Base (b) Segmento Desplazamiento (d)


0 219 600 0 430
1 2300 14 1 10
2 90 100 2 500
3 1327 580 3 400
4 1952 96 4 112

Tabla 1 Tabla 2
Fuente: Propia. Fuente: Propia.

Solución: 430 < 600 (cumple).

Para el primer caso, Luego tomamos la base y la sumamos con el


desplazamiento (b+d), de esto obtenemos
S = 0 , b = 219 , l = 600 , d = 430 la dirección física.
Lo primero que se debe hacer es identificar 219 + 430 = 649 (dirección física).
si el desplazamiento es menor que la longi-
tud (d<l). Para el segundo caso,

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 69
11
S = 1 , b = 2300 , l = 14 , d = 10 Segmentación con paginamiento
d<l = 10<14 (cumple). En este método, cada segmento en un
programa se pagina por separado. En con-
2300 + 10 = 2310 (dirección física).
secuencia, a cada segmento se asigna un
Tercer caso, número entero de páginas. Este método
simplifica y acelera la asignación de memo-
S = 2 , b = 90 , l = 100 , d = 500 ria, y también evita la fragmentación exter-
na. Para cada segmento se elabora una tabla
d<l = 500<100 (no cumple).
de página, y en el elemento del segmento
Cuarto caso, en la tabla de segmentos se mantiene un
apuntador hacia la tabla de página. Luego,
S = 3 , b = 1327 , l = 580 , d = 400 la traducción de la dirección para una direc-
ción lógica (si, bi) se realiza en dos etapas.
d<l = 400<580 (cumple)
En la primera, el elemento de si se localiza
1327 + 400 = 1727 en la tabla de página, luego, el número de
byte bi se separa en un par (psi ,bpi), donde
Quinto caso, psi es el número de páginas en el segmento
si, y bpi es el número de byte en la página pi.
S = 4 , b = 1952 , l = 96 , d =1120
Después el cálculo de la dirección efectiva
d<l = 1120<96 (no cumple). se termina como en paginamiento; es decir,
se obtiene el número de marco de psi y bpi
Por último, realizamos el gráfico de los seg- se concatena con este para obtener la direc-
mentos: ción efectiva.

Figura 9. Proceso Q en segmentación y


paginamiento
Fuente: Propia.

En la figura 5 se visualiza el proceso Q de la


figura 4 en un sistema que utiliza segmenta-
Figura 8 ción con paginamiento. Cada segmento se
Fuente: Propia. página de forma independiente, por lo que

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 70
12
en la última página de cada segmento hay ■ Paginación previa: se trasladan a memo-
fragmentación interna. Entonces, cada ele- ria páginas extras a las solicitadas.
mento de la tabla de segmentos contiene
Política de reemplazo, cuando la memoria
un apuntador hacia la tabla de página del
se encuentre llena y se necesita cargar otra
segmento. El campo de tamaño en un ele-
página, el sistema operativo debe decidir
mento del segmento se utiliza para facilitar que página mandar a memoria secundaria.
una comprobación de límites para protec- El reemplazo puede ser global (cualquier
ción de la memoria. página), local (solo las páginas que provocó
el fallo).
Políticas de gestión de la memoria vir-
tual Las políticas que se tiene en cuenta para
elegir la página son:
Con el fin de gestionar correctamente un
sistema con memoria virtual, se debe tener Menos usada recientemente (Least Recently
clara las reglas para gestionar el intercambio Used, LRU): se selecciona la página utilizada
de páginas o segmentos entre la memoria hace con anterioridad, la cual tenga menos
principal y la secundaria, de allí que se ten- probabilidad de ser usada nuevamente.
gan algunas políticas que se debe cumplir: Usado más Recientemente (Most Recently
Used, MRU): se selecciona la página que fue
Políticas de lectura, el sistema operativo
utilizada recientemente.
debe determinar en qué momento carga las
páginas en la memoria principal, teniendo Primera en entrar, primera en salir (FIFO,
en cuenta las siguientes opciones: First In, First Out): se selecciona la página
que lleva más tiempo en memoria.
■ Paginación por demanda: carga una pá-
gina en la memoria principal solo cuando Técnica de reloj: cada página tendrá un bit
sea necesario, al iniciar la ejecución de un de control y está selecciona la página que se
proceso o por algún fallo de página. encuentre en la cabeza.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 71
13
1
UNIDAD

4 Unidad 4

Gestión de ficheros Sistemas operativos

Autor: Katherine Roa


Introducción Nos acercamos al final del módulo y para este capítulo abor-
daremos las diferentes temáticas que encierra la Gestión de
Ficheros, iniciando por conocer los conceptos de fichero y
directorio, donde también son conocidos como archivos y
carpetas respectivamente, luego abordaremos las diferentes
semánticas de consistencia y finalizaremos con la implemen-
tación del sistema de fichero.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 73
3
U4 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 74
4
U4 Desarrollo temático

Gestión de ficheros En muchos sistemas operativos, las funcio-


nes mencionadas están organizadas en dos
Introducción componentes denominados sistemas de
archivos y sistema de control de entrada
Los usuarios de una máquina almacenan
salida (IOCS). El sistema de archivo propor-
datos en archivos (o ficheros) de modos
ciona servicios que permite al usuario crear
que puedan usarlos convenientemente y de
archivos, asignarles nombres con sentido,
manera repetida. Un usuario tiene muchas
manipularlos y especificar la manera en
expectativas de un sistema de archivo, algu-
que serán compartidos con otros usuarios
nas de estas son:
del sistema. El IOCS implementa la organi-
■ Acceso conveniente y fácil a los archivos. zación eficaz y el acceso a los datos en los
■ Almacenamiento confiable de los archi- archivos. Así, el uso del sistema de archivos
vos. y del IOCS separa de manera conveniente lo
relacionado con el nivel de archivo a partir
■ Poder compartir de manera controlada de cuestiones relativas a E/S.
los archivos con otros usuarios del siste-
ma. Ficheros
Los recursos utilizados para este propósito El sistema de archivo o también llamado fi-
son dispositivos de Entrada/Salida (E/S); su chero, y los módulos IOCS constituyen la je-
capacidad para almacenar datos y sus ve- rarquía de las capas que se muestran en la
locidades para transferirlos. Como otros re- figura 1, cada capa contiene la política y los
cursos, el sistema operativo debe asegurar módulos del mecanismo. Los mecanismos
la utilización eficaz de los dispositivos de de una capa se implementan utilizando la
E/S. política y los módulos del mecanismo.

Fundación Universitaria del Área Andina 5


75
Figura 1. Sistema de archivos y capas IOCS
Fuente: Propia.

La jerarquía del sistema de archivo y las El sistema de archivo, considera un archi-


capas IOCS proporcionan una jerarquía de vo como una entidad que es propiedad
abstracciones. del usuario, que puede ser compartida por
un conjunto de usuarios autorizados y que
El kernel interactúa con el hardware de E/S debe ser almacenada de manera confiable
y proporciona facilidades para manejar el durante un intervalo de tiempo. Como un
inicio y termino de E/S. las capas de IOCS aspecto de la propiedad, proporciona liber-
invocan los servicios del kernel a través de tad de nombres de los archivos, de modo
llamadas del sistema, utilizando los me- que el usuario puede asignarle un nombre
canismos IOCS, es posible efectuar E/S sin deseado a un archivo sin preocuparse que
conocer los vericuetos de los dispositivos otros usuarios hayan creado nombres idén-
de E/S. Los módulos de la política IOCS ase- ticos, y proporciona privacidad al proteger
guran un uso eficaz del subsistema E/S y un contra interferencia de otros usuarios.
buen desempeño de los programas de pro-
cesamiento de archivos. Estos invocan los El IOCS considera un archivo como un con-
módulos del mecanismo para implementar junto de registros a los que es necesario ac-
acciones de E/S. La capa del sistema de ar- ceder rápidamente y almacenar en un dis-
chivos utiliza servicios proporcionados por positivo de E/S que requiere ser utilizado
la capa IOCS para implementar sus funcio- eficazmente.
nes. Este arreglo oculta todos los detalles
de la organización de E/S y las interfaces del El sistema de archivo provee las estructuras
módulo IOCS del programa de aplicación; el de directorio que permiten que un usua-
programa de aplicación solo interactúa con rio organice sus datos en grupos lógicos
el sistema de archivo. de archivos. Por ejemplo, un usuario podrá

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 76
6
preferir separar datos personales de datos tema estándar, como compiladores y liga-
profesionales y estructurar los datos pro- dores, poseen una estructura determinada
fesionales según las actividades. El sistema por el diseñado del SO. La estructura de un
de archivo proporciona protección contra tipo de archivo utilizado por una aplicación
acceso ilegal a los archivos y reglas para como un programa de hojas de cálculo es
compartirlos concurrentemente. También determinada por la aplicación misma. La es-
asegura que los datos se almacenen de ma- tructura de un archivo de datos es determi-
nera confiable, es decir, que ningún dato se nada por el programa que lo crea.
pierda cuando ocurra una caída del siste-
ma. El IOCS proporciona mecanismos para Un archivo de flujo de bytes es plano, no
efectuar operaciones de E/S y para asegu- contiene campos ni registros; los procesos
rar el uso eficaz de los dispositivos de E/S. que lo utilizan lo consideran como una se-
también provee un conjunto de módulos de cuencia de bytes. Unix usa este tipo de ar-
biblioteca que permiten que un programa chivos para almacenar datos y programas.
procese de manera eficaz un archivo. Atributos de los archivos
Tipos de archivos
Los atributos de los archivos son caracterís-
Un sistema de archivo contiene diferentes ticas importantes para sus usuarios o para
tipos de archivos; por ejemplo, archivos que el SO. Los atributos comunes de archivos
contienen datos, programas ejecutables, son los siguientes: tipo, organización, tama-
módulos objeto, información textual, docu- ño, ubicación en el sistema, información de
mentos, hojas de cálculos, fotos, videos, en- control de acceso que indica la manera en
tre otros. Cada uno de estos archivos tiene que los diferentes usuarios pueden acceder
su propio formato. Estos tipos de archivos al archivo, nombre del propietario y hora de
pueden clasificarse en dos clases: la última vez que se usó.
■ Archivos estructurados. Operaciones de los archivos
■ Archivos de flujo de bytes. El sistema operativo es el responsable de
crear y mantener un archivo, para asegurar
Archivos estructurados, es una vista clá- que a él acceden los usuarios solo confor-
sica de un archivo que consta de registros me a los privilegios de acceso especificados
y campos, en esta vista un archivo se de- para el archivo, y para eliminar el archivo
nomina colección de registros. Un registro cuando así los solicite su propietario. Estas
es una colección significativa de campos funciones son realizadas mediante el em-
relacionados, y un campo contiene un solo pleo de la interfaz del sistema de archivos.
dato. Un registro, es una unidad significativa El verdadero acceso a los archivos, es decir,
para el procesamiento de datos. Se supone la lectura o escritura de registros, se imple-
que cada registro en un archivo contiene mentan utilizando el IOCS.
un campo llave, el contenido de los campos
llave de todos los registros en un archivo es Apertura de archivos, un proceso ejecu-
único. Muchos tipos de archivos antes men- ta una declaración open antes de realizar
cionados son archivos estructurados. Los el procesamiento de un archivo. El sistema
tipos de archivo usados por software del sis- de archivos localiza el archivo y verifica si

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 77
7
el usuario que está ejecutando el proceso Directorios
cuenta con los privilegios de acceso nece- Un directorio también es conocido como
sarios. “carpeta”. Un sistema de archivos contiene
archivos que son propiedad de varios usua-
Lectura o escritura de un registro, el sis-
rios. En este contexto son importantes dos
tema emite un comando idóneo para leer o
características:
escribir un registro. El sistema de archivos
considera la organización del archivo e im- ■ Libertad de nombrado: capacidad del
plementa la operación de la lectura/escritu- usuario para dar cualquier nombre a un
ra de manera apropiada. archivo sin estar restringido por los nom-
bres de los archivos utilizados por otros
Cierre de un archivo, la ejecución de una usuarios.
declaración close indica al sistema de archi- ■ Compartir archivos: capacidad del usua-
vos que se ha terminado el procesamiento rio para acceder a archivos creados por
del archivo. El sistema de archivos actualiza otro usuario, y de permitir a otros usua-
en sus estructuras de datos la información rios el acceso a sus archivos.
concerniente al tamaño del archivo, es de-
cir, al número de registros que contiene. Un sistema de archivos utiliza directorios
para proporcionar estas dos características.
Creación de un archivo, un archivo se crea Un directorio contiene información relacio-
haciendo una copia de un archivo existente nada con un archivo: su ubicación, tipo y
o escribiendo registros en un nuevo archivo. manera en que otros usuarios del sistema
El sistema almacena información relaciona- pueden acceder a él. Cuando un proceso
da con los privilegiados de acceso para el emite un comando para abrir un archivo,
archivo. el sistema de archivos encuentra la entrada
del archivo en un directorio y obtiene la lo-
Borrado de un archivo, el archivo se borra calización.
de la estructura del directorio del sistema
de archivo, el medio de almacenamiento se- En la figura 2 se visualiza campos en una
cundario ocupado por este archivo se libera. entrada de directorio típica. El campo flags
se utiliza para distinguir entre diferentes ti-
Volver a nombrar un archivo, el sistema de pos de entrada de directorio. El valor de “D”
archivos recuerda el nuevo nombre del ar- en este campo se pone para indicar que un
chivo en su estructura del directorio. archivo es un directorio, “L” para indicar que
se trata de una liga y “M” para indicar que
Especificación de los privilegios de acce- se trata de un sistema de archivos montado.
so, el usuario puede especificar o modificar Estos usos se describen en secciones poste-
los privilegios de acceso de un archivo crea- riores. El campo misc info contiene informa-
do por su proceso en cualquier momento ción de tipo: propietario, momento de crea-
de la existencia del archivo. ción y momento de la última modificación.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 78
8
Figura 2. Entrada de directorio típica
Fuente: Propia.

Un sistema de archivo contiene varios direc- Los usuarios A y B crearon, ambos, un archi-
torios. La estructura del directorio del siste- vo denominado alpha, estos archivos tie-
ma de archivos conecta un directorio con nen entradas en los UD respectivos. La es-
otros en el sistema. Rige la manera en que tructura del directorio que muestra la figura
los archivos pueden ser compartidos por un 3 se denomina estructura del directorio de
grupo de usuarios. Se utiliza la convención dos niveles.
pictórica de que un directorio se presenta
por un rectángulo, mientras un archivo se La utilización de UD proporciona libertad
representa por un círculo. En la figura 3 se de nombrado. Cuando un proceso iniciado
visualiza una simple estructura del directo- por el usuario A lleva a cabo la llamada open
rio que incluye a dos directorios. Un user di- (alpha, …), el sistema de archivos busca el
rectory (UD) contiene información sobre los MD para dar cupo a las A del UD, y busca
archivos que son propiedad de un usuario; ahí a alpha. Si la llamada open (alpha, …)
cada archivo se describe por medio de una fue realizada por algún proceso ejecutado
entrada en el directorio. El master directory por B, entonces el sistema de archivo ten-
(MD) contiene información sobre las UD de drá que buscar las B de UD para alpha. Este
todos los usuarios registrados por el siste- arreglo asegura que se accederá al archivo
ma. Cada entrada en el MD contiene un par correcto incluso si en el sistema hay varios
(identificación de usuario, apuntador UD). archivos con nombres idénticos.

Figura 3. Directorios maestros y del usuario


Fuente: Propia.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 79
9
Operaciones sobre un directorio gar en la jerarquía de directorios a otro, este
■ Búsqueda de un archivo. se puede asimilar como un camino de mapa.

■ Creación de un archivo. Existes diferentes tipos de ruta según el nivel:


■ Borrado de un archivo. Directorio de un solo nivel

■ Listado de un directorio. Llamado directorio de un solo nivel dado


■ Renombrado de un archivo. que todos los usuarios comparten el mismo
directorio, lo que genera inconvenientes en
■ Atravesar un sistema de archivos. cuanto al nombramiento y problemas de
Rutas de directorios agrupamiento; para el primer caso, debido
a que los usuarios pueden tener el mismo
La ruta de un directorio especifica de manera nombre para diferentes archivos  o  un mis-
única a un archivo o directorio en particular mo archivo puede tener varios nombres
especificando su ubicación. Los nombres de diferentes, y para el último caso, se pueden
ruta le muestran al usuario cómo ir de un lu- presentar diferentes tipos de archivos.

Figura 4. Directorio de un solo nivel


Fuente: Propia.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 80
10
Directorios de dos niveles

Para el caso de directorios de dos niveles, cada usuario puede tener sus propios directorios,
inclusive pueden tener hasta el mismo nombre de archivo para cada usuario.

Figura 5. Directorio de un dos niveles


Fuente: Propia.

Directorio de árbol

Como su nombre lo indica, la estructura de los directorios se da de forma de árbol, y en ella


cada usuario puede tener varios directorios y subdirectorios dentro de este al igual que el
número de archivos que desee. Al incrementar el número de niveles, brinda la opción de
agrupamiento y búsqueda eficiente.

Figura 6. Directorio de árbol


Fuente: Propia.
Semánticas de consistencia usuarios que comparten el mismo archi-
La semántica de consistencia especifica vo.
como múltiples usuarios pueden acceder ■ El puntero a archivos compartidos permi-
a un archivo compartido simultáneamente, te que múltiples usuarios lean y escriban
tienden a ser menos complejos debido a las
concurrentemente AFS tiene una semán-
E/S a disco la latencia de la red (sistemas de
archivos remotos) Andrew File System (AFS) tica de sesión.
implementa una semántica muy compleja ■ Las escrituras son solo visibles solo des-
para compartir archivos. El sistema de archi- pués que la sesión termina.
vos Unix (UFS) implementa:
■ Las escrituras sobre un archivo abierto En la tabla 1 se presenta un resumen de las
son visibles inmediatamente a los otros diferentes semánticas de consistencia.

Tabla 1. Tipos de semánticas de consistencia


Fuente: Alegre (2010).

Implementación del sistema de ficheros so aleatorio, en el que se accede a los regis-


tros en algún orden distinto al secuencial.
La expresión “patrón de acceso a un regis-
Un programa se ejecuta de manera eficaz
tro” se usa de manera informal para descri-
si su patrón de acceso a un registro puede
bir el orden en que un proceso accede a los
implementarse exitosamente en el sistema
registros de un archivo. Dos patrones de de archivos mientras se procesa un archivo.
acceso a un registro fundamentales son el
acceso secuencial en el que se accede a los Una organización de archivos define dos
registros en el mismo orden en que existen características relacionadas con un archivo:
en un archivo (o en orden inverso), y el acce- el arreglo de los registros en el archivo y el

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 82
12
procedimiento que se va a realizar para ac- funciones efectuadas por los métodos de
ceder a los registros. acceso se analizan después de estudiar las
organizaciones fundamentales de archivo.
Su uso proporciona un acceso eficaz a los
registros para un patrón de acceso a un Organización secuencial de archivos
registro específico. La organización de ar- En la organización secuencial de archivos, el
chivos determina cuán eficazmente puede
campo llave almacena los registros en una
utilizarse el medio de E/S. Un sistema de
secuencia ascendente o descendente. Se es-
archivos proporciona varias organizaciones
pera que el patrón de acceso de una aplica-
de archivo, de modo que el programa pue-
ción sea una subsecuencia de esta secuen-
de elegir una estructura de archivos que se
cia. Por consiguiente, un archivo secuencial
ajuste mejor a sus necesidades.
admite dos tipos de operaciones: leer el si-
Mientras se analiza la actividad de procesa- guiente registro y omitir el siguiente regis-
miento de archivos en un proceso se usa la tro. En una aplicación se utiliza un archivo
siguiente notación: secuencial si sus datos pueden preclasificar-
se convenientemente en orden creciente o
tp: tiempo de CPU requerido para procesar decreciente.
la información en un registro.
A la mayor parte de los dispositivos E/S
tw: tiempo de espera por registro, es decir, puede accederse de manera secuencial, de
tiempo que trascurre desde que un proce- modo que los archivos secuenciales no de-
so hace la solicitud para un registro hasta penden crucialmente de las características
aquél en el que el registro se vuelve dispo- del dispositivo. En consecuencia, un archivo
nible para su procesamiento. secuencial puede migrase fácilmente a un
tipo de dispositivo diferente. La organiza-
En esta sección se describen tres organiza- ción secuencial de archivos también se utili-
ciones fundamentales de archivo. Otras usa- za para archivos de flujo de bytes.
das en la práctica son variaciones de estas
organizaciones fundamentales o son orga- Ejemplo 1: un archivo maestro de datos
nizaciones con un propósito especial que se empleados se organiza como un archivo
ajustan a dispositivos de E/S de uso menos secuencial. El número de empleados es el
común. Los accesos a los archivos que utili- campo llave del registro de un empleado (fi-
zan organizaciones de archivos específicas gura 7a). Cada registro en el archivo maes-
se implementan por medio de un módulo tro contiene el número de cuenta bancaria
IOCS denominado método de acceso. Las del empleado en el que se deposita

Figura 7. Registros en a) archivo secuencial b) archivo directo


Fuente: Propia.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 83
13
Organización de archivos de acceso han escrito p registros, suponiendo que los
directo números del empleado, la pista y los núme-
ros del registro del archivo maestro empie-
Esta organización proporciona comodidad zan desde 1, la dirección del número n de
y eficiencia para el procesamiento de ar- registro del empleado es (track number (tn),
chivos cuando a los registros se accede en record number (rn) donde:
orden aleatorio. Para acceder a un registro,
un comando de lectura/escritura solo se ne- tn = n/p
cesita mencionar su llave; por tanto, el acce-
so a un registro es independiente de a) cual rn = n – (tn -1) * p
registro se accedió antes. Esto contrasta con
la organización secuencial de archivos. Si un La organización de archivos de acceso di-
proceso desea acceder al registro del em- recto proporciona eficacia de acceso cuan-
pleado con el número, y si el último registro do los registros se procesan de manera alea-
que se leyó del archivo fue el del empleado toria; sin embargo, posee dos desventajas
con el número 36, éste tendrá que omitir de en comparación con un archivo secuencial:
manera explícita los registros que intervie- ■ El cálculo de la dirección del registro con-
nen si se utiliza la organización secuencial sume tiempo de CPU.
de archivos. Estas acciones se evitan en una
organización de archivo de acceso directo, ■ Una consecuencia de la necesidad de re-
lo cual la hace tanto conveniente como efi- gistros falsos es una utilización deficien-
caz. te del medio de E/S. Este aspecto se de-
muestra en el ejemplo 2.
Los archivos directos se registran en disco.
Cuando un proceso proporciona un valor Ejemplo 2: en la figura 7 se visualiza un
llave, el método de acceso para la organi- arreglo de los registros de los empleados
zación de archivos de acceso directo aplica en organizaciones de archivo secuencial y
una trasformación al valor llave a fin de ge- directo. Los empleados con el número de
nerar una dirección (track-no, record_no). empleados 3, 5 a 9 y 11 han abandonado la
Las cabezas del disco ahora están posicio- organización. Sin embargo, el archivo direc-
nadas en la pista track_no antes de emitir to requiere contener un registro para cada
un comando de lectura/escritura en record_ uno de los empleados a fin de satisfacer las
no. Considere el archivo maestro de la infor- formulas presentadas anteriormente para el
mación del empleado usada en el ejemplo cálculo de la dirección. Este requerimiento
1, esta vez organizada como archivo direc- conduce a la necesidad de contar con regis-
to. Considere que en una pista del disco se tros falsos en el archivo directo.

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 84
14
1
UNIDAD

4 Unidad 4

Gestión de
Entrada/Salida
y seguridad en
sistemas operativos Sistemas operativos

Autor: Katherine Roa


Introducción La interferencia en el acceso a los recursos realizada por usua-
rios es una amenaza grave a un sistema operativo. La natura-
leza de la amenaza depende del carácter de un recurso y de la
forma en que se utiliza. En este capítulo se analizan amenazas
al uso de la información almacenada en archivos. Algunas téc-
nicas que se usan para contrarrestar tales amenazas también
son de utilidad para otros recursos.

En consecuencia, finalizaremos el capítulo con un análisis de


diferentes tipos de ataques a la seguridad y acerca de cómo
son perpetrados mediante el empleo de caballos de Troya, vi-
rus y gusanos.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 86
3
U4 Metodología

Para un mayor entendimiento de este capítulo, se recomienda al estudiante realizar una lec-
tura de la guía y generar un reporte crítico del mismo a modo personal, con el fin de afianzar
los conocimientos adquiridos en esta cartilla.

Se sugiere adicionalmente, desarrollar las diferentes lecturas y actividades planteadas en la


semana, con el fin de comprender mejor la temática trabajada.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 87
Andina 4
U4 Desarrollo temático

Gestión de Entrada/Salida y segu- tar el manejo de los dispositivos de E/S. Las


funciones que realiza este son:
ridad en sistemas operativos
■ Comunicación con los demás dispositi-
Introducción gestión de Entrada/Salida vos por medio de comandos, aceptar sus
interrupciones e irrumpir sus errores.
Como hemos estudiado en los capítulos
anteriores, la CPU es el elemento principal ■ Presentar una interfaz entre los dispositi-
de una máquina, dado que esta procesa los vos y el resto del sistema el cual sea fácil
datos e instrucciones; pero para que esto se de usar.
lleve a cabo necesita de la colaboración de ■ Optimizar la Entrada/Salida del sistema.
los dispositivos de Entrada/Salida (E/S), al-
gunos de estos dispositivos son:
■ Suministrar dispositivos virtuales que
accedan a cualquier tipo de dispositivo
físico.
Periféricos: estos permiten la comunicación
entre los usuarios y la computadora, por ■ Reconocer la conexión de nuevos dispo-
ejemplo: teclado, mouse (dispositivos de sitivos de E/S.
entrada) o impresora, pantalla (dispositivos
de salida). Hardware de Entrada/Salida
Los dispositivos de Entrada/Salida están
Dispositivos de almacenamiento: estos pro- compuestos por un elemento electrónico,
porcionan almacenamiento no volátil de uno mecánico y la estandarización. Donde
memoria y datos; por ejemplo, discos y dis- el primero, hace referencia a los controlado-
quetes (almacenamiento secundario), cin- res o unidad de E/S el cual permite transferir
tas y sistemas de archivo (almacenamiento información entre la memoria principal y los
terciario). periféricos, conectar al bus con el dispositi-
vo y conectar los diferentes dispositivos. El
Dispositivos de comunicaciones: estos per- segundo, hace referencia al dispositivo, el
miten conectar el ordenador con otros or- cual permite conectar a la CPU a través de
denadores a través de una red, por medio los controladores (cabe aclarar que el siste-
de tarjetas de red, módems, entre otros. ma operativo trata con el controlador más
Funciones del sistema de E/S no con el dispositivo) y por último, la estan-
darización, el cual permite utilizar el mismo
El sistema de Entrada/Salida tiene como ca- controlador para distintos dispositivos así
racterística principal que se ocupa de facili- sus fabricantes sean diferentes.

Fundación Universitaria del Área Andina 5


88
Controladores de dispositivos ■ Registro de datos: estos almacena los da-
tos de entrada o salida.
Conforma la interfaz del dispositivo con el
bus de la máquina. La trasmisión entre la ■ Registro de estado: demuestra si la orden
CPU y el controlador se realiza por medio de se ha ejecutado, si se han presentados
los registros del controlador. Estos registros errores, entre otros.
hacen parte del espacio normal de direccio-
nes de memoria o tienen un espacio de di- ■ Registro de control: le entrega al contro-
rección especial. Los tipos de registros son: lador las órdenes a realizar.

Imagen 1. Controladores de dispositivos


Fuente: Alegre (2010).

Software de Entrada/Salida das las acciones relacionadas con la inicia-


Usamos el termino de software de E/S para ción y finalización de una operación E/S.
describir todas las acciones con respecto a
Iniciación de E/S, cuando se ejecuta una
la iniciación y finalización de una operación
instrucción de E/S, el CPU evita la dirección
de E/S. la iniciación de E/S se ejecuta cuando
del dispositivo al DMA. El DMA interroga al
ocurre una interrupción de E/S, indicando la
finalización de una operación de E/S. para dispositivo para verificar su disponibilidad,
ver los detalles de la programación de E/S, este proceso se llama selección de dispositi-
consideremos un programa de aplicación vo. El DMA informa al CPU sobre las acciones
que usa el hardware de la máquina, es decir, de selección de dispositivo y este coloca un
un sistema de cómputo que no tiene capas correspondiente código de condición en su
de software entre el programa de aplicación registro de códigos. Entones la instrucción
y el hardware de la máquina. Este programa de E/S está completa; el CPU queda libre
tiene que ejecutar por su propia cuenta to- para ejecutar otras acciones.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 89
6
Procesamiento de finalización de E/S, pues- interrupción y comunicar el evento al mane-
to que el programa se lleva a cabo en el jador del dispositivo, restaurar la ejecución
hardware de una máquina, y en un sistema de un proceso (que no tiene por qué ser el
de multiprogramación o compartición de interrumpido).
tiempo, no puede bloquearse sino hasta
que la operación de E/S finaliza. Por tanto, el Software independiente del dispositivo, tie-
CPU permanece disponible para el progra- ne como funciones asignar nombres a los
ma incluso durante la operación de E/S, y dispositivos de entrada/salida, impedir el
continua con la ejecución de instrucciones. acceso a usuarios sin autorización, y gestio-
Sin embargo, no realiza ningún trabajo has- nar almacenamiento temporal en memoria
ta que finaliza la operación de E/S. para evitar el acceso directo a los dispositi-
vos.
El sistema operativo organiza el software de
E/S en tres niveles, con una función e inter- Software a nivel usuario, es el medio para
faz definida: realizar las llamadas al sistema operativo,
■ Manejadores de interrupciones. igualmente controla el acceso a dispositivos
compartidos y dedicados.
■ Software de E/S independiente del dis-
positivo.
Ejemplos de dispositivos
■ Software de las aplicaciones de usuario. En la tabla 1 se presenta la clasificación de
Manejadores de interrupción, son los en- los dispositivos de E/S de acuerdo al objeti-
cargados de tratar las interrupciones ge- vo y el modo de acceso. Una unidad de un
neradas por los controladores, una vez se medio de E/S se llama volumen de E/S. un
presentada una interrupción es necesario: cartucho de cinta y un disco puede llamar-
impedir la ejecución de un proceso, guar- se entonces un volumen de cinta y un volu-
dar los registros, identificar la fuente de la men de disco, respectivamente.

Objetivo Modo de acceso Ejemplos


Teclado, mouse, conexiones de red,
Secuencial
Entrada cintas, discos.
Aleatorio Discos.
Impresoras, conexiones de red, cintas,
Secuencial
Impresión discos.
Aleatorio Discos.
Secuencial Cintas, discos.
Almacenamiento
Aleatorio Discos.
Tabla 1. Clasificación de los dispositivos de E/S
Fuente: Propia.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 90
7
A continuación conoceremos un poco más que ésta sea utilizada no solo por usuarios
sobre alguno de estos, autorizados y de la manera desea, igual-
Cintas y cartuchos magnéticos mente que no se destruya o se dañe. La
seguridad tiene que ver con amenazas a la
El medio de E/S en una cinta o cartucho es información externa a un sistema de cóm-
una tira de material magnético en el cual se puto, mientras que la protección está rela-
escriben informaciones en la forma de unos cionada con amenazas internas.
y ceros, usando principios de la grabación
electromagnética. La grabación en cinta es La seguridad se implementa mediante la au-
de pista multiplex, una cabeza de lectura/ tenticación, utilización de contraseñas, las
escritura se posiciona en cada pista. Esta ca- cuales frustran intentos realizados por en-
beza graba o lee informaciones de los bits tidades externas para enmascararse como
de un byte, así como también algunas in- usuarios del sistema. Para asegurar la con-
formaciones adicionales que se usan para la fidencialidad de las contraseñas se utiliza la
detección y corrección de errores. técnica de cifrado.

Las unidades de cintas son dispositivos de Un usuario necesita compartir con cola-
acceso secuenciales, las operaciones que se boradores datos y programas almacena-
pueden ejecutar en estos dispositivos son dos en archivos. Un privilegio de acceso es
las siguientes: read/write, skip y rewind. una especificación de la manera en que un
usuario puede acceder al sistema de archi-
Discos vo. El propietario de un archivo suministra
Un disco es un objeto circular plano llama- al SO información concerniente a los privi-
do plato, que gira alrededor de su propio legios de acceso a un archivo. La función
eje. Las superficies circulares de un plato de protección de un sistema operativo al-
están cubiertas con material magnético, macena esta información y la utiliza para
se usa una sola cabeza de lectura/escritura asegurar que todos los accesos al archivo
para realizar la grabación en una superficie; coincidan estrictamente con los privilegios
por tanto, un byte es grabado en serie a lo de acceso.
largo de una pista. La cabeza, la información
Los sistemas operativos utilizan dos conjun-
grabada forma una pista circular sobre la su-
tos de técnicas para contrarrestar las ame-
perficie del disco. En un disco no se usa la
nazas al uso de la información.
información de paridad; una suma verifica-
dora de redundancia cíclica (CRC) se escribe ■ La seguridad implica la protección de los
junto con cada registro para admitir la de- datos y programa de un usuario en con-
tección de errores. tra de interferencia por entidades o per-
sonas externas a un sistema; por ejemplo,
Seguridad sobre archivos no usuarios.
Las medidas de seguridad y protección evi- ■ La protección implica proteger los datos
tan interferencias con el uso de recurso ló- y programas de un usuario en contra de
gicos físicos en un sistema. Cuando estas interferencia por otros usuarios del siste-
medidas se aplican a información, aseguran ma.

Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 91
8
Existen dos métodos clave usados por los que puede usar un archivo solo si el propie-
sistemas operativos para implementar se- tario del archivo lo ha autorizado explícita-
guridad y protección. mente.

La autentificación es el método que se usa La diferencia entre protección y seguridad


para comprobar la identidad de un aperso- constituye una clara división de asuntos
na. La comprobación física de la identidad para el sistema operativo. Un sistema ope-
no es factible en entornos contemporáneos rativo convencional, la cuestión de la se-
de cómputo, de modo que la autenticación guridad está limitada a garantizar que solo
basada en computadoras se fundamenta en los usuarios registrados pueden utilizar el
un conjunto de suposiciones. Una suposi- sistema operativo. Cuando una persona en-
ción común es que tal persona es el usuario tra, se lleva a cabo una comprobación de
que reclama serlo si sabe algo que solo que seguridad para determinar si la persona es
solo el usuario debería saberlo. Esto se de- un usuario del sistema operativo y, en caso
nomina autenticación por conocimiento. de serlo, obtiene su identificación de usua-
rio. Luego, de esta comprobación, todas las
El otro método utilizado se llama autori- amenazas a la información almacenada en
zación, el cual consiste en suponer que un el sistema constituye asuntos relacionados
persona es un usuario legitimo si posee algo con la protección; el usuario del SO utiliza la
que se supone solo puede estar en manos identificación de una persona para decidir si
del usuario, ejemplo, de estos métodos son puede acceder a un archivo especifico.
la comprobación con base en las contrase-
ñas y la autenticación biométrica, es decir, Políticas y mecanismos de seguridad y
la autenticación basada en ciertas caracte- protección
rísticas biológicas únicas e inalterables de Seguridad
un usuario, como sus huellas digitales, su
retina o iris. La autorización es el acto que
■ Política: si una persona puede volverse
usuario del sistema. El administrador del
consiste en determinar los privilegios de un sistema aplica la política mientras regis-
usuario. Estos se utilizan para implementar tra nuevos usuarios.
protección.
■ Mecanismos: agregar o quitar usuario,
En casi todos los sistemas operativos la vali- comprobar si una persona es un usuario
dación de información para un usuario con- registrado por medio de una autentica-
siste en una forma cifrada de su contraseña. ción. Realiza cifrado para asegurar confi-
El símbolo de autenticación para un usuario dencialidad de los datos.
es la identificación de un usuario asignada Protección
por el sistema operativo. El sistema operati-
vo recuerda la identificación de un usuario Política: el propietario del archivo especifica
hasta que el usuario hasta que el usuario la política de autorización para un archivo.
se sale del sistema. Utiliza esta información Decide que usuario puede acceder a un ar-
siempre que un usuario o un proceso hace chivo y de qué manera.
una solicitud de un recurso o un servicio. A
un usuario autenticado se le permite usar Mecanismos: establece o cambia informa-
todos los servicios del sistema, excepto por- ción de autorización para un archivo, com-

Fundación Universitaria del Área Andina 92


Fundación Universitaria del Área Andina 9
prueba si una solicitud de procesamiento ración dentro de un kernel; por ejemplo, el
de un archivo se ajusta a los privilegios del uso de un dispositivo de E/S puede negarse
usuario. cambiando su entrada a la tabla de disposi-
tivos del kernel.
Seguridad de acceso
Caballo de Troya, virus y gusanos
Los intentos de una persona o entidad por
violar la seguridad de un sistema se llama Los caballos de Troya, los virus y gusanos
ataque a la seguridad, y tal persona o en- constituyen formas novedosas para causar
tidad se denomina intruso o adversario. La estragos en un sistema de cómputo al co-
comunicación es un componente vulnera- locar programas o códigos capaces de per-
ble de un entorno de cómputo, de modo petrar una gama de ataques a la seguridad.
que muchos ataques se lanzan a través de la Algunas de sus características son:
componente de comunicación. Dos ataques
a la seguridad evidentes son la intercepción Caballo de Troya, programa que lleva a
de la comunicación y la manipulación. Estos cabo una función legítima conocida por
ataques ocurren principalmente en siste- un sistema operativo o sus usuarios, pero
mas operativos distribuidos. que también posee una parte oculta que
puede utilizarse para propósitos infames,
Clases de ataques a la seguridad
como ataques a la seguridad del mensaje
Enmascaramiento: un intruso es capaz de o suplantación. Por ejemplo, es capaz de
hacerse pasar por un usuario registrado del borrar un disco duro en la computadora,
sistema, o lo que es peor, puede corromper lo cual constituye una violación al reque-
o destruir información pertinente al usua- rimiento de seguridad, o hacer que un sis-
rio. La forma evidente de lanzar este tipo de tema se bloquee o se vuelva más lento, lo
ataque consiste en romper la contraseña de cual supone negación del servicio. También
un usuario y usar este conocimiento para puede monitorear el tráfico entre el usuario
pasar la prueba de autenticación en el mo- y otros procesos a fin de reunir información
mento de ingresar al sistema. Otro método para efectos de enmascaramiento, o iniciar
consiste en un enmascaramiento más sutil a conversaciones espurias con la misma in-
través de programas que se importan desde tención. Un ejemplo típico es un programa
un entorno de software. spoof login que proporciona un mensaje
con identificación falda para engañar a un
Navegación del servicio: también conoci- programa a fin de que revele información
do como ataque DoS, este es lanzado me- sobre alguna contraseña. Debido a que un
diante el aprovechamiento de alguna vul- caballo de Troya es cargado de manera ex-
nerabilidad en el diseño en la operación del plícita por un usuario, n o es difícil seguir la
sistema operativo, algún aspecto de la ope- pista de su auto u origen.
ración de un sistema operativo es alterado
de modo que no puede admitir algunos ser- Virus, pieza de un código que por sí mismo
vicios como era de esperar. Un ataque DoS es capaz de atacar a otros programas en el
puede lanzarse mediante la corrupción de sistema y dispersarse a otros sistemas cuan-
un programa que ofrece algún servicio o de do se copian o trasfieren los programas.
la destrucción de la información de configu- Mientras se adjunta a otro programa, un vi-

Fundación Universitaria
Fundación Universitaria del
del Área
Área Andina
Andina 93
10
rus escribe su propia dirección como la di- algún evento, como una fecha o un instante
rección inicial de ejecución el programa. De especifico, lo que despiertan. Entonces lan-
esta forma adquiere el control del sistema, za uno de los ataques antes mencionados.
al adjuntarse a tales programas. Después
Gusano, programa que se difunde a otros
de eso, pasa el control al programa genuino
sistemas de cómputo mediante la explora-
para su ejecución. El paso de infección no
ción de huecos de seguridad, como debili-
consume mucho tiempo de CPU, de modo
dades en las instalaciones para creación de
que un usuario no puede saber que el pro- procesos remotos. Se sabe que los gusanos
grama ejecutado trasporta un virus. La for- se duplican a ritmos inimaginablemente al-
ma en que un virus se introduce él solo a tos, recargando la red, y consumiendo tiem-
otro programa mucho más difícil de rastrear po de CPU durante la duplicación. Debido
que en el caso de un caballo de Troya. Apar- a su capacidad de autoduplicación, resulta
te de infectar a otros programas, un virus mucho más difícil de rastrear a un gusano
comúnmente permanece latente hasta que que a un virus.

Fundación Universitaria del Área Andina 11


94
Bibliografia
■■Alegre, M. (2010). Sistemas Operativos Monopuesto. Madrid, España: ediciones Paraninfo.
■■Candela et al. (2007). Fundamentos de los Sistemas Operativos. Madrid, España: Thomsom.
■■Carretero, J., Miguel, de P., García, F. & Pérez, F. (2001). Sistemas Operativos. Una visión apli-
cada. Madrid, España: Ed. Mc Graw Hill.
■■Martínez, P. & Díaz, J. (1996). Sistemas Operativos: Teoría y práctica. Ediciones Díaz de Santos.
■■Stallings, W. (2005). Sistemas Operativos, 5ª edición. México: Ed. Prentice Hall.
■■anenbaum, A. (2003). Sistemas Operativos Modernos. México: Pearson Education.

Fundación Universitaria del Área Andina 95


Esta obra se terminó de editar en el mes de noviembre
Tipografá Myriad Pro 12 puntos
Bogotá D.C,-Colombia.

También podría gustarte