0% encontró este documento útil (0 votos)
51 vistas41 páginas

Apunte 2do Cuat Sistemas Operativos 1 FINAL - 2014

El documento describe los componentes principales de un sistema operativo, incluyendo el núcleo, el intérprete de comandos y el sistema de archivos. Luego se explica que el núcleo es responsable de gestionar los recursos del hardware de forma segura y de proporcionar abstracciones del hardware. Finalmente, se detalla que los procesos son programas en ejecución y que el sistema operativo es responsable de administrar los procesos y la memoria asignada a ellos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas41 páginas

Apunte 2do Cuat Sistemas Operativos 1 FINAL - 2014

El documento describe los componentes principales de un sistema operativo, incluyendo el núcleo, el intérprete de comandos y el sistema de archivos. Luego se explica que el núcleo es responsable de gestionar los recursos del hardware de forma segura y de proporcionar abstracciones del hardware. Finalmente, se detalla que los procesos son programas en ejecución y que el sistema operativo es responsable de administrar los procesos y la memoria asignada a ellos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

2014

Instituto de Educación Superior


Nº 1 – La Quiaca

APUNTE – SISTEMAS OPERATIVOS I


SEGUNDO CUATRIMESTRE

CURSO: 1º DIVISION: 1º
PROFESOR: GUANUCO, JUAN CARLOS
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Componentes del Sistema Operativo:


El sistema operativo está compuesto por un conjunto de paquetes de software que pueden
utilizarse para gestionar las interacciones con el hardware. Estos elementos se incluyen por
lo general en este conjunto de software.

1. El núcleo o Kernel que representa las funciones básicas del sistema operativo, como
por ejemplo, la gestión de la memoria, de los procesos, de los archivos, de las
entradas/salidas principales y de las funciones de comunicación.
2. El intérprete de comandos (shell), que posibilita la comunicación con el sistema
operativo a través de un lenguaje de control, permitiendo al usuario controlar los
periféricos sin conocer las características del hardware utilizado, la gestión de las
direcciones físicas, etcétera.
3. El sistema de archivos, que permite que los archivos se registren en una estructura arbórea
de tipo jerárquica.

Kernel o núcleo del Sistema Operativo.


El núcleo (o kernell) es el software responsable de facilitar a los distintos programas acceso
seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar
recursos, a través de servicios de llamada al sistema.
Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se
encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante
cuánto tiempo, lo que se conoce como multiplexado.
Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos
suelen implementar una serie de abstracciones del hardware. Esto permite esconder la
complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que
facilita su uso para el programador.

Las funciones más importantes del mismo, aunque no las únicas, son:
1. Gestión de los procesos del sistema.
2. Administración de la memoria para todos los programas y procesos en ejecución.
3. Administración del tiempo de procesador que los programas y procesos en ejecución
utilizan.
4. Es el encargado de que podamos acceder a los periféricos/elementos de nuestra
computadora de una manera cómoda.
-3-
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

5. La gestión del almacenamiento secundario del sistema

-4-
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Eje temático Nº 3: Administración de procesos y memoria.

A.- ADMINISTRACIÓN DE PROCESOS.


3.1 Procesos
Dentro de las operaciones más básicas y la vez más complejas
de nuestra PC encontramos los procesos. Estos nos permitirán
entrar al mundo que se "DESPERTARA" en nuestra
computadora, o por lo menos seria nuestra manera de decirlo.
Siempre que le pidamos a nuestra computadora que haga algo,
los procesos asumirán el trabajo y de esta manera el
microprocesador dará ejecución al plan que realice el sistema operativo a través de los
procesos.

3.2 Definición de Procesos


“Un proceso es básicamente un programa en ejecución.”
El concepto central de cualquier Sistema Operativo es el de proceso: una abstracción de un
programa en ejecución también llamada tarea. No hay un acuerdo universal sobre una
definición de proceso, pero sí algunas definiciones aceptadas:
• Un programa que se está ejecutando.
• Una actividad asincrónica.
• El emplazamiento del control de un procedimiento que está siendo ejecutado.
• Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de
control de proceso.
• Aquella entidad a la cual son asignados los procesadores.

-5-
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

3.3 Gestión de procesos


Un programa no puede hacer nada si la CPU no ejecuta sus instrucciones, entonces podemos
pensar en un proceso como una porción de un programa en ejecución o todo el programa.
Un proceso necesita ciertos recursos, incluidos tiempo de CPU, memoria, archivos y
dispositivos de E/S, para llevar a cabo su tarea. Estos recursos se otorgan al proceso en el momento
en que se crea, o bien se le asignan durante su ejecución.
Un proceso es la unidad de trabajo de un sistema. El “sistema” consiste en una colección de
procesos, algunos de los cuales son procesos del sistema operativo (los que ejecutan código del
sistema), siendo el resto procesos de usuario (los que ejecutan código de algún usuario).

3.4 Estados de un Proceso


En cuanto a las jerarquías de procesos es necesario señalar que los Sistemas Operativos deben
disponer de una forma de crear y destruir procesos cuando se requiera durante la operación,
teniendo además presente que los procesos pueden generar procesos hijos mediante llamadas al
Sistema Operativo, pudiendo darse ejecución en paralelo. Respecto de los estados del proceso
deben efectuarse las siguientes consideraciones:
• Cada proceso es una entidad independiente pero frecuentemente debe interactuar con
otros procesos.
• Los procesos pueden bloquearse en su ejecución porque: Desde el punto de vista lógico
no puede continuar porque espera datos que aún no están disponibles. El Sistema
Operativo asignó el CPU a otro proceso.
• Los estados que puede tener un proceso son:
- Nuevo: se levanta el proceso por primera vez.
- En ejecución: utiliza el cpu en el instante dado.
- Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso.
-6-
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

- Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo.


- Terminado: el proceso termino su ejecución.
El dispatcher (componente del nucleo), se encarga de asignar los procesadores a los diferentes
procesos, por lo tanto debe actuar cuando se debe comprobar si es necesario cambiar el proceso que
está activo, es decir en las siguientes situaciones:
a) Cuando el proceso que está activo se bloquea;
b) Cuando un proceso se desbloquea pasando a estado listo y debido al algoritmo de
planificación este puede desplazar al que está activo;
c) Cuando un proceso debe pasar de activo a listo y por lo tanto otro pasara de listo a activo.
3.5 Transiciones de estado de los Procesos

Cuando un proceso pasa de un estado a otro se dice que hace una transición de estado,
estas transiciones se describen a continuación.
1. Admitido (Proceso)  Nuevo Listo: Cuando un proceso se ha creado y se le es
permito para competir por la CPU.
2. Despacho (Proceso)  Listo En ejecución: La asignación de la CPU al primer proceso de
la lista de listos es llamado despacho y es ejecutado por la entidad de sistema
llamada despachador. Mientras que el proceso tenga la CPU se dice que está en ejecución.
3. Tiempo excedido(Proceso)  En ejecución Listo: El S.O , cuando un proceso se le
expira el intervalo de tiempo asignado para estar en ejecución (CUANTO), hace que
este proceso que se hallaba en estado de ejecución pase al estado de listo e
inmediatamente el despachador hace que el primer proceso de la lista pase a estado de
ejecución.
-7-
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

