Está en la página 1de 28

UNIDAD 4 GESTIÓN DEL NÚCLEO Y LOS PROCESOS DE LOS SISTEMAS OPERATIVOS

Definición de Procesos
En ingeniería, un proceso es una serie de tareas interrelacionadas que, juntas transforman las entradas
en salidas.  
 
Estas pueden ser realizadas por personas, la naturaleza o máquinas utilizando diversos recursos; un
proceso de ingeniería debe considerarse en el contexto de los agentes que realizan las tareas y los
atributos de recursos involucrados. 
 
Los documentos normativos de la ingeniería de sistemas y los relacionados con los modelos de
madurez se basan generalmente en procesos, por ejemplo, los procesos de ingeniería de sistemas del
EIA-632 y los procesos involucrados en el enfoque de institucionalización y mejora de la Integración del
modelo de madurez de capacidades (CMMI). 
 
Las restricciones impuestas a las tareas y los recursos necesarios para implementarlas son esenciales
para ejecutar las tareas mencionadas.

Estados de los Procesos

Todo proceso en un sistema operativo presenta un estado que indica la situación de la ejecución en que
se encuentra. El número de posibles estados varía de un sistema operativo a otro.

Diagrama de estados simplificado

Consideramos que todo proceso puede estar, como mínimo, en uno de los siguientes tres estados:

 Activo: el proceso está empleando la CPU, por tanto, está ejecutándose. Puede haber tantos
procesos activos como procesadores haya disponibles. Por tanto, si el sistema dispone de un
único procesador, únicamente puede haber un proceso activo a la vez.
 Preparado: el proceso no está ejecutándose, pero es candidato a pasar a estado activo. Es el
planificador el que, en base a un criterio de planificación, decide qué proceso selecciona de la
lista de procesos preparados para pasar a estado activo.
 Bloqueado: el proceso está pendiente de un evento externo que le ha hecho bloquear, tales
como una operación de lectura/escritura, la espera de finalización de un proceso hijo, una señal
o una operación sobre un semáforo. El dispositivo/hecho externo "avisa" al S.O. cuando ha
terminado la acción que realizaba mediante una INTERRUPCIÓN, dejando el S.O. lo que está
haciendo para atender a esta última. Tras esto, el S.O. comprueba cuales son los procesos que
fueron bloqueados por ese evento externo, cambiándolos al estado de preparado.

La transición de activo a preparado y viceversa depende de decisiones tomadas por el planificador del
sistema operativo en base a un cierto criterio. La transición de activo a bloqueado, y de bloqueado a
preparado puede inducirlas el programador mediante llamadas al sistema. 

Diagrama de Estados Ampliado

 En espera / Preparación: Estado por el que pasan los procesos antes de pasar a estar
preparados por primera vez. Los procesos, cuando comienzan a existir, no están preparados
para comenzar a ejecutar instrucciones hasta que el sistema no ha llevado a cabo una serie de
actividades. Una vez que el proceso está completamente cargado, ya se puede producir la
primera transición al estado preparado.
 Terminado: La transición de activo a este estado ocurre cuando el proceso realiza una llamada al
sistema solicitando su propia terminación. En estas circunstancias, hay estructuras de datos
correspondientes al proceso que no pueden ser liberadas hasta que el proceso padre del que
está terminando recoja el código de terminación del mismo. Hasta que esto ocurra, estas
estructuras se mantendrán y el proceso seguirá existiendo en estado terminado.
 Transición: cuando la operación que mantiene a un proceso en estado bloqueado termina, el
proceso puede haber perdido parte de los recursos que necesita para proseguir su ejecución.
Este es por ejemplo el caso de un sistema con memoria virtual, en el que parte de las páginas de
memoria del proceso han sido descargadas a disco. En dicho caso, el proceso tendría que pasar
por un estado intermedio transición mientras recupera dichos recursos, y una vez que todos sus
recursos vuelven a estar disponibles, volvería al estado preparado.

Operaciones con Procesos

La manifestación de un proceso en Un sistema operativo es Un bloque de control de proceso (PCB). Él


es una estructura de datos que contiene cierta información importante acerca del proceso, incluyendo:

 Estado actual del proceso


 Identificación única del proceso
 Prioridad del proceso
 Apuntadores para localizar la memoria del proceso
 Apuntadores para asignar recursos
 Área para preservar registros

Así pues, el PCB es la entidad que define un proceso en el sistema operativo. Dado que los PCB
necesitan ser manejados con eficiencia por el sistema operativo, muchos ordenadores tienen un
registro hardware que siempre apunta hacia el PCB del proceso que se está ejecutando. A menudo
existen instrucciones hardware que cargan en el PCB información sobre su entorno, y la recuperan con
rapidez

Planificación de Procesos

Planificación de procesos en Sistemas Operativos. Conjunto de políticas y mecanismos incorporados al


sistema operativo, a través de un módulo denominado planificador, que debe decidir cuál de los
procesos en condiciones de ser ejecutado conviene ser despachado primero y qué orden de ejecución
debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el máximo
aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un
momento dado. 
 
Un proceso es un programa en ejecución. Existen 3 estados en los que puede encontrarse un proceso,
estos son: "Listo", "Bloqueado" y "En ejecución". Para el control de los mismos internamente son
almacenados en una lista, cada uno de los nodos guarda información de un proceso. En esa
información se almacena, entre otros aspectos, el estado en que se encuentra el proceso, el tiempo que
el proceso ha usado el CPU, e información de E/S (entrada/salida). Los sistemas operativos cuentan
con un componente llamado planificador, que se encarga de decidir cuál de los procesos hará uso del
procesador. La toma de esta decisión, así como el tiempo de ejecución del proceso, estará dada por un
algoritmo, denominado Algoritmo de Planificación.
Bloque de Control del Sistema

El bloque de control del proceso (BCP) o en inglés PCB (Process Control Block) es un registro especial
donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso
particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que
sirva como descripción en tiempo de ejecución durante toda la vida del proceso.

Cuando el proceso termina, su BCP es borrado y el registro puede ser utilizado para otros procesos. Un
proceso resulta conocido para el sistema operativo y por tanto elegible para competir por los recursos
del sistema sólo cuando existe un BCP activo asociado a él. El bloque de control de proceso es una
estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de
la utilización de recursos. La información almacenada en un BCP incluye típicamente algunos o todos
los campos siguientes:

 Identificador de proceso (Process Identificator -PID-, de sus siglas en inglés).


 Estado del proceso. Por ej: listo, en espera, bloqueado.
 Contador de programa: dirección de la próxima instrucción a ejecutar.
 Valores de registro de CPU. Se utilizan también en el cambio de contexto.
 Espacio de direcciones de memoria.
 Prioridad en caso de utilizarse dicho algoritmo para planificación de CPU.
 Lista de recursos asignados (incluyendo descriptores de archivos y sockets abiertos).
 Estadísticas del proceso.
 Datos del propietario (owner).
 Permisos asignados.
 Señales (Signals) pendientes de ser servidas. (Almacenados en un mapa de bits).

