Documentos de Académico
Documentos de Profesional
Documentos de Cultura
978-958-5455-72-6
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
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
Metodología 8
Desarrollo temático 9
Metodología 17
Desarrollo temático 18
Metodología 27
Desarrollo temático 28
Metodología 38
Desarrollo temático 39
i
Índice
Metodología 50
Desarrollo temático 51
Metodología 62
Desarrollo temático 63
Metodología 74
Desarrollo temático 75
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.
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.
Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 8
4
U1 Desarrollo temático
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
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.
Procedimiento
principal
Procedimientos
de servicio
Procedimientos
utilitarios
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.
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.
Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 17
Andina 4
U1 Desarrollo temático
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 50
Andina 4
U3 Desarrollo temático
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é.
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.
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”.
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.
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.
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.
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
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.
Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 62
4
U3 Desarrollo temático
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.
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.
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).
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.
Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 67
9
Solución: Segmentación
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,
Tabla 1 Tabla 2
Fuente: Propia. Fuente: Propia.
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.
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
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.
Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina
Andina 74
4
U4 Desarrollo temático
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.
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.
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.
Directorio de árbol
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
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
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.
Fundación
Fundación Universitaria
Universitaria del
del Área
Área Andina 87
Andina 4
U4 Desarrollo temático
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.
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.
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.