4. Bloqueo (Proceso)  En ejecución Bloqueado: Si un proceso que se encuentra en


estado de ejecución inicia una operación de E/S antes que termine su cuanto, el
proceso voluntariamente abandona la CPU, es decir, el proceso se bloquea a sí mismo.
5. Despertar (Proceso)  Bloqueo Listo: La única transición posible en nuestro
modelo básico ocurre cuando acaba una operación de E/S (o alguna otra causa por la que
esté esperando el proceso), y esta termina pasa a el estado de listo.
6. Salir (Proceso)  En ejecución Terminado: Esta transición ocurre cuando el
proceso se ha terminado de ejecutarse, y pasa a un estado de terminado.
3.6 Comunicación entre Procesos
La comunicación entre procesos (comúnmente IPC, del inglés
Inter-Process Communication) es una función básica de los
sistemas operativos. Los procesos pueden comunicarse entre
sí a través de compartir espacios de memoria, ya sean
variables compartidas o buffers, o a través de las
herramientas provistas por las rutinas de IPC.
La IPC provee un mecanismo que permite a los
procesos comunicarse y sincronizarse entre sí,
normalmente a través de un sistema de bajo nivel de
paso de mensajes que ofrece la red subyacente.

Tipos de comunicación
La comunicación puede ser:
 Síncrona: Quien envía permanece bloqueado esperando a que llegue una respuesta
del receptor antes de realizar cualquier otro ejercicio.
 Asíncrona: Quien envía continúa con su ejecución inmediatamente después de
enviar el mensaje al receptor.
 Persistente (persistent): El receptor no tiene que estar operativo al mismo tiempo
que se realiza la comunicación, el mensaje se almacena tanto tiempo como sea
necesario para poder ser entregado (Ej.: e-Mail).
 Momentánea (transient): El mensaje se descarta si el receptor no está operativo al
tiempo que se realiza la comunicación, por lo tanto no será entregado.
 Directa Las primitivas enviar y recibir explicitan el nombre del proceso con el que se
comunican. Es decir se debe especificar cuál va a ser el proceso fuente y cuál va a ser el
proceso Destino.
-8-
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

 Indirecta: Es aquella donde la comunicación está basada en una herramienta o


instrumento ya que el emisor y el receptor están a distancia.
 Simétrica: Todos los procesos pueden enviar o recibir. También llamada
bidireccional para el caso de dos procesos.
 Asimétrica: Un proceso puede enviar, los demás procesos solo reciben. También
llamada unidireccional. Suele usarse para hospedar servidores en Internet.
 Con uso de buffers explícito o automático: El transmisor se bloquea hasta que el receptor
recibe el mensaje (capacidad cero).

3.7 Planificación de Procesos (Schedulling)


Cuando más de un proceso es ejecutable desde el punto de vista lógico, el Sistema
Operativo debe decidir cuál de ellos debe ejecutarse en primer término. El Planificador es la
porción del Sistema Operativo que decide y el Algoritmo de planificación es el utilizado.

Los principales “criterios” respecto de un buen algoritmo de


planificación son la equidad, la eficacia, el tiempo de respuesta, el
tiempo de regreso y el rendimiento. Algunas de estas metas son
contradictorias, por ejemplo, minimizar el tiempo de respuesta
para los usuarios interactivos significaría no ejecutar las tareas batch
(procesos por lotes).

Cada proceso es único e impredecible, es decir que pueden requerir intensivamente operaciones de
Entrada/Salida o intensivamente CPU; el planificador del Sistema Operativo no tiene la
certeza de cuánto tiempo transcurrirá hasta que un proceso se bloquee, ya sea por una
operación de Entrada / Salida o por otra razón.

Para evitar que un proceso se apropie de la CPU un tiempo excesivo, los equipos poseen
un dispositivo que provoca una interrupción en forma periódica, por ejemplo 60 hz, o sea
sesenta veces por segundo. En cada interrupción del reloj el Sistema Operativo decide si el
proceso que se está ejecutando continúa o si el proceso agotó su tiempo de CPU y debe
suspenderse y ceder la CPU a otro proceso.

Los principales conceptos relacionados con Planificación del Procesador son los Siguientes:

-9-
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

• Planificación Apropiativa: es la estrategia de permitir que procesos ejecutables


(desde el punto de vista lógico) sean suspendidos temporalmente.

• Planificación No Apropiativa: es la estrategia de permitir la ejecución de un


proceso hasta terminar.

• Planificación del procesador: determinar cuándo deben asignarse los procesadores y


a qué procesos, lo cual es responsabilidad del Sistema Operativo.

Objetivos de la planificación:
Se debe buscar que los procesos
obtengan sus turnos de ejecución
apropiadamente, conjuntamente
con un buen rendimiento y
minimización de la sobrecarga
(overhead) del planificador.

Niveles de planificación
Se consideran tres niveles importantes de planificación,
los que se detallan a continuación:
1. Planificación de alto nivel: También se
denomina Planificación de trabajos, determina a
qué trabajos se les va a permitir competir
activamente por los recursos del sistema, lo
cual se denomina Planificación de admisión.

- 10 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

2. Planificación de nivel intermedio: Determina a qué procesos se les puede permitir competir
por el cpu, responde a fluctuaciones a corto plazo en la carga del sistema y efectúa
“suspensiones” y “activaciones” (“reanudaciones”) de procesos. Debe ayudar a alcanzar
ciertas metas en el rendimiento total del sistema.
3. Planificación de bajo nivel: Determina a qué proceso listo se le asigna al cpu cuando
este queda disponible y asigna al cpu al mismo, es decir que “despacha” el cpu al
proceso. La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por
segundo y reside siempre en el almacenamiento primario.
Los distintos Sistemas Operativos utilizan varias Políticas de Planificación, que se
instrumentan mediante Mecanismos de Planificación.

Algoritmos de planificación
En un sistema de un único procesador, solo puede ejecutarse un proceso cada vez; cualquier otro
proceso tendrá que esperar hasta que la CPU quede libre y pueda volver a planificarse. El objetivo
de la multiprogramación es tener varios procesos en ejecución. Con el fin de maximizar el uso de la
CPU.
Un proceso se ejecuta hasta que tenga que esperar, normalmente porque es necesario
completar algunas solicitudes de E/S. Cuando un proceso tiene que esperar, el sistema operativo
retira el uso de la CPU a ese proceso y se lo sede a este proceso.

Cuando la CPU queda inactiva, el sistema operativo debe seleccionar uno de los procesos
que se encuentran en la cola de procesos preparados para ejecución. El planificador de corto
plazo lleva a cabo esa planificación del proceso. El planificador elige uno de los procesos que están
en memoria preparados para ejecutarse y así mismo la CPU a dicho proceso.