Esta lista es simplemente indicativa, cada sistema operativo tiene su propio diseño de BCP, con el
conjunto de metadatos necesarios para la administración. Puede medir desde 32 bits a 1024. Su
denominación cambia según el sistema operativo, por ej. en IBM se designa PSW por palabra de
estado de proceso. Difiere significativamente entre los sistemas de procesamiento por lotes (BATCH) y
los sistemas interactivos.

Algunos sistemas de multiprogramación incluyen información de mantenimiento con el propósito de


facturar a los usuarios individuales el tiempo de procesador, el almacenamiento, las operaciones de E/S
y otras utilizaciones de recursos.

Una vez creado, el BCP se rellena con los atributos definidos como parámetros que se hallan en la
plantilla del proceso o que son especificados como parámetros de la llamada al sistema operativo crear
proceso. En ese momento el sistema operativo suele asignar valores a otros campos. Por ejemplo,
cuando se crea un proceso, los registros e indicadores hardware se fijan a los valores proporcionados
por el cargador/enlazador. Cada vez que un proceso queda suspendido, el contenido de los registros
del procesador es generalmente guardado en la pila, y el puntero al marco de la pila en cuestión se
almacena en el BCP. De este modo los valores de los registros son restaurados cuando el proceso es
seleccionado para ejecutarse nuevamente.

Planificación de procesos

La planificación estudia el problema de cuándo asignar los procesadores y a qué procesos


asignárselos. La planificación la realiza el planificador o scheduler.
La idea es planificar todos los procesos que se encuentran en la cola de procesos preparados
(procesos ejecutables).
Niveles de planificación
Existen dos schedulers de CPU principales: el scheduler a corto plazo y el heduler a largo plazo.

• Scheduler a largo plazo: determina qué trabajos se admiten en el sistema para su procesamiento.
Inicialmente, los procesos son encolados en un dispositivo de
almacenamiento masivo (normalmente, un disco) para que posteriormente el scheduler a corto plazo los
pueda seleccionar y consigan iniciar su ejecución.

• Scheduler a corto plazo (scheduler de la CPU): determina qué proceso debe ser
ejecutado en cada instante de tiempo o, dicho de otra forma, el scheduler a corto plazo determinará el
proceso que seleccionará el dispatcher para asignarle el control de la CPU.

La diferencia principal entre estos schedulers es la frecuencia de su ejecución. Mientras que el


scheduler a corto plazo se ejecuta muy continuamente (cuando se realiza un cambio de contexto, que
ocurre con frecuencia del orden de milisegundos), el scheduler a largo plazo se ejecuta menos
frecuentemente (pueden pasar minutos entre las llegadas de trabajos al sistema). El scheduler a largo
plazo controla el grado de multiprogramación (número de procesos en memoria).

UNIDAD 5 COORDINACION Y SINCRONIZACION DE PROCESOS


Concurrencia
La concurrencia es el punto clave de los tres campos anteriores y fundamentales para el diseño de
sistemas operativos. La concurrencia comprende un gran número de cuestiones de diseño, incluyendo
la comunicación entre procesos, compartición y competencia por los recursos, sincronización de la
ejecución de varios procesos y asignación del tiempo de procesador a los procesos. Se verá que estas
cuestiones no solo surgen en entornos de multi-procesadores y proceso distribuido, sino incluso en
sistemas multiprogramados con un solo procesador.

La concurrencia puede presentarse en tres contextos diferentes:

La multiprogramación se creó para permitir que el tiempo de procesador de


l a   máquina fuese compartido dinámicamente entre varios trabajos o aplicaciones activas.

Aplicaciones estructuradas: Como ampliación de los principios del diseño modular y la programación
estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos
concurrentes.

Estructura del sistema operativo: Las mismas ventajas de estructuración son aplicables a los
programadores de sistemas y se ha comprobado que algunos sistemas operativos están
implementados como un conjunto de procesos

Semáforos 
Un semáforo es un objeto que es utilizado para sincronizar el acceso a un recurso compartido.
Los semáforos son una herramienta básica, pero potente y flexible, para hacer cumplir la exclusión
mutua y coordinar procesos. Sin embargo, puede resultar muy difícil construir un programa correcto por
medio de semáforos. La dificultad está en que las operaciones wait y signal deben distribuirse por todo
el programa y no es fácil advertir el efecto global de estas operaciones sobre los semáforos a los que
afectan. En los semáforos, tanto la exclusión mutua como la sincronización son responsabilidades del
programador.

Los semáforos permiten limitar el número de procesadores que acceden concurrentemente a un


recurso compartido, estableciendo un protocolo de adquisición (wait) y liberación (signal).

Funcionamiento de los Semáforos.

Para lograr el efecto deseado, se pueden contemplar los semáforos como variables que
tienen un valor entero sobre el que se definen las tres operaciones siguientes:
i.-Un semáforo puede inicializarse con un valor no negativo.
ii.-La operación wait decrementa el valor del semáforo. Si el valor se hace negativo, el
proceso que ejecuta el wait se bloquea.
iii.-La operación signal incrementa el valor del semáforo. Si el valor no es positivo, se
des-bloquea a un proceso bloqueado por una operación wait. Aparte de estas tres operaciones, no
hay forma de examinar o manipular los semáforos.

Monitores

Los monitores son estructuras de un lenguaje de programación que ofrecen una funcionalidad


equivalente a la de los semáforos y que son más fáciles de controlar.
Los monitores fueron propuestos por Brich Hansen y mejorados por Hoare para poder utilizar procesos
automáticos de sincronización. Un módulo monitor encapsula la mutua exclusión de datos y
procedimientos que pueden acceder a los datos protegidos. Los usuarios pueden hacer llamadas a
estos procedimientos usando al monitor como una tabla de estado para determinar cuándo proceder y
cuando suspender operaciones.
Los monitores ofrecen mayor seguridad (reliability), robustez y escalabilidad; complementan al
encapsulamiento de un objeto, sincronizando el acceso al mismo.

Las características básicas de un monitor son las siguientes:

 las variables de datos locales están solo accesibles para los procedimientos
d e l m o n i t o r y n o p a r a   procedimientos externos.
 Un proceso entra en el monitor invocando a uno de sus procedimientos
 Solo un proceso puede estar ejecutando en el monitor en un instante dado; cualquier otro proceso
que haya invocado al monitor quedara suspendido mientras espera a que el monitor esté disponible

Las dos primeras características recuerdan a las de los objetos del software orientado a objetos. En
realidad, un sistema operativo o lenguaje de programación orientado a objetos puede implementar un
monitor fácilmente como un objeto con características especiales. Si se cumple la norma de un
proceso cada vez, el monitor puede ofrecer un servicio de exclusión mutua. Las variables de datos del
monitor pueden ser accedidas solo por un proceso cada vez. Así pues, una estructura de datos
compartida puede protegerse situándola dentro de un monitor. Si los datos del monitor representan a
algún recurso, el monitor ofrecerá un servicio en exclusión mutua en el acceso a este recurso. Para que
resulten útiles en el proceso concurrente los monitores deben incluir herramientas de sincronización.
Por ejemplo, supóngase que un proceso llama a un monitor y, mientras está en el monitor, debe
suspenderse hasta que se cumpla alguna condición. Hace falta un servicio para que el proceso no solo
esté suspendido, sino que libere el monitor y otro proceso pueda entrar. Más tarde, cuando se cumpla
la condición y el monitor está de nuevo disponible, el proceso puede reanudarse y tiene que
permitírsele volver a entrar en el monitor en el punto de la  suspensión.
 Un monitor proporciona sincronización por medio de las variables de condición que se incluyen
dentro del monitor y que son accesibles sólo desde dentro. Hay dos funciones para operar con las
variables de condición: wait(c):
 Suspende la ejecución del proceso llamado bajo la condición c. El monitor está ahora disponible
para ser usado por otro proceso. signal(c)
 Reanuda la ejecución de algún proceso suspendido después de un wait bajo la misma condición. Si
hay varios procesos, elige uno de ellos; si no hay ninguno, no hace nada

Sección Crítica

La sección crítica, en programación concurrente, es la porción de código de un programa de


computador en la cual se accede a un recurso compartido (estructura de datos o dispositivo) que no
debe ser accedido por más de un hilo en ejecución. La sección crítica por lo general termina
en un tiempo determinado y el hilo, proceso o tarea sólo tendrá que esperar un período
determinado de tiempo para entrar. Se necesita un mecanismo de  sincronización en la entrada
y salida de la sección crítica para asegurar la utilización en exclusiva del recurso. El acceso concurrente
se controla teniendo cuidado de las variables que se modifican dentro y fuera de la sección crítica. La
sección crítica se utiliza por lo general cuando un programa multihilo actualiza múltiples variables sin un
hilo de ejecución separado que lleve los cambios conflictivos a esos datos. Una situación similar, la
sección crítica puede ser utilizada para asegurarse de que un recurso compartido, por
ejemplo, una impresora, puede ser accedida por un solo proceso a la vez.

El Problema de la Sección Crítica


El problema de la sección crítica es uno de los problemas que con mayor frecuencia aparece cuando se
ejecutan procesos concurrentes. La manera en cómo se implementan las secciones puede
variar dependiendo de los diversos sistemas operativos. Sólo un proceso puede estar en una
sección crítica a la vez. Los procesos concurrentes entran en conflicto cuando compiten por el uso del
mismo recurso, es decir, quieren acceder a un recurso al mismo tiempo. Y la ejecución de un
proceso puede influir en el comportamiento de los procesos que compiten y el sistema
operativo le asignará el recurso a uno de ellos y el otro tendrá que esperar.  P o r l o q u e e l
proceso que quede esperando, se retrasará, se bloqueara y en el peor de los
c a s o s n u n c a s e   terminará con éxito Es en estos procesos concurrentes, donde, se plantean
una serie de situaciones clásicas de comunicación y  sincronización, entre ellos el problema de la
sección crítica.

Solución a la Sección Crítica.


Para resolver el problema de la sección crítica es necesario utilizar algún mecanismo de
sincronización que permita a los procesos cooperar entre ellos sin problemas. Este mecanismo debe
proteger el código de la sección crítica y su funcionamiento básico es el siguiente:
 Cada proceso debe solicitar permiso para entrar en la sección crítica, mediante algún fragmento
de código que se denomina de forma genérica entrada en la sección crítica.
 Cuando un proceso sale de la sección crítica debe indicarlo mediante otro fragmento
de código que se denomina salida de la sección crítica. Este fragmento permitirá que
otros procesos entren a ejecutar el código de la sección crítica.
 Cualquier solución que se utilice para resolver este problema debe cumplir los tres requisitos
siguientes:
 Exclusión mutua: Si un proceso está ejecutando código de la sección crítica, ningún otro proceso
lo podrá hacer.
 Progreso: Si ningún proceso está ejecutando dentro de la sección crítica, la decisión de qué
proceso entra en la sección se hará sobre los procesos que desean entrar.
 Espera acotada: Debe haber un límite en el número de veces que se permite que los demás
procesos entrenan ejecutar código de la sección crítica después de que un proceso haya
efectuado una solicitud de entrada yantes de que se conceda la suya.

UNIDAD 6 GESTION DE MEMORIA PRINCIPAL

ORGANIZACION DE ALMACINAMIENTO
 
El almacenamiento principal, es un recurso relativamente caro, por lo que los diseñadores de sistemas
operativos intentan optimizar su uso.  En los últimos años ha disminuido su costo, pero sigue siendo
más caro en relación con el almacenamiento secundario, y las aplicaciones actuales requieren
cantidades mayores de almacenamiento principal.

La organización del almacenamiento es la forma de considerar el almacenamiento principal, bajo los


siguientes esquemas de organización:

-    sistemas de usuario único

-    multiprogramación con particiones fijas, con traducción y carga con reubicación

-    multiprogramación con particiones fijas, con traducción y carga absoluta

-    multiprogramación con particiones variables

-    sistemas de intercambio de almacenamiento

Sea cual sea el esquema de organización de la memoria que se adopte, hay que decidir qué estrategias
de deben utilizar para obtener un rendimiento óptimo de la misma
ADMINISTRACION

           Es una tarea realizada por el sistema operativo que consiste en gestionar la jerarquía de
memoria, en cargar y descargar procesos en memoria principal para que sean ejecutados. Para ello el
sistema operativo gestiona lo que se conoce como MMU o Unidad de Administración de Memoria, el
cual es un dispositivo hardware que transforma las direcciones lógicas en físicas.
            Su trabajo es seguir la pista de qué partes de la memoria están en uso y cuales no lo están, con