Algoritmo FIFO (First Input-First Output, primera en entrar-primera en salir)


El primero que llega se atiende primero, por lo que es lo mismo: FCFS
(First-come, first-served) por sus siglas en inglés. Es un algoritmo
que no usa expropiación, y que consiste en atender a los procesos
por estricto orden de llegada a la cola LISTOS. Cada proceso se
ejecuta hasta que termina, o hasta que hace una llamada
bloqueante (de I/O), o sea, ejecuta su fase de CPU completa. La

- 11 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

gracia es que se trata de un algoritmo muy simple: la cola LISTOS se maneja como una
simple cola FIFO. El problema es que el algoritmo es bastante malo ya que no asegura para
nada que los tiempos de espera sean los mínimos posibles; peor aún, con un poco de mala
suerte pueden llegar a ser los máximos posibles.

Algoritmo Round Robin (RR)


También conocido como Carrusel o round-robin (RR).
Volviendo a FIFO, una forma obvia de mejorarlo es
agregando expropiación de manera que cada proceso no
retenga la CPU por más de un quantum o tajada de
tiempo predefinida. FIFO con tajada de tiempo se
conoce como round-robin, y se implementa igual que
FIFO, sólo que antes de cederle la CPU a un proceso
se echa a andar el timer para que provoque una
interrupción dentro de un quantum de tiempo.

El proceso ejecuta hasta que haga una llamada bloqueante o hasta que use toda su tajada de
tiempo. En cualquiera de los dos casos, la CPU se entrega al siguiente en la cola LISTOS
Como se puede observar, es menor el tiempo de espera ya que en este caso se disminuye
con respecto al anterior algoritmo. Lo único que se debe tener cuidado es seleccionar un
quantum idóneo que no sea ni muy pequeño ni muy grande que provoque el incremento de los
tiempos de espera promedio.

Algoritmo Shortest - Job- First (SJF) - El trabajo más corto primero


Supongamos que tenemos tres procesos cuyas próximas fases de CPU son de a, b y c
milisegundos de duración. Si ejecutan en ese orden, el tiempo medio de espera es:
(0 + a + (a + b))/3 = (2a+b)/3
O sea, el primer proceso que se ejecute es el que tiene mayor incidencia en el tiempo medio, y el
último, tiene incidencia nula. En conclusión, el tiempo medio se minimiza si se ejecuta siempre el
proceso con la menor próxima fase de CPU que esté LISTO. Además, es una buena
manera de prevenir el efecto convoy. Lo malo es que para que esto funcione, hay que
adivinar el futuro, pues se requiere conocer la duración de la próxima fase de CPU de cada
proceso.
- 12 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Lo que se hace es predecir la próxima fase de CPU en base al comportamiento pasado del
proceso, usando un promedio exponencial. Supongamos que nuestra predicción para la n-
sima fase es Tn, y que en definitiva resultó ser tn. Entonces, actualizamos nuestro estimador
para predecir Tn+1
Tn+1 = (1-α) tn + αTn
O sea, mientras más antigua la fase menos incidencia tiene en el estimador. Un valor atractivo
para α es 1/2, ya que en ese caso sólo hay que sumar los valores y dividir por dos,
operaciones especialmente fáciles en aritmética binaria.

3.8 Concurrencia.
Definiciones de concurrencia:
1. La concurrencia es el solapamiento en el tiempo de la ejecución de varias actividades.
2. Dos procesos, P1 y P2, se ejecutan concurrentemente si la primera instrucción de P1 se ejecuta
entre la primera y la última instrucción de P2.

- 13 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Procesamiento Concurrente: es la situación que se obtiene al hacer una instantánea del sistema, es
decir; varios procesos se encuentran en un estado intermedio entre su estado inicial y final.
Programación Concurrente: es el conjunto de notaciones que se usan para expresar paralelismo y
técnicas que se usan para resolver posibles conflictos entre los procesos.
Los procesos de un sistema no actúan de forma aislada. A veces tienen que:
• Cooperar para alcanzar el objetivo ⇒sincronización
• Competir por el uso de recursos ⇒exclusión mutua
Exclusión mutua.
Tipos de recursos:
• Compartibles: pueden ser usados por varios procesos de forma concurrente;
• No compartibles: en cada momento solo pueden ser usados por un único proceso.
Razones:
• por la naturaleza física del recurso;
• porque la acción sobre el recurso por parte de un proceso puede interferir en la acción de
otro proceso.

Exclusión Mutua es la comunicación requerida entre dos o más procesos que se están ejecutando
en paralelo y que necesitan a la vez el uso de un recurso no compartible. Consiste en asignar el
recurso no compartible a sólo uno de los procesos, mientras que los otros deben permanecer a la
espera hasta que finalice la utilización de dicho recurso por el proceso al que se le asigno. Cuando
este proceso termine, el recurso será asignado a uno de los procesos en espera. Se asegura el
correcto uso del recurso.

- 14 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Sección crítica o región crítica es el trozo de código donde un proceso hace uso de un recurso no
compartible, por lo tanto debe ejecutarse en exclusión mutua. Las secciones críticas deben ser
jecutadas lo más rápido posible y
además deben ser cuidadosamente codificadas.
Sincronización: es la comunicación requerida entre dos o más procesos con el fin de sincronizar
sus actividades.

Interbloqueos (Deadlocks)
Concepto de interbloqueo. Inanición de procesos. Un
proceso esta interbloqueado si está esperando por un
evento determinado que nunca va a ocurrir, la
postergación indefinida (inanición o Lockout) se da
cuando un proceso espera por un evento que puede
ocurrir pero no se sabe cuándo.

Condiciones necesarias para que se produzca interbloqueo.


Coffman, Elphick y Shoshani establecieron las cuatro condiciones necesarias para que se produzca
interbloqueo:
1. Condición de exclusión mutua, los procesos reclaman control exclusivo de los recursos que
piden.
2. Condición de esperar por los procesos mantienen los recursos que ya les han sido asignados
mientras esperan por recursos adicionales.
3. Condición de no apropiatividad, los recursos no pueden ser extraídos de los procesos que
los tienen hasta su completa utilización.

- 15 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

4. Condición de espera circular: existe una cadena circular de procesos en la cual cada uno de
ellos mantiene a uno o más recursos que son requeridos por el siguiente proceso de la
cadena.

B.- ADMINISTRACIÓN DEL ALMACENAMIENTO PRINCIPAL.


La organización y administración de la “memoria principal”, “memoria primaria” o “memoria
real” de un sistema ha sido y es uno de los factores más importantes en el diseño de los
sistemas operativos. Los términos “memoria” y “almacenamiento” se consideran equivalentes.

Memoria Principal – Concepto


La memoria física es un conjunto de celdas referenciables por medio de una dirección lineal (p.ej.
de la 00000h a la FFFFFh). Para que un programa se ejecute, su código y sus datos necesitan estar
cargados en memoria (al menos en parte), en un sistema multitarea, la memoria ha de repartirse
entre los diferentes procesos que se están ejecutando en la computadora.