el fin de poder asignar memoria a los procesos cuando la necesiten, y recuperar esa memoria cuando
dejen de necesitarla, así como gestionar el intercambio entre memoria principal y el disco cuando la
memoria principal resulte demasiado pequeña para contener a todos los procesos
 

 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.

 
JERARQUIA

Se refiere a los diferentes medios de almacenamiento. Pueden ser sólo dos: disco duro y disco óptico, o
bien disco duro y cinta. Más usual son tres: disco duro, disco óptico y cinta. En todos los casos, los
medios removibles se manejan en forma automática por los dispositivos robóticos correspondientes:
una jukebox para discos ópticos, o bien una biblioteca automatizada o autocargardor para cinta.
Los programas y datos tienen que estar en la memoria principal para poder ejecutarse o ser
referenciados. Los programas y datos que no son necesarios de inmediato pueden mantenerse en el
almacenamiento secundario. El almacenamiento principal es más costoso y menor que el secundario,
pero de acceso más rápido.

Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el
movimiento de programas y datos entre niveles (ver Figura). 

PARTICIONES
Es el nombre que recibe cada una de las divisiones en una sola unidad física de almacenamiento de
datos dándole a cada partición un propio sistema de archivo llamado formato, la gran mayoría de los
sistemas operativos reconocen, utilizan y manipulan a una partición como un disco físico independiente
sabiendo que están en un solo disco físico. 

 Particiones Estáticas: Esta forma de gestión consiste en dividir la memoria en varias zonas,
pudiendo ser cada zona de un tamaño diferente. Esto se ilustra en la figura 6.3. El tamaño de las
zonas podrá ser modificado eventualmente por algún usuario responsable de la administración
del ordenador.

Los trabajos se traducían mediante compiladores y ensambladores absolutos, para ejecutarse en


una partición específica. Una vez introducido un proceso en una partición, permanece en ella hasta su
finalización. Si un trabajo se iniciaba, y la partición para la que estaba compilado estaba ocupada, tenía
que esperar, aunque estuvieran libres otras particiones. Esto provoca una pérdida de eficiencia.

 Particiones Dinámica: El esquema del registro base y límite sigue siendo válido para la
reasignación y la protección. Otro tema a tener en cuenta es la cantidad de memoria por asignar
a un proceso recién creado. Si los procesos se crean con un tamaño fijo invariante, la asignación
es muy sencilla, se asigna exactamente lo que se necesite.
FRAGMENTACION

              Es cuando en la memoria principal quedan espacios sin utilizar para algún proceso o dato, es
el mismo concepto para la memoria secundaria. Ocurre comúnmente cuando se realiza un intercambio
entre el área swap y la memoria principal para utilizar distintos procesos. También puede ocurre al
utilizar distintos métodos de administración de memoria, como por ejemplo la paginación y
segmentación.
La paginación consiste en poder utilizar distintas direcciones de memoria para los procesos o datos
utilizando páginas y marcos haciendo que la fragmentación interna sea mínima por que se da en la
última página del proceso o dato y la externa nula.
En la segmentación, la cual es la división lógica de los procesos o datos a través de bloques de tamaño
variable llamados segmentos, conformados por direcciones virtuales con sus respectivos segmentos y
desplazamientos. El tipo de fragmentación que ocurre en este método de administración de memoria es
la externa, dado que los bloques de este método son de tamaño variable.

 Fragmentación Interna: Es la asignación de espacios de memoria de inferior tamaño al espacio


que requiere el proceso o dato, esto es producido por la propia asignación de un espacio de
mayor tamaño, o el almacenamiento de un proceso o dato bastante pequeño. Esta
fragmentación puede corregirse utilizando el mejor método para la administración de memoria,
aun así, siempre representara problemas debido a diversos factores, entre estos la aleatoriedad
del tamaño de los procesos y datos y la relación que surge entre la memoria que se está
desperdiciando y la velocidad de la memoria, esto porque ante una gran cantidad de bloques
para los procesos es mayor el tiempo de procesamiento para los procesos o datos que están
dispersos por la memoria principal.

 Fragmentación Externa: Son los espacios de memoria que no están asignados a ningún proceso
o programa debido a que son de tamaño pequeño para la información que debe de almacenar o
porque están dispersos en posiciones de memoria que no será utilizada por el método de
administración de memoria.
Estrategias para corregir la fragmentación

Condensación: Consiste en unir los espacios libres de memoria para atender una petición de
almacenamiento dando solución a la fragmentación externa.

Compactación: Da solución a la fragmentación externa y consiste en desplazar los espacios utilizados


en la memoria para tener el espacio sin asignar agrupado en una sola dirección de memoria.

Estrategia de colocación: Determina en qué posición se colocarán los espacios por asignar, estas son:

 Primer ajuste: En esta estrategia se utiliza el primer espacio en memoria que se encuentra en
libre en el que el proceso o dato pueda ser almacenado.
 Peor ajuste: En esta se almacena en el espacio de la memoria que sea de mayor tamaño.
 Mejor ajuste: Consiste en recorrer la memoria para encontrar el espacio de menor tamaño en la
cual el proceso o dato puede ser almacenado.

CONDENSACION

Esta técnica consiste en fusionar dos huecos de memoria libre adyacentes en uno sólo que tendrá
como capacidad la suma de los dos originales. Cuando un trabajo termina, el sistema operativo trata de
unir todos los espacios libres en uno solo, para tener un espacio suficiente para que pueda entrar otro
programa en memoria. Mediante la condensación de huecos se pueden recuperar los bloques
contiguos de almacenamiento más grande que sea posible. Gracias a esto, la velocidad de acceso es
mayor.
Por ejemplo, necesitamos 4K de nuestra memoria, pero tenemos dos huecos, cada uno de 2K. Unimos
los dos huecos y tenemos uno de 4K que nos sirve para almacenar este proceso.

COMPACTACION
Una forma de solucionar la fragmentación externa es usando compactación. Consiste en desplazar
todas las localizaciones de memoria ocupada a un extremo de la misma, así quedan dos partes bien
diferenciadas, la memoria ocupada y la memoria libre.
La compactación no siempre es posible, ya que es necesario que la relocalización sea dinámica y se
efectúa en el momento de la ejecución. Además, otro inconveniente que presenta es que es una técnica
costosa, ya que requiere recursos del sistema y puede provocar que el tiempo de respuesta aumente.
El sistema debe detener todo mientras efectúa la compresión, lo que puede afectar los tiempos de
respuesta.
 
ESTRATEGIAS DE COLOCACION

Permiten determinar en qué lugar de la memoria principal se deben colocar los programas y datos


entrantes.

Tipos: 

   Mejor Ajuste: Colocar el trabajo en el menor bloque en el que quepa.

   Primer Ajuste. Colocar el trabajo en el primer hueco de la lista de almacenamiento libre en el


que quepa.
 Peor Ajuste: Colocar el trabajo en el menor bloque en el que quepa.

ADMINISTRACION DE MEMORIA VIRTUAL


DEFINICION
Es un método mediante el cual, un sistema operativo simula tener más memoria principal que la que
existe físicamente. Para implementar la memoria virtual se utiliza un medio de almacenamiento
secundario de alta velocidad de acceso, generalmente en disco duro de la máquina. Un sistema de
memoria virtual se implementa utilizando paginación como método de administración de memoria
básica y algún mecanismo de intercambio (para descargar páginas de la memoria principal hacia el
disco duro y para cargar esas páginas de nuevo a la memoria).

La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria mucho
mayor que la memoria física de una máquina. Esta “ilusión” permite que los programas se hagan sin
tener en cuenta el tamaño exacto de la memoria física. La ilusión de la memoria virtual esta soportada
por el mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en
disco duro. Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal
forma que una pequeña parte de él, está en memoria real y el resto almacenado en el disco, y puede
ser referenciado fácilmente.

ESPACIO DE DIRECCIONES LOGICAS Y FISICAS


El concepto de espacio de direcciones lógicas vinculado a un espacio de direcciones físicas separado
es crucial para una buena gestión de memoria

 Dirección lógica: es la dirección que genera el proceso; también se conoce como dirección
virtual.
  Dirección física: dirección que percibe la unidad de memoria.

Las direcciones lógicas y físicas son iguales en los esquemas de vinculación en tiempo de compilación
y de carga; pero difieren en el esquema de vinculación en tiempo de ejecución.

PAGINACION

Tanto las particiones de tamaño fijo como las de tamaño variable hacen un uso ineficiente de la
memoria; las primeras generan fragmentación interna, mientras que las segundas originan
fragmentación externa. Supóngase, no obstante, que la memoria principal se encuentra particionada en
trozos iguales de tamaño fijo relativamente pequeños y que cada proceso está dividido también en
pequeños trozos de tamaño fijo y del mismo tamaño que los de memoria. En tal caso, los trozos del
proceso, conocidos como páginas, pueden asignarse a los trozos libres de memoria, conocidos como
marcos o marcos de página.

En un instante dado, algunos de los marcos de memoria están en uso y otros están libres. El sistema
operativo mantiene una lista de los marcos libres. El proceso A, almacenado en disco, consta de cuatro
páginas. Cuando llega el momento de cargar este proceso, el sistema operativo busca cuatro marcos
libres y carga las cuatro páginas del proceso A en los cuatro marcos. El proceso B, que consta de tres
páginas y el proceso C, que consta de cuatro, se cargan a continuación. Más tarde, el proceso B se
suspende y es expulsado de memoria principal. Después, todos los procesos de memoria principal
están bloqueados y el sistema operativo tiene que traer un nuevo proceso, el proceso D, que consta de
cinco páginas.

Supóngase ahora, como en este ejemplo, que no hay suficientes marcos sin usar contiguos para
albergar al proceso. ¿Impedirá esto al sistema operativo cargar D? La respuesta es negativa, puesto
que se puede emplear de nuevo el concepto de dirección lógica. Ya no será suficiente con un simple
registro base. En su lugar, el sistema operativo mantiene una tabla de páginas para cada proceso. La
tabla de páginas muestra la posición del marco de cada página del proceso. Dentro del programa, cada
dirección lógica constará de un número de página y de un desplazamiento dentro de la página.
Recuérdese que, en el caso de la partición simple, una dirección lógica era la posición de una palabra
relativa al comienzo del programa; el procesador realizaba la traducción a dirección física. Con
paginación, el hardware del procesador también realiza la traducción de direcciones lógicas a físicas.
Ahora, el procesador debe saber cómo acceder a la tabla de páginas del proceso actual. Dada una
dirección lógica (número de página, desplazamiento), el procesador emplea la tabla de páginas para
obtener una dirección física (número de marco, desplazamiento).

                           
SEGMENTACIÓN

Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división
lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable
denominados segmentos. Cada uno de ellos tienen información lógica del programa: subrutina, arreglo,
etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que
generalmente reflejan la división lógica del programa. 
La segmentación permite alcanzar los siguientes objetivos:
1. Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y
recopilaciones, sin afectar por ello al resto del programa.

2. Estructuras de datos de largo variable: ejm. Stack, donde cada estructura tiene su propio tamaño y
este puede variar.

3. Protección: se puede proteger los módulos del segmento contra accesos no autorizados.

4. Comparación: dos o más procesos pueden ser un mismo segmento, bajo reglas de protección;
aunque no sean propietarios de los mismos

5. Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de
comenzar a ejecutar.

PAGINACION POR DEMANDA

La paginación por demanda introdujo la idea de cargar más una porción del programa en la memoria
para su procesamiento.
 Con la paginación por de manda, las tareas siguen divididas en páginas de tamaño igual que
inicialmente residen en almacenamiento secundarios.

Cuando se empieza a ejecutar la tarea, sus páginas pasan a la memoria solo conforme se necesitan. La
paginación pro demanda aprovecha el hecho que los programas se escriben de manera secuencial, de
manera que mientras una sección o modulo está en proceso, los demás están ocioso (madnick &
donovan, 1974).Una de las innovaciones de mayor importancia en la paginación por demanda es que
hizo posible el amplio uso de la memoria virtual, el esquema de paginación por demanda permite al
usuario ejecuta tareas con menos memoria principal de lo que se requería si el sistema operativo
estuviera utilizando el esquema de asignación de memoria paginada que ya se describió.
FALLO DE PÁGINA
Un fallo de página es la secuencia de eventos que ocurren cuando un programa intenta acceder a datos
(o código) que está en su espacio de direcciones, pero que no está actualmente ubicado en la RAM del
sistema. El sistema operativo debe manejar los fallos de página haciendo residentes en memoria los
datos accedidos, permitiendo de esta manera que el programa continúe la operación como que si el
fallo de página nunca ocurrió.

En el caso de nuestra aplicación hipotética, el CPU primeramente presenta la dirección deseada


(12374) al MMU. Sin embargo, el MMU no tiene traducción para esta dirección. Por tanto, interrumpe al
CPU y causa que se ejecute un software, conocido como el manejador de fallos de página. El
manejador de fallos de página determina lo que se debe hacer para resolver esta falla de página. 

 El mismo puede:

 Encontrar dónde reside la página deseada en disco y la lee (este es usualmente el caso si el fallo
de página es por una página de código)
 Determina que la página deseada ya está en RAM (pero no está asignada al proceso actual) y