- 16 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Las rutinas del sistema operativo también deberán residir en memoria, en todo o en parte, puede ser
que la memoria principal no tenga capacidad suficiente para todos los procesos en ejecución.
Los programas y datos deben estar en el almacenamiento principal para:
 Poderlos ejecutar.
 Referenciarlos directamente.
Los hechos demuestran que generalmente los programas crecen en requerimientos de memoria
tan rápido como las memorias.
La “Ley de Parkinson parafraseada” dice también que los programas se desarrollan para
ocupar toda la memoria disponible para ellos.

Organización del Almacenamiento


Históricamente el almacenamiento principal se ha considerado como un recurso costoso, por lo cual
su utilización debía optimizarse.
Por organización del almacenamiento se entiende la manera de considerar este almacenamiento:
a) ¿Se coloca un solo programa de usuario o varios?
b) Si se encuentran varios programas de usuario:
 ¿Se concede a cada uno la misma cantidad de espacio o se divide el almacenamiento en
porciones o “particiones” de diferente tamaño?
 ¿Se utilizará un esquema rígido de número y tamaño de particiones o un esquema dinámico
y adaptable?
 ¿Se requerirá que los trabajos de los usuarios sean diseñados para funcionar en una
partición específica o se permitirá que se ejecuten en cualquiera donde quepan?
 ¿ Se requerirá o no que cada trabajo sea colocado en un bloque contiguo de
memoria?

- 17 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Independientemente del esquema de organización hay que decidir las estrategias que se
utilizarán para optimizar el rendimiento.

Las “estrategias de administración” deben considerar:


 ¿Cuándo se consigue un nuevo programa para colocar en la memoria principal?
 ¿Cuándo el sistema lo pide específicamente o se intenta anticiparse a las peticiones?
 ¿Dónde se colocará el programa que se ejecutará a continuación?
 ¿Se prioriza el tiempo de carga o la optimización en el uso del almacenamiento?
 ¿Con qué criterio se desplazarán programas?

Gestión de Memoria Principal


En un sistema monoprogramado, la memoria principal se divide en dos partes: una parte para el
sistema operativo (monitor residente, núcleo) y otra parte para el programa que se ejecuta en ese
instante. En un sistema multiprogramado, la parte de "usuario" de la memoria debe subdividirse aún
más para hacer sitio a varios procesos. La tarea de subdivisión la lleva a cabo dinámicamente el
sistema operativo y se conoce como gestión de memoria.
En un sistema multiprogramado resulta vital una gestión efectiva de la memoria. Si sólo hay unos
pocos procesos en memoria, entonces la mayor parte del tiempo estarán esperando a la E/S y el
procesador estará desocupado. Por ello, hace falta repartir eficientemente la memoria para meter
tantos procesos como sea posible.

La parte del S. O. que administra la memoria se llama “administrador de la memoria”, lleva


un registro de las partes de memoria que se están utilizando y de aquellas que no.
 Asigna espacio en memoria a los procesos cuando estos la necesitan.
 Libera espacio de memoria asignada a procesos que han terminado.
Objetivo principal: Conseguir que varios procesos puedan ejecutarse de forma concurrente, 
evitando los conflictos de uso, protegiendo al sistema operativo, aprovechando eficazmente el
espacio disponible, sin perjudicar el rendimiento (tiempo de acceso a memoria):
a) Minimizar la memoria desaprovechada.
b) Evitar fragmentación.
c) Memoria ocupada por varias copias de un mismo objeto.

- 18 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

d) Memoria ocupada por las estructuras de datos necesarias para la operación del gestor de
memoria.
e) Carga parcial de programas.

Un gestor de memoria ideal debería por tanto,


 Minimizar la memoria desaprovechada.
 Tener una complejidad temporal mínima.
 Presentar un recargo por acceso a memoria mínimo.
 Además de proporcionar una buena protección y una compartición flexible.

Requisitos de la gestión de memoria


Al realizar un estudio de los diversos mecanismos y políticas relacionadas con la gestión de
memoria, vale la pena tener en mente los requisitos que se intentan satisfacer:
• Reubicación: En un sistema multiprogramado, la memoria disponible se encuentra
normalmente compartida por varios procesos. En general, el programador no puede conocer
por adelantado qué otros programas residirán en memoria en el momento de la ejecución del
programa. Además, se busca poder cargar y descargar los procesos activos en la memoria
principal para maximizar el uso del procesador, manteniendo una gran reserva de procesos
listos para ejecutar. Una vez que un programa haya sido descargado al disco, se limitará a
declarar que, cuando vuelva a ser cargado, debe situarse en la misma región de memoria
principal que antes.

• Protección: Cada proceso debe protegerse contra interferencias no deseadas de otros


procesos, tanto accidentales como intencionadas. Así pues, el código de un proceso no
puede hacer referencia a posiciones de memoria de otros procesos, con fines de lectura o

- 19 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

escritura, sin permiso. Hasta cierto punto, satisfacer las exigencias de reubicación aumenta
la dificultad de satisfacción de las exigencias de protección.

• Compartición: Cualquier mecanismo de protección que se implemente debe tener la


flexibilidad de permitir el acceso de varios procesos a la misma zona de memoria principal.
Por ejemplo, si una serie de procesos están ejecutando el mismo programa, resultaría
beneficioso permitir a cada proceso que acceda a la misma copia del programa, en lugar de
tener cada uno su pro pía copia aparte. Los procesos que cooperan en una tarea pueden
necesitar acceso compartido a la misma estructura de datos. El sistema de gestión de
memoria debe, por tanto, permitir accesos controlados a las áreas compartidas de la
memoria, sin comprometer la protección básica.

• Organización lógica: De forma casi invariable, la memoria principal de un sistema


informático se organiza como un espacio de direcciones lineal o unidimensional que consta
de una secuencia de bytes o palabras. La memoria secundaria, a nivel físico, se organiza de
forma similar. Si bien esta organización refleja fielmente el hardware de la máquina, no se
corresponde con la forma en la que los programas están construidos habitualmente. La
mayoría de los programas se organizan en módulos, algunos de los cuales no son
modificables (sólo lectura, sólo ejecución) y otros contienen datos que se pueden modificar.

• Organización física: La memoria principal ofrece un acceso rápido con un coste


relativamente alto. Además, la memoria principal es volátil; esto es, no proporciona
almacenamiento permanente. La memoria secundaria es más lenta y barata que la memoria
principal y, normalmente, no es volátil. De este modo, una memoria secundaria de gran
capacidad puede permitir un almacenamiento a largo plazo de programas y datos, al tiempo
que una memoria principal pequeña mantiene los programas y datos de uso actual. En este
esquema a dos niveles, la organización del flujo de información entre la memoria principal y
la secundaria tiene un gran interés en el sistema. La responsabilidad de este flujo podría
asignarse al programador, pero esto es impracticable e indeseable, debido a dos razones:
• La memoria principal disponible para un programa y sus datos puede ser insuficiente. En
este caso, el programador debe emplear una práctica que se conoce como superposición
(overlaying),en la cual el programa y los datos se organizan de tal forma que puede haber
varios módulos asignados a la misma región de memoria, con un programa principal
responsable del intercambio de los módulos según se necesite.
- 20 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