reconfigura el MMU para que apunte a el
 Apunta a una página especial que solamente contiene ceros y asigna una nueva página para el
proceso solamente si este intenta alguna vez escribir a la página especial (esto se llama una
página de copia en escritura y es utilizada a menudo por páginas que contienen datos
inicializados a cero)

 Obtener la página deseada desde otro lugar (lo que se discute en detalle más adelante)

 Mientras que las primeras tres acciones son relativamente sencillas, la última no lo es. Por eso
necesitamos cubrir algunos tópicos adicionales.
 
SEGMENTACION PAGINADA

Paginación y segmentación son técnicas diferentes, cada una de las cuales busca brindar las ventajas
enunciadas anteriormente.
Para la segmentación se necesita que estén cargadas en memoria, áreas de tamaños variables. Si se
requiere cargar un segmento en memoria; que antes estuvo en ella y fue removido a memoria
secundaria; se necesita encontrar una región de la memoria lo suficientemente grande para contenerlo,
lo cual no es siempre factible; en cambio "recargar" una página implica solo encontrar un merco de
página disponible.

A nivel de paginación, si quiere referenciar en forma cíclicas n páginas, estas deberán ser cargadas una
a una generándose varias interrupciones por fallas de páginas; bajo segmentación, esta página podría
conformar un solo segmento, ocurriendo una sola interrupción, por falla de segmento. No obstante, si
bajo segmentación, se desea acceder un área muy pequeña dentro de un segmento muy grande, este
deberá cargarse completamente en memoria, desperdiciándose memoria; bajo paginación solo se
cargará la página que contiene los ítems referenciados.
Puede hacerse una combinación de segmentación y paginación para obtener las ventajas de ambas.
En lugar de tratar un segmento como una unidad contigua, este puede dividirse en páginas. Cada
segmento puede ser descrito por su propia tabla de páginas.

Los segmentos son usualmente múltiplos de páginas en tamaño, y no es necesario que todas las
páginas se encuentren en memoria principal a la vez; además las páginas de un mismo segmento,
aunque se encuentren contiguas en memoria virtual; no necesitan estarlo en memoria real. Las
direcciones tienen tres componentes: (s, p, d), donde la primera indica el número del segmento, la
segunda el número de la página dentro del segmento y la tercera el desplazamiento dentro de la
página. Se deberán usar varias tablas:

 SMT (tabla de mapas de segmentos): una para cada proceso. En cada entrada de la SMT se
almacena la información descrita bajo segmentación pura, pero en el campo de dirección se
indicará la dirección de la PMT (tabla de mapas de páginas) que describe a las diferentes
páginas de cada segmento.
 PMT (tabla de mapas de páginas): una por segmento; cada entrada de la PMT describe una
página de un segmento; en la forma que se presentó la página pura.
 TBM (tabla de bloques de memoria): para controlar asignación de páginas por parte del sistema
operativo.
 JT (tabla de Jobs): que contiene las direcciones de comienzo de cada una de las SMT de los
procesos que se ejecutan en memoria.

 En el caso, de que un segmento sea de tamaño inferior o igual al de una página, no se necesita tener
la correspondiente PMT, actuándose en igual forma que bajo segmentación pura; puede arreglarse un
bit adicional (S) a cada entrada de la SMT, que indicara si el segmento esta paginado o no.
PAGINACION SEGMENTADA

Es la combinación de segmentación y paginación.

   Los segmentos se dividen páginas y se meten en marcos o particiones.


   Mantiene la visión original del espacio lógico de los procesos. 
  Cualquier marco es igualmente bueno.
 El desplazamiento del segmento se descompone de un número de página y un desplazamiento
de la misma.
UNIDAD 7 GESTION DE MEMORIA SECUNDARIA

A diferencia de la Memoria Principal la Memoria Secundaria, auxiliar, masiva, externa no es tan veloz
pero tiene gran capacidad para almacenar información en dispositivos tales como discos, cintas
magnéticas, discos ópticos. Frecuentemente los datos y programas se graban en la Memoria
Secundaria, de esta forma, cuando se ejecuta varias veces un programa o se utilicen repetidamente
unos datos, no es necesario darlos de nuevo a través del dispositivo de entrada.
      En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la
cantidad de información que se transfiere físicamente en cada operación de acceso (lectura o escritura).
El Sistema Operativo o Sistema de Gestión de Archivos es el encargado de la asignación de bloques a
archivos, de lo que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de Memoria
Secundaria a los archivos y, en segundo lugar, es necesario guardar constancia del espacio disponible
para asignar.

ARCHIVO
 En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la cantidad
de información que se transfiere físicamente en cada operación de acceso (lectura o escritura).
El Sistema Operativo o Sistema de Gestión de Archivos es el encargado de la asignación de bloques a
archivos, de lo que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de Memoria
Secundaria a los archivos y, en segundo lugar, es necesario guardar constancia del espacio disponible
para asignar.
 
Características de los Archivos
El sistema de archivos permite al usuario especificar alguna estructura adicional a los archivos, aparte
de su estructura básica (bits, bytes).
Algunos sistemas operativos permiten el uso del ALIAS, lo cual hace que los usuarios hagan referencia
a un mismo archivo físico mediante nombres lógicos diferentes.
Cuando se utiliza un archivo, el descriptor es copiado en memoria principal para las referencias que a
éste se hagan.
Nombre: Nombre asignado por el usuario.
Atributos
Atributos de un archivo

Los atributos de un archivo son: el nombre, el tipo, la localización (donde se ubica), derechos de
acceso, tiempo de creación/acceso/modificación, UID del creador, etc.
Podemos también citar como características las siguientes:

 Volatilidad, que es la frecuencia con la que se agregan y borran ítems en un archivo;


 Actividad, que es el porcentaje de ítems accedidos durante un determinado período detiempo;
 Medida, que es la cantidad de información almacenada en el archivo
Bloque de Archivo
Existen varios mecanismos para acceder los archivos: Directorios, descriptores de archivos,
mecanismos de control de acceso y procedimientos para abrir y cerrar archivos.

ü Descriptores de archivos.

ü El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene


información que el sistema necesita para administrar un archivo.

ü Es una estructura muy dependiente del sistema.

ü Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al


almacenamiento primario al abrir el archivo.

ü El descriptor de archivos es controlado por el sistema de archivos ; el usuario puede no hacer


referencia directa a él.

A cada uno de los archivos se le asigna un descriptor el cual contendrá toda la información que
necesitará el sistema de archivos para ejecutar con él los comandos que se le soliciten. El descriptor se
mantendrá en memoria principal desde que el archivo es abierto hasta que sea cerrado, y debe tener al
menos la siguiente información, identificación del archivo, lugar de almacenamiento, información del
modo de acceso.