• En un entorno multiprogramado, el programador no conoce durante la codificación cuánto


espacio habrá disponible o dónde estará este espacio.
Resulta claro entonces que la tarea de mover información entre los dos niveles de memoria debe ser
responsabilidad del sistema. Esta tarea es la esencia de la gestión de memoria.

Ciclo de vida de un programa en ejecución (procesos y memoria principal)

Conversión de direcciones reubicación


a) El compilador traduce direcciones de memoria simbólicas a direcciones binarias.
b) Si las direcciones binarias son absolutas, el programa sólo se puede ejecutar en una zona fija
de la memoria: NO ES REUBICABLE. Ej.: los programas con formato .COM de MS-DOS.
Nos interesa que el compilador no genere direcciones definitivas, sino direcciones provisionales,
reubicables. Cuando se sepa dónde van a residir el código y los datos, se convertirán a direcciones
absolutas.
¿En qué momento (etapa) se realiza esta reubicación?
 Carga (enlazador o cargador) Reubicación estática
 Ejecución (hardware) Reubicación dinámica

Reubicación dinámica:
 Dirección física: la que llega al chip de memoria
 Dirección lógica o virtual: la generada por la CPU

- 21 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

El dispositivo que traduce direcciones virtuales a físicas se llama unidad de manejo de memoria
(MMU), el espacio de direcciones lógicas y el espacio de direcciones físicas no tienen por qué
coincidir. Ej.: registro base

- 22 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Mecanismo de gestión - Intercambio (swapping)


Objetivo: cuando un proceso queda bloqueado o en espera, la memoria que ocupa podría
desasignársele.
Intercambio: Cuando un proceso pierde la CPU, se vuelca su imagen de la memoria al disco (swap
out). Cuando se decide reanudar el proceso, se recupera su imagen del disco (swap in)

Mecanismos de gestión de la memoria contigua


Se utiliza la tabla de descripción de particiones(TDP), el S.O. gestionará una lista de huecos libres
en memoria y seleccionará qué procesos pueden cargarse en memoria para ejecutarse (se usan
primitivas internas de pedir y liberar memoria).
Políticas de ubicación: El problema general se conoce como la gestión de memoria dinámica
• Primer hueco (first-fit)
• Mejor hueco (best-fit)
• Peor hueco (worst-fit)
Las políticas de “primer hueco” y “mejor hueco” son similares en rendimiento; y mejores que la de
“peor hueco”, otras políticas que se conocen son las de siguiente ajuste, buddies.

Mecanismos de gestión - Compartición


Utilizar particiones de memoria compartidas (comunes) se utilizan registros base/límite que tienen
como requisitos contar con conjuntos separados de pares de registros base/limite dedicados para
acceder a los espacio de memoria privado y compartir
Implica la existencia de algún mecanismo que indique en cada acceso que conjunto de registros
emplear.
Claves de protección: requeriría controlar los bloques compartidos para que en las conmutaciones
de contexto se cambien las claves de protección. Es necesario llevar la cuenta de que bloques están
siendo compartidos y por quién.

- 23 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Mecanismo de gestión - Segmentación


Un programa se puede descomponer en varios segmentos de memoria (código, datos, pila...), con el
hardware adecuado, podemos ubicar esos segmentos en zonas de memoria no contiguas.

El compilador tiene que generar código que haga


referencias a direcciones de memoria con dos
componentes: <segmento,desplazamiento>.
El S.O. ubica cada segmento en un hueco contiguo
de memoria y el hardware se encarga de la
reubicación dinámica mediante una tabla de
segmentos.

Ventajas
• Atenúa el problema de la fragmentación.
• Permite definir protecciones selectivamente.
• Permite compartición de zonas de memoria de forma eficaz.
• Todo ello sin añadir complejidad a los algoritmos de gestión de espacio.
Inconvenientes
• El compilador/enlazador debe reconocer un espacio segmentado (desventaja leve)
• Necesita soporte del hardware
• Incurre en un acceso adicional a memoria (para la tabla de segmentos)
• No soluciona del todo los problemas de las técnicas de ubicación contigua (fragmentación)

Mecanismo de gestión - Paginación


La idea es trocear la memoria disponible en páginas de tamaño fijo (ej. 4Kb). Un programa puede
residir en varias páginas no contiguas Las páginas disponibles en memoria se llaman marcos de
página (page frames).
Toda dirección lógica se descompone en dos partes: número de página y desplazamiento. La MMU
se encarga de asociar el número de página lógico con el marco de página asignado. Para ello emplea
una tabla de páginas.
La gestión del espacio libre consiste simplemente en saber qué marcos están libres, el SO posee una
tabla de marcos de páginas (TMP)

- 24 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

1. La MMU toma la parte asociada


al número de página.

2. Busca la entrada de la TP:


Obteniendo el MP

3. Indexa el byte dentro del MP de


memoria física.

- 25 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Traducción de direcciones

Resumen de Tecnicas de gestion de memoria

- 26 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Eje temático Nº4: Administración de Entrada/Salida y Sistema de archivos

C.- ADMINISTRACIÓN DE DISPOSITIVOS DE ENTRADA Y SALIDA (E/S).


Utilizaremos el término dispositivo para referirnos a
cualquier elemento del computador que no sea el
procesador o la memoria. Habitualmente los dispositivos
se encargan de la entrada/salida, aunque la gestión de
dispositivos hay que entenderla en sentido amplio,
incluyendo los dispositivos de almacenamiento secundario y
los de comunicaciones, e incluso la gestión del tiempo y
de la energía.
Esta heterogeneidad hace que el tratamiento de los dispositivos por el sistema operativo sea
difícilmente generalizable para un estudio sistemático.

Características de los dispositivos


Los dispositivos se caracterizan por su heterogeneidad, lo que introduce complejidad en el sistema
operativo. Algunas de las características en las que los dispositivos pueden diferir son las
siguientes:

- 27 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

1. Unidad de transferencia. Unos dispositivos utilizan el byte como unidad de transferencia


(dispositivos de caracteres, como el teclado o el ratón). Otros transfieren y/o almacenan la
información en bloques (dispositivos de bloques, como discos y cintas magnéticas).
2. Velocidad. Los rangos en los que se mueven los dispositivos son muy amplios. Los discos
y los dispositivos de comunicación transfieren millones de caracteres por segundo y pueden
hacerlo a velocidad constante, mientras que con el teclado se transfieren a lo sumo unos
cuantos caracteres por segundo, con un periodo concreto impredecible.
3. Representación de los datos. Incluso un mismo dispositivo puede utilizar diferentes
codificaciones configurables en la instalación, como es el caso del teclado y el monitor.
4. Protocolos de comunicación. La comunicación entre el dispositivo y la CPU se realiza de
acuerdo a un determinado protocolo que depende del dispositivo y del bus de comunicación.
5. Operaciones. Hay dispositivos de entrada, de salida y de entrada/salida.
6. Errores. Las condiciones de error varían con la naturaleza del dispositivo. Por ejemplo, en
la impresora hay que tratar la falta de papel como una situación de error específica, mientras
que en un disco puede haber errores en el posicionamiento del cabezal.

Tipos de entrada/salida
Por otra parte, y dependiendo en gran parte de las características del dispositivo, hay que distinguir
tres tipos de entrada/salida, en función de cómo el sistema se sincroniza con el controlador:

A. E/S programada. La sincronización es por encuesta, realizándose un bucle de espera activa


en la consulta del registro de estado del controlador. Los sistemas operativos
multiprogramados evitan este tipo de operación.

B. E/S por interrupciones. El controlador activa una interrupción que permite la


comunicación asíncrona del sistema operativo, que puede estar realizando otras tareas, con
el dispositivo. Es la base que permite implementar un sistema operativo multiprogramado.

C. E/S por DMA(acceso directo a memoria). Los dispositivos de bloques, que requieren una
tasa de transferencia muy elevada, utilizan el acceso directo a memoria para las operaciones
de entrada/salida, bien utilizando ciclos de memoria libres (robo de ciclo), bien adueñándose
de los buses de memoria para transferir un bloque completo. Este tipo de entrada/salida
implica la utilización de interrupciones para la sincronización con el fin de la transferencia.

- 28 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

La evolución del hardware ha llevado a incluir capacidad de proceso dentro del dispositivo
(procesadores de E/S). El sistema operativo se comunica con el procesador de E/S para indicarle los
parámetros de la operación a realizar y ordenar su inicio. El procesador de E/S ejecuta un código
propio que controla los detalles de la operación. Por otra parte, lo habitual hoy en día es incluir una
cierta cantidad de memoria RAM en el controlador o en el dispositivo, sobre la que el sistema
operativo realiza la transferencia. Esto ocurre por ejemplo con los discos, las impresoras y las
pantallas gráficas, que pueden contar con varios Mbytes de memoria.

Controladores (o drivers) de dispositivos


Para proporcionar una forma homogénea de direccionar los dispositivos, a nivel hardware éstos se
conectan al sistema mediante controladores. El sistema operativo ya no trata con el dispositivo en
sí mismo, sino con una interfaz que lo representa mediante un conjunto de direcciones o registros
del controlador, que se pueden direccionar en el espacio de direcciones de memoria o constituir un
espacio de direcciones independientes. El sistema se comunica con el controlador mediante
operaciones de lectura/escritura sobre los registros de datos, estado y control, permitiendo tanto la
transferencia de información como el diagnóstico y configuración del dispositivo. Estas operaciones
las realizan las funciones de más bajo nivel del núcleo del sistema operativo, y son dependientes del
hardware.

Controlador de dispositivo
En teoría los dispositivos de e/s se comunicarían con la CPU por los buses del sistema, dado que
son muy heterogéneos sería muy costoso que la CPU los manejase directamente. Los dispositivos
están conectados a una pieza de hardware llamada controlador de dispositivo (a veces controladora

- 29 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

o adaptador) El controlador de dispositivo admite comandos abstractos de la CPU y se encarga de


transmitirlos al dispositivo, por consiguiente se libera a la CPU de tareas de muy bajo nivel

Funciones
El controlador del dispositivo se encarga de:
• Coordinar el flujo de tráfico entre la CPU o memoria, y el dispositivo periférico.
• Comunicación con la CPU: decodificación de los comandos que vienen de la CPU,
intercambio de los datos de E/S con la CPU, reconocimiento de la dirección del dispositivo
(debe darse cuenta que los datos que vienen por los buses van dirigidos a este dispositivo y
no a otro).
• Comunicación con el Dispositivo: envío de comandos, intercambio de datos y recepción de
la información de estado.
• Almacenamiento temporal de datos (buffer) puesto que las velocidades son muy distintas
(CPU y dispositivo). Ej.: La CPU es mucho más rápida --> el controlador almacena los
datos que le va enviando la CPU y que debe “escribir” en el dispositivo y los envía paso a
paso al dispositivo lento.
• Detección de Errores.

Características
- El controlador de dispositivo actúa de interfaz entre la CPU y el dispositivo de E/S, cada
controlador puede ocuparse de uno o varios dispositivos del mismo tipo (p.ej. controlador
IDE --> Varios HDD, o un HDD y un CDRW,...)
- Los controladores se comunican con la CPU a través de unos registros o puertos.
Generalmente incluyen:

- 30 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

• Registros de control  Para enviar ordenes al dispositivo.


• Registros de estado  Para obtener información del estado dispositivo o controlador,
disponibilidad de datos, etc.
• Registros de datos  Pueden ser de entrada, salida o bidireccionales, típicamente son
registros de 1 a 8 bytes de tamaño. Algunos controladores tienen chips FIFO que
permiten almacenar pequeñas ráfagas de datos (buffers), mientras el host (CPU) no los
puede ir recibir.

Gestión de la entrada/salida por capas


Ante un panorama tan heterogéneo como el descrito en la introducción, abordar el estudio y diseño
de la entrada/salida en un sistema operativo de manera comprensiva conduce a estructurar el
sistema en diferentes niveles de abstracción o capas.

Una capa Lk ofrece una interfaz a la capa superior, la capa Lk+1, conjunto de funciones que
determinan la forma en que desde la capa Lk+1se accede a la capa Lk. En un sistema operativo la
capa de más arriba corresponde a los programas de usuario, y está ya fuera de sistema operativo.
Como ya se conoce, desde esta capa se accede a la capa inferior, ya dentro del sistema operativo,
mediante la interfaz de llamadas al sistema. La interfaz de una capa ha de estar bien definida para
que el programador sepa a qué atener

- 31 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Esta estructura de capas consta de cuatro capas:


1. De abajo arriba, el nivel más interno del sistema operativo (núcleo) programa los
controladores de los dispositivos y maneja las interrupciones. Esta capa contiene software
dependiente de los dispositivos y algunas partes han de ser codificadas en lenguaje máquina.

2. Sobre el núcleo, en un segundo nivel se gestionan las peticiones de acceso a los dispositivos.
Aquí residen los manejadores de los dispositivos(drivers), que tratan con las características
particulares de los mismos y los controlan a través de las primitivas del núcleo.

3. La tercera capa contiene software independiente del dispositivo: gestión de directorios,


nombres, etc.

4. Sobre estos niveles intermedios se monta la capa superior, que proporciona la interfaz de
llamadas al sistema para las aplicaciones y muestra los dispositivos como abstracciones que

- 32 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

se representan por canales, proporcionando conceptos como el redireccionamiento de la