Identificación del archivo. Consiste de dos partes que es el nombre simbólico que es el que le da el
usuario y un identificador interno que es asignado por el sistema operativo (número). Lugar de
almacenamiento, así como el tamaño del archivo. Modo de acceso. Se debe indicar en forma explícita
quien puede acceder el archivo y conque derecho.
 
Operaciones Sobre El Bloque De Control De Archivo
 
El sistema operativo brinda servicios para la manipulación de archivos:

 Crear y abrir: provee la creación de un archivo en el sistema de archivos. Se debe proveer un


nombre del nuevo archivo. Además, se provee la apertura de un archivo ya existente para
acceder o modificar la información.

 Escribir: poder escribir información en un archivo previamente abierto.

  Leer: poder leer información en un archivo previamente abierto.

 Reposicionar dentro de un archivo: lograr acceder a cualquier parte del archivo.

 Eliminar: destruir el archivo a nivel del sistema de archivo.

 Truncar: eliminar la información que está dentro del archivo, pero sin eliminar  el archivo.

Por lo general, los sistemas tienen una tabla de archivos abierto por proceso. Estos archivos se abren a
través de un llamado al sistema y, de esa forma, se puede operar con ellos (leer, escribir, etc.).
Finalmente, el archivo es cerrado antes que finalice la ejecución del proceso.
Tener un archivo abierto para el sistema implica mantener una estructura que tenga por lo menos:
 puntero de archivo (file pointer) para operaciones de lectura y escritura, contador de archivos
abiertos
 ubicación del archivo en el dispositivo, derechos de acceso.
 Algunos sistemas proveen sistema de acceso único a un archivo (lock) por parte de los procesos.
 A su vez, varios sistemas implementan el mapeo de archivos al espacio de usuario del proceso.
De esta forma, no es necesario realizar read y write para operar sobre el archivo, sino accederlo
directamente. Esto trae el beneficio de no hacer el llamado a sistema para operar sobre el
archivo.

Directorio
 
      Un directorio es una agrupación de archivos de datos, atendiendo a su contenido, a su propósito o a
cualquier criterio que decida el usuario. Técnicamente el directorio almacena información acerca de los
archivos que contiene: como los atributos de los archivos o dónde se encuentran físicamente en el
dispositivo de almacenamiento.

OBJETIVOS DE ARCHIVO

OBJETIVO GENERAL

   Dar a conocer a cada uno de los dispositivos de almacenamiento que son parte de la memoria
secundaria de una CPU.

OBJETIVOS ESPECÍFICOS

  Determinar las características de cada uno de los dispositivos de almacenamiento y comprender


su funcionamiento
   Demostrar el avance que ha tenido la tecnología durante la creación de las diversas memorias
secundarias.
   Distinguir las ventajas y desventajas de los diversos dispositivos de almacenamiento.
 Explicar los métodos de diagnósticos que incorpora el sistema operativo Windows para mantener
un disco duro en buen estado.
SISTEMA JERARJICO DE LOS DIRECTORIOS 
El directorio contiene un conjunto de datos por cada archivo referenciado.
Una posibilidad es que el directorio contenga por cada archivo referenciado:

 El nombre.
 Sus atributos.
 Las direcciones en disco donde se almacenan los datos.

Otra posibilidad es que cada entrada del directorio contenga:

 El nombre del archivo.


 Un apuntador a otra estructura de datos donde se encuentran los atributos y las direcciones en
disco.

Al abrir un archivo el S. O.:

 Busca en su directorio el nombre del archivo.


 Extrae los atributos y direcciones en disco.
 Graba esta información en una tabla de memoria real.
 Todas las referencias subsecuentes al archivo utilizarán la información de la memoria principal.

El número y organización de directorios varía de sistema en sistema:

 Directorio único: el sistema tiene un solo directorio con todos los archivos de todos los usuarios.

      .               

 Un directorio por usuario: el sistema habilita un solo directorio por cada usuario.

              
 Un árbol de directorios por usuario: el sistema permite que cada usuario tenga tantos directorios
como necesite, respetando una jerarquía general.

UNIDAD 8 GESTION DE ENTRADA Y SALIDA

Gestión de Entrada y Salida

       Entrada y salida designa cualquier transferencia de información desde o hacia memoria o el
procesador. Comprende tanto la transferencia entre diversos niveles de la memoria como la
comunicación con los periféricos. El sistema de entrada y salida es la parte del S.O. encargada de la
administración de los dispositivos de e/s. Este sistema proporciona un medio para tratar los archivos y
dispositivos de manera uniforme, actuando como interfaz (debe ser independiente, sencilla y fácil de
utilizar) entre los usuarios y los dispositivos de e/s que pueden ser manipulados por órdenes de alto
nivel

Principios De Hardware De E/S

     Existen tres características que agudizan el problema de entrada y salida: Operación asincrónica
debido a que los tiempos de transacción de la CPU con la memoria y los dispositivos de E/S son muy
diferentes. Los dispositivos de E/S actúan asincrónicamente respecto a la unidad lógica. Diferencia de
velocidades entre los dispositivos de E/S y la CPU de memoria, los dispositivos más rápidos se
conectan mediante canales especializados utilizando técnicas de DMA y los más lentos se controlan
desde la CPU. Conversiones de formato entre los periféricos y el sistema, debido a que mientras unos
dispositivos necesitan transferencias en serie los otros transmiten en paralelo.

 
Dispositivos De E/S

Estos dispositivos se dividen en dos categorías:

 De Bloque: asociados a los dispositivos de alta velocidad, que transmiten datos mediante el
DMA.
 Carácter: controlados por la CPU y transmiten carácter a carácter.

Controladores de Dispositivo

 Las unidades de E/S tienen una parte mecánica que es el propio dispositivo y otra electrónica
que se llama controlador del dispositivo y actúa como intermediario entre la computadora y los
dispositivos.
 Las funciones que realiza el controlador y el periférico dependen de cada tipo de dispositivo.
 El controlador convierte el flujo de bits en serie transmitidos desde un dispositivo en un bloque de
bytes para la CPU y realizar las correcciones de los errores que se puedan cometer en la
transmisión.
 El controlador dispone de tres capas funcionales: La interfaz del bus, el controlador y la interfaz
del dispositivo.

Principios de Software de E/S

      Consiste en organizar el software como una serie de estratos que oculten las características del
hardware y presente una interfaz sencilla a los usuarios. Es importante resaltar la independencia del
dispositivo, el control de errores, y los dispositivos con solo un propósito y dispositivos compartibles por
varios usuarios al mismo tiempo. Para lograr esto el software se estructura en 4 niveles:

 Manejadores de interrupciones.
 Manejadores de dispositivos.
 Software de E/S independiente del dispositivo
 Software del usuario.

Drivers

Un driver o controlador de dispositivo es un programa que facilita la comunicación entre un sistema


operativo y un periférico.

En informática se le llama controlador de dispositivo, driver, o simplemente controlador al software que


se encarga de permitir que un sistema interactúe con un periférico como una grabadora de CD o DVD,
una cámara, un joystick y muchos otros. A menudo, el driver se ocupa de establecer una interfaz para la
utilización del hardware recientemente instalado. En definitiva, provee de instrucciones al ordenador
respecto de cómo comunicarse con el nuevo dispositivo. Un driver no siempre es necesario para el uso
del nuevo hardware, pero casi siempre es recomendada su instalación para evitar problemas futuros.
Básicamente, un controlador de este tipo brinda al equipo de seguridad mejorada para el control del
periférico, una experiencia de usuario más fácil y útil y ahorro de tiempo y costos económicos.

Por ello, el responsable del desarrollo de hardware suele diseñar también el driver, de forma de
entregarle al cliente un producto integral que pueda ser rápida y sencillamente instalado y puesto en
marcha sin mayores inconvenientes ni necesidad de soporte técnico. En la mayoría de las ocasiones,
junto con la adquisición del hardware se obtendrá en el paquete los drivers necesarios para su
utilización. En otros casos, el controlador de dispositivo puede descargarse del sitio web del
desarrollador para su posterior instalación. Los drivers pueden ser pagos o gratuitos.
En algunos casos, incluso, usuarios del hardware pueden llegar a desarrollar drivers o controladores
mejorados para utilizarlo en determinados sistemas o bajo condiciones específicas.

Por su función clave en la utilización de todo tipo de hardware desde lo más básico a lo más sofisticado
para un ordenador, un driver también puede ocasionar fallos graves en el sistema si la instalación no es
eficiente u ocurren otro tipo de problemas de compatibilidades. Un driver defectuoso puede dañar al
sistema o incluso inutilizar al mismo dispositivo.

Paquetes de Entrada y Salida

Un sistema de gestión de paquetes, también conocido como gestor de paquetes, es una colección de
herramientas que sirven para automatizar el proceso de instalación, actualización, configuración y
eliminación de paquetes de software. El término se usa comúnmente para referirse a los gestores de
paquetes en sistemas Unix-like, especialmente GNU/Linux, ya que se apoyan considerablemente en
estos sistemas de gestión de paquetes.

En estos sistemas, el software se distribuye en forma de paquetes, frecuentemente encapsulado en un


solo fichero. Estos paquetes incluyen otra información importante, además del software mismo, como
pueden ser el nombre completo, una descripción de su funcionalidad, el número de versión, el
distribuidor del software, la suma de verificación y una lista de otros paquetes requeridos para el
correcto funcionamiento del software. Esta meta información se introduce normalmente en una base de
datos de paquetes local.

UNIDAD 9 SEGURIDAD DE LOS SISTEMAS OPERATIVOS

SEGURIDAD FISICA

Cuando hablamos de seguridad física nos referimos a todos aquellos mecanismos --generalmente de
prevención y detección-- destinados a proteger físicamente cualquier recurso del sistema; estos
recursos son desde un simple teclado hasta una cinta de backup con toda la información que hay en el
sistema, pasando por la propia CPU de la máquina.

Dependiendo del entorno y los sistemas a proteger esta seguridad será más o menos importante y
restrictiva, aunque siempre deberemos tenerla en cuenta.

A continuación, mencionaremos algunos de los problemas de seguridad física con los que nos podemos
enfrentar y las medidas que podemos tomar para evitarlos o al menos minimizar su impacto.

Protección del hardware


El hardware es frecuentemente el elemento más caro de todo sistema informático y por tanto las
medidas encaminadas a asegurar su integridad son una parte importante de la seguridad física de
cualquier organización.

Problemas a los que nos enfrentamos:

Acceso físico
Para la prevención hay soluciones para todos los gustos y de todos los precios:
analizadores de retina,
tarjetas inteligentes,
videocámaras,
vigilantes jurados,

Desastres naturales
Terremotos y vibraciones
Tormentas eléctricas
Inundaciones y humedad
Incendios y humos

Alteraciones del entorno


No situar equipos en sitios altos para evitar caídas,
No colocar elementos móviles sobre los equipos para evitar que caigan sobre ellos,
Separar los equipos de las ventanas para evitar que caigan por ellas o qué objetos lanzados desde el
exterior los dañen,
Utilizar fijaciones para elementos críticos,
Colocar los equipos sobre plataformas de goma para que esta absorba las vibraciones,

SEGURIDAD ADMINISTRATIVA

ESTA SE BASA EN POLÍTICAS Y NORMAS QUE SE DEBEN IMPLANTAR Y SEGUIR. CADA


POLÍTICA Y PROCEDIMIENTO DEBE TENER UNA SECCIÓN QUE DEFINA SU APACIBILIDAD. POR
ASÍ DECIR: UNA POLÍTICA DE SEGURIDAD DEBE APLICARSE A TODOS LOS SISTEMAS DE
CÓMPUTO Y REDES. UNA POLÍTICA DE INFORMACIÓN, PUEDE APLICARSE A TODOS LOS
EMPLEADOS.

Reglamento de la Ley Federal de Protección de Datos Personales en Posesión de Particulares

Definiciones como: entorno digital, medidas de seguridad (física, administrativas y técnicas), así como
soporte electrónico
Aplicación territorial y extraterritorial de la ley y su reglamento
Formas de recabar el consentimiento con respecto al Aviso de Privacidad
Medidas compensatorias: el cómo, cuándo, quién y cuánto; la intervención del IFAI en éstas y las
modalidades de proporcionarlas
Definición de obligaciones del “responsable” y del “encargado”
Tratamiento en cloud computing
Medidas de seguridad: las 10 acciones a realizar en un plazo de 18 meses
Transferencias nacionales e internacionales: cómo y cuándo
Mecanismos de autorregulación, códigos de ética y entidades certificadoras
Procedimiento para hacer valer Derechos ARCO y, en consecuencia, la parte procesal en caso de
controversia
Auditoria: sí, como ya se los había dicho ésta podrá llegar a durar ¡hasta 180 días!
Las sanciones, cómo se impondrán y por supuesto, ante quién impugnarlas.

SEGURIDAD LOGICA O FUNCIONAL

La 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.


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.

También podría gustarte