entrada-salida.
Esquema cliente-servidor
Las operaciones de entrada/salida se especifican desde las aplicaciones mediante las llamadas al
sistema, que trabajan con canales o dispositivos lógicos.
En general, una llamada al sistema típica (lectura o escritura) especifica de manera explícita o
implícita los siguientes parámetros:
 La operación a realizar (leer, escribir…).
 El canal sobre el que se realiza la operación.
 La dirección (o posición) en el dispositivo E/S donde se accede. Normalmente está implícita
(siguiente posición en un fichero) o incluso carece de sentido (lectura de teclado o ratón).
 La fuente o destino de la transferencia (dirección de memoria).
 La cantidad de información a transferir (longitud).
 En los sistemas que permiten operaciones síncronas y asíncronas, se indica esta condición y
el evento con el que el programa que solicita la operación se va a sincronizar explícitamente.

El tratamiento de una operación de entrada/salida tiene dos partes.


1. La primera, independiente del dispositivo, es el código utilizado por la llamada al sistema.
Nos referiremos a ella como rutina de E/S.
2. La segunda es el código del driver o manejador del dispositivo, y es dependiente del
dispositivo.
En nuestro modelo, la implementación del sistema operativo adopta el esquema cliente-servidor: las
rutinas de E/S, ejecutadas por los procesos de usuario, corresponden a la parte del cliente del
servicio, y el manejador, que se ejecuta como un proceso del sistema operativo, a la parte del gestor
de la petición.

- 33 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

D.- ADMINISTRACIÓN DEL ALMACENAMIENTO SECUNDARIO.


El propósito principal de un sistema de cómputo es ejecutar programas. Estos programas,
junto con los datos a los que acceden, deben estar en la memoria principal, o
almacenamiento primario, durante la ejecución. Debido a que la memoria principal es muy
pequeña para acomodar todos los datos y programas, y dado que los datos que contiene se
pierden cuando se interrumpe la energía, el sistema de cómputo debe proporcionar un
almacenamiento secundario como respaldo para la memoria principal.

La mayoría de los sistemas de cómputo


modernos emplean discos como el
principal medio de almacenamiento en
línea, tanto para programas como para
datos. La mayoría de los programas
incluyendo compiladores, ensambladores,
rutinas de ordenamiento, editores y
formateadores están almacenados en un
disco hasta que se cargan en la memoria,
y luego utilizan el disco como fuente y
destino de procesamiento.

Por lo tanto, la administración apropiada del almacenamiento en disco es de importancia central


para un sistema de cómputo. El sistema operativo es responsable de las siguientes
actividades relacionadas con la administración de discos:
 Administración de espacio libre.
 Asignación de almacenamiento.
 Planificación del disco.
 Verificar que los datos se guarden en orden.

- 34 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Ya que el almacenamiento secundario se utiliza con frecuencia, se debe usar de manera


eficiente. La velocidad de operación de una computadora puede depender de las velocidades
del subsistema del disco y de los algoritmos que manipulan dicho subsistema.

Un sistema de almacenamiento secundario es necesario, ya que la memoria principal


(almacenamiento primario) es volátil y además muy pequeña para almacenar todos los
programas y datos. También es necesario mantener los datos que no convenga mantener en
la memoria principal. El almacenamiento secundario (memoria secundaria, memoria auxiliar o
memoria externa) no es el conjunto de dispositivos (aparatos) y medios (soportes) de
almacenamiento, que conforman el subsistema de memoria de una computadora, junto a la
memoria principal.

No deben confundirse las "unidades o dispositivos de almacenamiento" con los "medios o


soportes de almacenamiento", pues los primeros son los aparatos que leen o escriben los
datos almacenados en los soportes.
La memoria secundaria es un tipo de almacenamiento masivo y permanente (no volátil), a
diferencia de la memoria RAM que es volátil; pero posee mayor capacidad de memoria que
la memoria principal, aunque es más lenta que ésta.

El proceso de transferencia de datos a un equipo de cómputo se le llama "procedimiento


de lectura". El proceso de transferencia de datos desde la computadora hacia el almacenamiento se
denomina "procedimiento de escritura".
En la actualidad para almacenar información se usan
principalmente tres 'tecnologías':
1. Magnética (ej. disco duro, disquete, cintas magnéticas).
2. Óptica (ej. CD, DVD, etc.)
3. Memoria Flash (Tarjetas de Memorias Flash y Unidades
de Estado sólido SSD).
Algunos dispositivos combinan tecnologías, es decir, son
dispositivos de almacenamiento híbridos, por ej., discos Zip.
Sistema de Archivos.
Aunque los discos rígidos pueden ser muy chicos, aun así contienen millones de bits, y por
lo tanto necesitan organizarse para poder ubicar la información. Éste es el propósito del
sistema de archivos. Recuerde que un disco rígido se conforma de varios discos circulares
- 35 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

que giran en torno a un eje. Las pistas (áreas concéntricas escritas a ambos lados del
disco) se dividen en piezas llamadas sectores (cada uno de los cuales contiene 512 bytes).

El formateado lógico de un disco permite que se cree un sistema de archivos en el disco,


lo cual, a su vez, permitirá que un sistema operativo (DOS, Windows 9x,UNIX,) use el
espacio disponible en disco para almacenar y utilizar archivos. El sistema de archivos se
basa en la administración de clústers, la unidad de disco más chica que el sistema operativo
puede administrar.
Un clúster consiste en uno o más sectores. Por esta
razón, cuanto más grande sea el tamaño del clúster,
menores utilidades tendrá que administrar el sistema
operativo. Por el otro lado, ya que un sistema
operativo sólo sabe administrar unidades enteras
de asignación (es decir que un archivo ocupa un
número entero de clústers), cuantos más sectores
haya por clúster, más espacio desperdiciado habrá.
Por esta razón, la elección de un sistema de
archivos es importante.

El sistema de archivos es la forma en que el sistema operativo va a organizar la información dentro


del disco duro para su grabación y posterior recuperación. Cada sistema operativo tiene su propio y
único sistema de archivos, lo que hace que no pueda funcionar con otros.
Por ejemplo, dentro de la línea Microsoft tenemos:
 DOS, Windows 3.11: FAT 8 o 12.
 Windows 95: FAT 16 o 32.
 Windows 98, ME, XP: FAT 32.
 Windows XP, 2000, NT, VISTA, SEVEN en adelante: NTFS.
Otros sistemas operativos, como GNU/Linux, tienen sus propios sistemas de archivos.

Objetivo del sistema de archivo

- 36 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Estructura del sistema de archivo

Métodos de asignación.
La naturaleza de acceso directo de los discos nos brinda flexibilidad en la implementación
de los archivos. En casi todos los casos, muchos archivos se almacenan en el mismo disco.
El problema principal es cómo asignar espacio a esos archivos de modo que el espacio se aproveche
de forma eficaz y se pueda acceder rápidamente a los archivos.

- 37 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Hay tres métodos de asignación de espacio en disco que se usan ampliamente: contigua, enlazada e
indizada. Cada método tiene sus ventajas y desventajas, y es por ello que algunos sistemas (como el
RDOS de Data General para su línea de computadoras Nova) manejan los tres, aunque es más
común que un sistema utilice un método en particular para todos los archivos.

Administración del espacio libre.


Cuando se abre un archivo, el sistema operativo usa el nombre de la ruta proporcionado por
el usuario para localizar la entrada del directorio. Directorios en MS-DOS: Los directorios
pueden tener otros directorios, dando lugar a un sistema de archivos jerárquicos. En este
sistema operativo es común que los diferentes programas de aplicación comiencen por crear
un directorio en el directorio raíz pongan ahí todos sus archivos, con objeto que no halla
conflictos entre las aplicaciones.

Planificación de disco.
Una de las obligaciones del sistema operativo es usar el hardware de forma eficiente. En el
caso de las unidades de disco, esto implica tener un tiempo de acceso breve y gran ancho
de banda de disco. El tiempo de acceso tiene dos componentes principales.
 El tiempo de búsqueda (seek time) es el tiempo que tarda el brazo del disco en
mover las cabezas al cilindro que contiene el sector deseado.
 La latencia rotacional es el tiempo adicional que el disco tarda en girar hasta que el
sector deseado queda bajo la cabeza del disco.

El ancho de banda del disco es el número total de bytes transferidos, dividido entre el tiempo total
transcurrido entre la primera solicitud de servicio y la finalización de la última transferencia. Cada
vez que un proceso necesita E/S de o al disco, emite una llamada al sistema operativo. La
solicitud especifica varios elementos de información:
a) Si esta operación es de entrada o de salida
b) La dirección en disco para la transferencia
c) La dirección en memoria para la transferencia
d) El número de bytes por transferir

- 38 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

Eje temático Nº 5: Seguridad en los Sistemas Operativos

Seguridad Informática
Desde la consolidación de Internet como medio de interconexión global, los incidentes de seguridad
relacionados con sistemas informáticos vienen incrementándose de manera alarmante. Este hecho,
unido a la progresiva dependencia de la mayoría de organizaciones hacia sus sistemas de
información, viene provocando una creciente necesidad de implantar mecanismos de protección que
reduzcan al mínimo los riesgos asociados a los incidentes de seguridad.

¿Qué es la seguridad informática?


Pareciera que ahora todo dependiera de las computadoras e Internet - comunicación (correos
electrónicos, teléfonos celulares), entretenimiento (cable digital, mp3s), transporte (sistemas de
motores de automóviles, navegación en aviones), compras (negocios online, tarjetas de crédito),
medicina (equipamiento, registros médicos), y la lista sigue.
¿En qué medida la mayor parte de su vida depende de las computadoras? ¿Qué volumen de su
información personal está almacenado ya fuere en su propia computadora o en el sistema de otra
persona?

- 39 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

La seguridad informática abarca proteger esa información previniendo, detectando y


respondiendo a los ataques.

¿Cuáles son los riesgos?


Hay muchos riesgos, algunos más serios que otros. Entre ellos están los virus que borran todo el
sistema completo, algunos entrando en su sistema y alterando archivos, otros usando su
computadora para atacar otras, o alguien que roba información de su tarjeta de crédito y hace
compras no autorizadas.
Lamentablemente, no hay una garantía 100% de que algunos de estos episodios no le ocurrirán, aún
con las mejores precauciones, pero hay pasos que usted puede tomar para minimizar las
probabilidades.

Objetivos de la Seguridad.
Seguridad informática es el conjunto de procedimientos, estrategias y herramientas que permitan
garantizar la integridad, la disponibilidad y la confidencialidad de la información de una entidad.
 Integridad. Es necesario asegurar que los datos no sufran cambios no autorizados, la
pérdidas de integridad puede acabar en fraudes, decisiones erróneas o como paso a otros
ataques. El sistema contiene información que debe ser protegida de modificaciones
imprevistas, no autorizas o accidentales, como información de censo o sistemas de
transacciones financieras.
 Disponibilidad. Se refiere a la continuidad operativa de la entidad, la pérdidas de
disponibilidad puede implicar, la pérdida de productividad o de credibilidad de la entidad. El
sistema contiene información o proporciona servicios que deben estar disponibles a tiempo
para satisfacer requisitos o evitar pérdidas importantes, como sistemas esenciales de
seguridad y protección de la vida.

- 40 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

 Confidencialidad. Se refiere a la protección de datos frente a la difusión no autorizada, la


pérdida de confidencialidad puede resultar en problemas legales, pérdida del negocio o de
credibilidad. El sistema contiene información que necesita protección contra la divulgación
no autorizada, como información parcial de informes, información personal o información
comercial patentada.

Estos aspectos además de lidiar con el riesgo que representan los atacantes remotos, se ven
amenazados también por los riesgos por desastres naturales, empleados desleales, virus y sabotaje,
entre otros.

SEGURIDAD FISICA
La Seguridad Física consiste en la “aplicación de barreras físicas y procedimientos de control, como
medidas de prevención y contramedidas ante amenazas a los recursos e información confidencial”.

La seguridad física es uno de los aspectos más olvidados a la hora del diseño de un sistema
informático. Se refiere a los controles y mecanismos de seguridad dentro y alrededor del Centro de
Cómputo así como los medios de acceso remoto al y desde el mismo; implementados para proteger
el hardware y medios de almacenamiento de datos.

Las principales amenazas que se prevén en la seguridad física son:


 Desastres naturales, incendios accidentales tormentas e inundaciones.
 Amenazas ocasionadas por el hombre.
 Disturbios, sabotajes internos y externos deliberados.

SEGURIDAD LÓGICA
Seguridad Lógica consiste en la "aplicación de barreras y procedimientos que resguarden el acceso
a los datos y sólo se permita acceder a ellos a las personas autorizadas para hacerlo." Existe un viejo
dicho en la seguridad informática que dicta que "todo lo que no está permitido debe estar prohibido"
y esto es lo que debe asegurar la Seguridad Lógica.

Los objetivos que se plantean serán:


 Restringir el acceso a los programas y archivos.

- 41 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014
IES Nº 1 La Quiaca – Tecnicatura Superior en Informática Sistemas Operativos I

 Asegurar que los operadores puedan trabajar sin una supervisión minuciosa y no puedan
modificar los programas ni los archivos que no correspondan.
 Asegurar que se estén utilizados los datos, archivos y programas correctos en y por el
procedimiento correcto.
 Que la información transmitida sea recibida sólo por el destinatario al cual ha sido enviada y
no a otro.
 Que la información recibida sea la misma que ha sido transmitida.
 Que existan sistemas alternativos secundarios de transmisión entre diferentes puntos.
 Que se disponga de pasos alternativos de emergencia para la transmisión de información.

Lo de software libre y licencias GPL con la teoría


de Linux que para estudiar de las ultimas clases se
SOP 1 – estudien y éxito en sus exámenes!!!

- 42 -
Profesor: Guanuco Juan Carlos Ciclo lectivo 2014

También podría gustarte