Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Antologia Completa

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 75

Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Antología de Sistemas
Operativos I

Alumno: DE LA CRUZ LEYVA CHRISTIAN AXEL


Semestre: 4TO SEMESTRE
Grupo: 6401

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Contenido
Sistemas Operativos.....................................................................................................4

1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS...............................................4

1.1. Definición y concepto.........................................................................................4

1.2. Funciones y características................................................................................5

1.3. Evolución histórica..............................................................................................7

1.4. Clasificación........................................................................................................8

1.5. Estructura: niveles o estratos de diseño..........................................................11

1.6. Núcleo...............................................................................................................12

2. ADMINISTRACIÓN DE PROCESOS Y DEL PROCESADOR...............................12

2.1. Concepto de proceso.......................................................................................12

2.2. Estados y transiciones de los procesos...........................................................14

2.3. Procesos ligeros: Hilos o hebras......................................................................17

2.4. Concurrencia y secuencialidad........................................................................19

2.5. Niveles, objetivos y criterios de planificación...................................................22

2.6. Técnicas de administración del planificador....................................................23

3. ADMINISTRACIÓN DE MEMORIA......................................................................25

3.1. Política y filosofía...........................................................................................25

3.2. Memoria real..................................................................................................26

3.3. Organización de memoria virtual...................................................................27

3.4. Administración de memoria virtual................................................................29

4. ADMINISTRACIÓN DE ENTRADA/SALIDA........................................................30

4.1. Dispositivos y manejadores de dispositivos..................................................30

4.2. Mecanismos y funciones de los manejadores de dispositivos: device drivers


31

4.3. Estructuras de datos para manejo de dispositivos........................................32

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

4.4. Operaciones de Entrada /salida....................................................................32

5. SISTEMAS DE ARCHIVOS.................................................................................34

5.1. Concepto........................................................................................................34

5.2. Noción de archivo real y virtual......................................................................35

5.3. Componentes de un sistema de archivos.....................................................36

5.4. Organización lógica y física...........................................................................39

5.5. Mecanismos de acceso a los archivos..........................................................42

5.6. Manejo de espacio en memoria secundaria..................................................44

5.7. Modelo jerárquico..........................................................................................47

6. PROTECCIÓN Y SEGURIDAD......................................................................................54

6.1. Concepto y objetivos de protección...................................................................54

6.2. Funciones del sistema de protección..................................................................55

6.3. Implantación de matrices de acceso..................................................................56

6.4. Protección basada en el lenguaje.......................................................................59

6.5. Concepto de seguridad.....................................................................................63

6.6. Clasificaciones de la seguridad...........................................................................66

6.7. Validación y amenazas al sistema......................................................................68

6.8. Cifrado.............................................................................................................71

7. REFERENCIAS:.........................................................................................................75

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Sistemas Operativos

1. INTRODUCCIÓN A
LOS SISTEMAS
OPERATIVOS

1.1. Definición y concepto

Un Sistema Operativo (SO) es un programa (software) que cuando arrancamos o


iniciamos el ordenador se encarga de gestionar todos los recursos del sistema
informático, tanto del hardware (partes físicas, disco duro, pantalla, teclado, etc.)
como del software (programas e instrucciones), permitiendo así la comunicación
entre el usuario y el ordenador.

Todos las PC, portátiles, tablets, Smartphone y servidores tienen y necesitan un


sistema operativo.

Los otros programas son llamados aplicaciones. Resumiendo, un SO es el


encargado de gestionar el software y el hardware de un ordenador o computadora.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

En su sentido más general, un SO es un software que permite a un usuario


ejecutar otras aplicaciones en un dispositivo informático (ordenador, Smartphone,
Tablet, etc.).

Los sistemas operativos generalmente vienen precargados en cualquier


ordenador cuando lo compramos. La mayoría de la gente usa el sistema operativo
que viene en su ordenador o móvil, pero es posible actualizarlo o incluso cambiar
el sistema operativo por otro diferente.

1.2. Funciones y características

Los sistemas operativos utilizan imágenes y botones para poder comunicarnos con
el ordenador de forma sencilla y fácil para decirle lo que queremos hacer en cada
momento a nuestro ordenador.

Su función principal es la de darnos las herramientas necesarias para poder


controlar nuestra computadora y poder hacer uso de ella, de la forma más cómoda
y sencilla posible.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Las funciones básicas del Sistema Operativo son administrar los recursos del
ordenador, coordinar el hardware y organizar archivos y directorios en los
dispositivos de almacenamiento de nuestro ordenador.

Algunas cosas más concretas que puede realizar un Sistema Operativo son:

- El sistema operativo es la única gran pieza de software que ejecuta los


programas y se encarga de todo lo demás. Por ejemplo, el sistema operativo
controla los archivos y otros recursos a los que pueden acceder estos programas
una vez ejecutados.

- Cuando tenemos múltiples programas que se pueden ejecutar al mismo tiempo,


el sistema operativo determina qué aplicaciones se deben ejecutar en qué orden
y cuánto tiempo.

- Gestiona el intercambio de memoria interna entre múltiples aplicaciones.

- Se ocupa de la entrada y la salida de los datos desde y hacia los dispositivos de


hardware conectados, tales como discos duros, impresoras, puertos de
comunicación, teclado, etc.

- Envía mensajes a cada aplicación o usuario (o a un operador del sistema) sobre


el estado de funcionamiento y los errores que se hayan podido producir.

- En los equipos que pueden proporcionar procesamiento en paralelo, un sistema


operativo puede manejar la forma de dividir el programa para que se ejecute en
más de un procesador a la vez.

Un ejemplo: cuando una aplicación quiere imprimir algo, entrega esa tarea al
sistema operativo.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

El sistema operativo envía las instrucciones a la impresora, utilizando los


controladores de la impresora para enviar las señales correctas. La aplicación que
está imprimiendo no tiene que preocuparse por qué impresora tiene que imprimir o
entender cómo funciona esa impresora. El sistema operativo maneja todos los
detalles.

1.3. Evolución histórica

Los primeros ordenadores no tenían sistemas operativos. Cada programa que se


ejecutaba en estos primeros ordenadores tenía que incluir todo el código
necesario para ejecutarse en el ordenador, comunicarse con el hardware
conectado y realizar el cálculo que el programa estaba destinado a realizar. Esta
situación hizo que incluso los programas más simples, se convirtieran en muy
complejos.

En respuesta a este problema, los propietarios de las computadoras centrales


comenzaron a desarrollar un software de sistema que facilitase la escritura y la
ejecución de los programas que incluía la computadora, y así nacieron los
primeros sistemas operativos.

El primer sistema operativo fue creado por General Motors en 1956 para ejecutar
una sola computadora central IBM. En la década de 1960, IBM fue el primer
fabricante de computadoras en asumir la tarea de desarrollar sistemas operativos
y comenzó a distribuir sistemas operativos incluidos en sus ordenadores.

Los primeros sistemas operativos se desarrollaron en la década de 1950, cuando


las computadoras solo podían ejecutar un programa a la vez. Más adelante en las
siguientes décadas, los ordenadores empezaron a incluir cada vez más programas
de software, a veces llamados bibliotecas, que se unieron para crear el inicio de
los sistemas operativos de hoy.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

A fines de la década de 1960, se desarrolló la primera versión del sistema


operativo Unix. Escrito en lenguaje de programación C, y disponible de forma
gratuita durante sus primeros años. Unix se adaptó fácilmente a los nuevos
sistemas y logró rápidamente una amplia aceptación.

Muchos sistemas operativos modernos, incluyendo Apple OS X y todas las


diferentes versiones de Linux, se remontan o basan en el SO Unix.
Microsoft Windows fue desarrollado en respuesta a una solicitud de IBM de un
sistema operativo para ejecutar su gama de ordenadores personales o PC.

El primer sistema operativo creado por Microsoft no se llamaba Windows , se


llamaba MS-DOS y se construyó en 1981 al comprar el sistema operativo 86-DOS
de Seattle Computer Products y modificarlo para cumplir con los requisitos de IBM.

El nombre de Windows se usó por primera vez en 1985 cuando se creó una
interfaz gráfica de usuario y se emparejó o unió con el MS-DOS.

Hoy en día Apple, OS X, Microsoft Windows y las diversas formas de Linux


(incluido Android) dominan la gran mayoría del mercado de sistemas operativos
modernos, como ya vimos anteriormente.

1.4. Clasificación

Ha nivel de usuario de un PC, podemos decir que hay dos tipos de Sistemas
Operativos: SO para PC y SO para Teléfonos Móviles.

Pero también hay una amplia familia de sistemas operativos categorizados según
los tipos de ordenadores que controlan y el tipo de aplicaciones que admiten. Las
4 categorías para este tipo de SO son: SO en tiempo real, SO Usuario Único
Tarea Única, SO Usuario Único Multitarea y SO Multiusuario.

Veamos uno a uno los diferentes tipos.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

SISTEMAS OPERATIVOS PARA PC


Los sistemas operativos para PC u ordenadores de sobremesa son muy variados
y hay muchos, pero los más utilizados son el Windows, el Mac y el LINUX. Aquí te
dejamos una imagen con los SO más usados para PC:

El uso de las ventanas es la insignia del sistema operativo de Microsoft, el


Windows, sistema estándar para ordenadores personales y de negocios.
Introducido en 1985, fue en gran parte el responsable de la rápida evolución de la
informática personal.

El Mac OS es el sistema operativo de Apple Macintosh para líneas de ordenadores


personales y estaciones de trabajo. La manzana es su logotipo.

Linux o GNU/Linux como sistema operativo fue diseñado para proporcionar a los
usuarios de computadoras personales una alternativa libre o de muy bajo costo.
Linux tiene la reputación de ser un sistema muy eficiente y rápido.

Hay muchas versiones diferentes, las más conocidas son Ubuntu o Fedora. Las
versiones se pueden modificar de forma libre por cualquier usuario.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

SISTEMAS OPERATIVOS MOVILES


Los sistemas operativos para móviles y tablets más utilizados son el Android y el
iOS, pero puedes ver más en la imagen de más abajo. Si quieres saber más sobre
estos sistemas operativos aquí te dejamos un enlace: Sistemas Operativos Moviles.

SO SEGÚN EL ORDENADOR Y EL TIPO DE APLICACIONES


De este tipo Tenemos:

- Sistema operativo en tiempo real (RTOS): los sistemas operativos en


tiempo real se utilizan para controlar maquinaria, instrumentos científicos y
sistemas industriales. Una parte muy importante de un RTOS es administrar los
recursos de la computadora para que una operación particular se ejecute
exactamente en la misma cantidad de tiempo, cada vez que ocurre.

- Usuario único, tarea única: como su nombre lo indica, este sistema


operativo está diseñado para administrar la computadora de modo que un usuario
pueda hacer una cosa a la vez.

- Usuario único, multitarea: este es el tipo de sistema operativo que la


mayoría de la gente usa en sus computadoras de escritorio y portátiles en la
actualidad. Windows de Microsoft y las plataformas MacOS de Apple son ejemplos
de sistemas operativos que permitirán que un solo usuario tenga varios programas
en funcionamiento al mismo tiempo.

- Multiusuario: un sistema operativo multiusuario permite que muchos


usuarios diferentes aprovechen los recursos de la computadora simultáneamente.

Los sistemas operativos Unix, VMS y mainframe, como MVS , son ejemplos de
sistemas operativos multiusuario.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

1.5. Estructura: niveles o estratos de diseño

La mayoría de los programas de software están diseñados para funcionar con el


sistema operativo de una sola empresa, por ejemplo, solo Windows (Microsoft) o
solo macOS (Apple).

Un software indicará claramente qué sistemas operativos admite y será muy


específico si es necesario incluyendo la versión o versiones de ese SO que
admite. Por ejemplo, un programa de software de producción de video podría decir
que es compatible con Windows 10, Windows 8 y Windows 7, pero no es
compatible con versiones anteriores de Windows como Windows Vista y XP.

Los desarrolladores de software también suelen lanzar versiones adicionales de su


software que funcionan con otros sistemas operativos o versiones diferentes.
Volviendo al ejemplo del programa de producción de video, esa compañía también
podría lanzar otra versión del programa con exactamente las mismas
características, pero para que funcione con macOS, el lugar de con Windows.

También es importante saber si su sistema operativo es de 32 bits o de 64 bits.


Es una pregunta común que te hacen al descargar software.

A continuación, puedes ver cómo saber si tu ordenador es de 32bits o 64bits en


Windows.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

1.6. Núcleo

- Kernel: es el programa del SO que podríamos decir que es el corazón de tu


sistema operativo, por ese motivo también se llama el "núcleo" del SO.

Kernel es lo primero que se carga cuando arranca el SO y proporciona un control


de nivel básico sobre todos los dispositivos de hardware de la computadora. Las
funciones principales incluyen leer datos de la memoria y escribir datos en la
memoria, procesar órdenes de ejecución, determinar cómo funcionan los
dispositivos como el monitor, el teclado y el mouse, cómo reciben y envían datos,
y cómo interpretar los datos recibidos de las redes.

El núcleo o Kernel generalmente se ejecuta en un área aislada para evitar que otro
software de la computadora lo manipule.

El kernel del sistema operativo es muy importante, pero es solo una parte del
sistema operativo.

2. ADMINISTRACIÓN
DE PROCESOS Y
DEL PROCESADOR

2.1. Concepto de proceso

Un proceso no es más que un programa en ejecución, e incluye los valores


actuales del contador de programa, los registros y las variables. Conceptualmente
cada uno de estos procesos tiene su propia CPU virtual.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Desde luego, en la realidad la verdadera CPU conmuta de un proceso a otro. Un


proceso es un concepto manejado por el sistema operativo que consiste en el
conjunto formado por:

Las instrucciones de un programa destinadas a ser ejecutadas por el


microprocesador. Su estado de ejecución en un momento dado, esto es, los
valores de los registros de la CPU para dicho programa.

Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.


Otra información que permite al sistema operativo su planificación.

Esta definición varía ligeramente en el caso de sistemas operativos multadillo,


donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida
por todos los hilos) y la información de planificación. Cada hilo consta de
instrucciones y estado de ejecución.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Los procesos son creados y destruidos por el sistema operativo, así como también
este se debe hacer cargo de la comunicación entre procesos, pero lo hace a
petición de otros procesos.

El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación


(folk). Los nuevos procesos pueden ser independientes y no compartir el espacio
de memoria con el proceso que los ha creado o ser creados en el mismo espacio
de memoria. En los sistemas operativos multihilo es posible crear tanto hilos como
procesos.

La diferencia estriba en que un proceso solamente puede crear hilos para sí


mismo y en que dichos hilos comparten toda la memoria reservada para el
proceso. En este modelo: todo software ejecutable de la computadora, lo que a
menudo incluye al sistema operativo, está organizado en una serie del proceso
secuenciales, o simplemente procesos.

La idea clava aquí es que un proceso es una actividad de algún tipo: tiene
programa, entrada, salida y un estado. Se puede compartir un procesador entre
varios procesos, usando algún algoritmo de planificación para determinar cuándo
debe de trabajar en un proceso para atender a uno distinto. Jerarquías de
procesos Los sistemas operativos que manejan el concepto de proceso deben
contar con algún mecanismo para crear todos los procesos necesarios.

En los sistemas muy sencillos, o en los diseñados para ejecutar solo una
aplicación. En otros sistemas operativos existen llamadas al sistema para crear un
proceso, cargar su memoria y ponerlo en ejecutar. Sea cual sea la naturaleza
exacta de la llamada al sistema. Los procesos necesitan poder crear otros
procesos. En MINIX, los procesos se crean con la llamada al sistema FORK
(bifurcar), que crea una copia idéntica del proceso invocador. El proceso hijo
también puede ejecutar FORK, así que es posible tener un árbol de proceso.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

2.2. Estados y transiciones de los procesos

El principal trabajo del procesador es ejecutar las instrucciones de máquina que se


encuentran en memoria principal.

Estas instrucciones se encuentran en forma de programas. Para que un programa


pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador
ejecuta una tras otra las instrucciones del mismo. En un entorno de
multiprogramación, el procesador intercalará la ejecución de instrucciones de
varios programas que se encuentran en memoria.

El sistema operativo es el responsable de determinar las pautas de intercalado y


asignación de recursos a cada proceso. Aunque cada proceso se una entidad
independiente, con su propio contador de programa y estado interno, los procesos
a menudo necesitan interactuar con otros procesos.

Un proceso podría generar ciertas salidas que otro proceso utilizan como
entradas, en el comando de Shell. Cuando un proceso se bloquea, lo que hace
porque le es imposible continuar lógicamente, casi siempre porque está separando
entradas que todavía no están disponibles, también puede ser que un programa
que conceptualmente está listo y en condiciones de ejecutarse sea detenido
porque el sistema operativo ha decidido asignar la CPU a otro proceso durante un
tiempo.

Estas dos condiciones son totalmente distintas, en el primer caso, la suspensión


es inherente al problema (no es posible procesar la línea de comandos del usuario
antes de que este la teclee).
En el segundo caso, se trata de un tecnicismo del sistema (no hay suficiente: CPU
para darle a cada proceso su propio procesador privado).

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

1.- Ejecutándose (usando realmente la CPU en este instante).

2.- Listo (se puede ejecutar, pero se suspendió temporalmente para dejar que otro
proceso se ejecute).

3.- Bloqueo (no puede ejecutarse en tanto no ocurra algún evento externo). Puede
haber cuánto transiciones entre estos tres estados, como se muestra. La
transacción 1 ocurre cuando un proceso descubre que no puede continuar.

En algunos sistemas el proceso debe ejecutar una llamada al sistema, block, para
pasar al estado bloqueado.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

En otros sistemas, incluido MINIX, cuando un proceso lee de un conducto o de un


archivo especial, (p.ej., una terminal) y no hay entradas disponibles, se bloquea
automáticamente.

Las transiciones 2 y 3 son causadas por el planificador de procesos, un parte del


sistema operativo, sin que el proceso se entere siquiera de ellas. La transición 2
ocurre cuando el planificador decide que el proceso en ejecución ya se ejecutó
durante suficiente tiempo y es ahora de dejar que otros procesos tengan algo de
tiempo de CPU.

La transacción 3 ocurre cuando todos los demás procesos han disfrutado de una
porción justa y es hora de que el primer proceso reciba otra vez la CPU para
ejecutarse.

La transacción 4 ocurre cuando acontece el suceso externo que un proceso


estaba esperando (como la llegada de entrada). Sin ningún otro proceso se está
ejecutando en ese instante, se dispara de inmediato la transacción 3 y el proceso
comienza a ejecutarse.

En caso contrario, el proceso tal vez tenga que esperar en el estado listo durante
cierto tiempo hasta que la CPU esté disponible. Usando el modelo de procesos, es
mucho más fácil visualizar lo que está sucediendo dentro del sistema.

2.3. Procesos ligeros: Hilos o hebras


El concepto de proceso engloba dos conceptos separados y potencialmente
independientes: uno relativo a la propiedad de recursos y otro que hace referencia
a la ejecución.

Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y,


de tanto en tanto, se le puede asignar otros recursos como dispositivos de E/S o

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

ficheros. Unidad a la que se le asigna el procesador: Un proceso es un flujo de


ejecución (una traza) a través de uno o más programas.

Esta ejecución se entremezcla con la de otros procesos. De tal forma, que un


proceso tiene un estado (en ejecución, listo, etc) y una prioridad de expedición u
origen.

La unidad planificada y expedida por el sistema operativo es el proceso. En la


mayoría de los sistemas operativos, estas dos características son, de hecho, la
esencia de un proceso.

Sin embargo, son independientes, y pueden ser tratadas como tales por el
sistema operativo.

Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la


construcción conocida como thread, cuyas traducciones más frecuentes son hilo,
hebra y proceso ligero.

Si se tiene esta división de características, la unidad de asignación de la CPU se


conoce como hilo, mientras que a la unidad que posee recursos se le llama
proceso.

Dentro de un proceso puede haber uno o más hilos de control cada uno con:
· Un estado de ejecución (en ejecución, listo, bloqueado).
· Un contexto de procesador, que se salva cuando no esté ejecutándose.
· Una pila de ejecución.
· Algún almacenamiento estático para variables locales.
· Acceso a la memoria y a recursos de ese trabajo que comparte con otros hilos.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

2.4. Concurrencia y secuencialidad

La concurrencia comprende un gran número de cuestiones de diseño, incluyendo


la comunicación entre procesos, comparació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 y es fundamental para que existan diseños como
Multiprogramación, Multiproceso y Proceso distribuido.

Los procesos son concurrentes si existen simultáneamente. Cuando dos o más


procesos llegan al mismo tiempo a ejecutarse, se dice que se ha presentado una
concurrencia de procesos.

Es importante mencionar que para que dos o más procesos sean concurrentes, es
necesario que tengan alguna relación entre ellos La concurrencia puede
presentarse en tres contextos diferentes:

• Varias aplicaciones: La multiprogramación se creó para permitir que el tiempo de


procesador de la 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.
Existen tres modelos de computadora en los que se pueden ejecutar procesos
concurrentes:

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

• Multiprogramación con un único procesador. El sistema operativo se encarga de


ir repartiendo el tiempo del procesador entre los distintos procesos, intercalando
la ejecución de los mismos para dar así una apariencia de ejecución simultánea.

• Multiprocesador. Es una maquina formada por un conjunto de procesadores que


comparten memoria principal. En este tipo de arquitecturas, los procesos
concurrentes no sólo pueden intercalar su ejecución sino también superponerla.

• Multicomputadora. Es una máquina de memoria distribuida, que está formada por


una serie de computadoras. En este tipo de arquitecturas también es posible la
ejecución simultánea de los procesos sobre los diferentes procesadores. En
general, la concurrencia será aparente siempre que el número de procesos sea
mayor que el de procesadores disponibles, es decir, cuando haya más de un
proceso por procesador.

La concurrencia será real cuando haya un proceso por procesador. Aunque puede
parecer que la intercalación y la superposición de la ejecución de procesos
presentan formas de ejecución distintas, se verá que ambas pueden contemplase
como ejemplos de procesos concurrentes Existen diversas razones que motivan la
ejecución de procesos concurrentes en un sistema:

• Facilita la programación de aplicaciones al permitir que éstas se estructuren


como un conjunto de procesos que cooperan entre sí para alcanzar un objetivo
común.

• Acelera los cálculos. Si se quiere que una tarea se ejecute con mayor rapidez, lo
que se puede hacer es dividirla en procesos, cada uno de los cuales se ejecuta
en paralelo con los demás.

• Posibilita el uso interactivo a múltiples usuarios que trabajan de forma


simultánea.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

• Permite un mejor aprovechamiento de los recursos, en especial de la CPU, ya


que pueden aprovechar las fases de entrada-salida de unos procesos para
realizar las fases de procesamiento de otros. Así como existen las razones que
motivan la ejecución de procesos concurrentes, también existen sus contras:

• Inanición e interrupción de procesos

• Ocurrencia de bloqueos

• Que dos o más procesos requieran el mismo recurso (No apropiativo) Tipos de
procesos concurrentes. Los procesos que ejecutan de forma concurrente en un
sistema se pueden clasificar como: Proceso independiente:

Es aquel que ejecuta sin requerir la ayuda o cooperación de otros procesos. Un


claro ejemplo de procesos independientes son los diferentes shells que se
ejecutan de forma simultánea en un sistema. Procesos son cooperantes: Son
aquellos que están diseñados para trabajar conjuntamente en alguna actividad,
para lo que deben ser capaces de comunicarse e interactuar entre ellos. En ambos
tipos de procesos (independientes y cooperantes), puede producirse una serie de
interacciones entre ellos y pueden ser de dos tipos:

• Interacciones motivadas porque los procesos comparten o compiten por el


acceso a recursos físicos o lógicos. Por ejemplo, dos procesos independientes
compiten por el acceso a disco o para modificar una base de datos.

• Interacción motivada porque los procesos se comunican y sincronizan entre sí


para alcanzar un objetivo común, Por ejemplo, un compilador que tiene varios
procesos que trabajan conjuntamente para obtener un solo archivo de salida.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

2.5. Niveles, objetivos y criterios de planificación

En épocas pasadas de los sistemas de procesamiento por lotes, con una entrada
en forma de imágenes de tarjetas en una cinta magnética, el algoritmo de
planificación era sencillo: solo había que ejecutar el siguiente trabajo en la cinta.

En los sistemas de multiusuario de tiempo compartido, que se combinaban con un


fondo de trabajos procesados en lote, el algoritmo era más complejo.

En forma invariable, existían varios usuarios en espera de servicio y podían existir


también otros trabajos para ser procesados en lote. Incluso en los sistemas puros
de tiempo compartido existen con frecuencia los trabajos colaterales, como el
sistema de correo electrónico, que a menudo se ejecuta todo el tiempo para enviar
o recibir correo o noticias.

Cuando más de un proceso es ejecutable, el Sistema Operativo debe decidir cuál


de ellos deberá ejecutarse primero. Hay que tener una planificación de los
procesos que quieren ejecutarse en el sistema. La planificación es una función
primordial del Sistema Operativo.

La mayoría de los recursos, si no es que todos, se planifican antes de que se


utilicen. La asignación de procesadores físicos a los procesos hace posible que
estos realicen su trabajo, y tal asignación es un problema complejo manejado por
el Sistema Operativo.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

2.6. Técnicas de administración del planificador

Las disciplinas de planificación pueden ser:

• Expropiativas

• No apropiativas

Se denomina planificador al software del sistema operativo encargado de asignar


los recursos de un sistema entre los procesos que los solicitan.

Siempre que haya tomar una decisión, el planificador debe decidir cuál de los
procesos que compiten por la posesión de un determinado recurso lo recibirá.

Los algoritmos (técnicas) tienen distintas propiedades según los criterios en los
que se basen para su construcción, lo cual se refleja en qué tipo de procesos se
puede ver favorecido frente a otro en la disputa del procesador. Antes de realizar

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

la elección de un algoritmo se debe considerar las propiedades de estos frente al


criterio de diseño elegido.

Algunos de estos son:

a) Eficacia: Se expresa como un porcentaje del tiempo medio de utilización.


Aunque puede parecer lógico intentar mantener este parámetro próximo al 100%,
con un valor tan elevado otros aspectos importantes de medida del
comportamiento del sistema pueden verse deteriorados, como por ejemplo el
tiempo medio de espera.

b) Rendimiento: Es una medida del número de procesos completados por


unidad de tiempo. Por ejemplo 10 procesos por segundo.

c) Tiempo de retorno o regreso: Es el intervalo de tiempo que transcurre


desde que un proceso se crea o presenta hasta que completa por el sistema.

d) Tiempo de espera: Es el tiempo que el proceso espera hasta que se le


concede el procesador. Puede resultar una medida más adecuada de la eficiencia
del sistema, ya que se elimina de la media el tiempo que tarda en ejecutarse el
mismo.

e) Tiempo de respuesta a un evento: Se denomina así el intervalo de tiempo


que transcurre desde que se señala un evento hasta que se ejecuta la primera
instrucción de la rutina de servicio de dicho evento. El criterio de selección de un
algoritmo se suele basar en la maximización o minimización de una función de los
parámetros anteriores.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

3. ADMINISTRACIÓN DE MEMORIA
La administración de memoria se refiere a los distintos métodos y operaciones que
se encargan de obtener la máxima utilidad de la memoria, organizando los
procesos y programas que se ejecutan de manera tal que se aproveche de la
mejor manera posible el espacio disponible.

Para poder lograrlo, la operación principal que realiza es la de trasladar la


información que deberá ser ejecutada por el procesador, a la memoria principal.
Actualmente esta administración se conoce como Memoria Virtual ya que no es la
memoria física del procesador sino una memoria virtual que la representa.

Entre algunas ventajas, esta memoria permite que el sistema cuente con una
memoria más extensa teniendo la misma memoria real, con lo que esta se puede
utilizar de manera más eficiente.

Y por supuesto, que los programas que son utilizados no ocupen lugar
innecesario.

Las técnicas que existen para la carga de programas en la memoria son: partición
fija, que es la división de la memoria libre en varias partes (de igual o distinto
tamaño) y la partición dinámica, que son las particiones de la memoria en tamaños
que pueden ser variables, según la cantidad de memoria que necesita cada
proceso.

Entre las principales operaciones que desarrolla la administración de memoria se


encuentran la reubicación, que consiste en trasladar procesos activos dentro y
fuera de la memoria principal para maximizar la utilización del procesador; la
protección, mecanismos que protegen los procesos que se ejecutan de
interferencias de otros procesos; uso compartido de códigos y datos, con lo que el
mecanismo de protección permite que ciertos procesos de un mismo programa
que comparten una tarea tengan memoria en común.

3.1. Política y filosofía

La parte del sistema operativo que administra la memoria se llama administrador


de memoria y su labor consiste en llevar un registro de las partes de memoria que
se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a
los procesos cuando éstos la necesiten y liberándola cuando terminen, así como
administrar el intercambio entre la memoria principal y el disco en los casos en los
que la memoria principal no le pueda dar capacidad a todos los procesos que
tienen necesidad de ella.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Los sistemas de administración de memoria se pueden clasificar en dos tipos: los


que desplazan los procesos de la memoria principal al disco y viceversa durante la
ejecución y los que no.

Para poder comprender como se administra la memoria es necesario conocer


primero que es la memoria principal, por lo que a continuación se citaran algunas
definiciones:

La memoria principal puede ser considerada como un arreglo lineal de localidades


de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento
tiene asignada una dirección que la identifica.

Memoria interna del sistema informático, con direcciones accesibles por los
programas y que puede cargarse en los registros para su posterior ejecución o
procesamiento.

Lugar en el cual se almacenan datos e instrucciones en una computadora antes y


durante su ejecución.

Sea cual sea el esquema de organización del almacenamiento que se adopte para
un sistema específico, es necesario decidir qué estrategias se deben utilizar para
obtener un rendimiento óptimo.

Política

El sistema operativo debe llevar a cabo una política de espacio de asignación de


memoria.

Esto es necesario cuando se precisa crear el mapa de memoria de un proceso que


ocupa un determinado tamaño para poder así determinar qué zonas libres se
deberían utilizar; esto con el fin de lograr conjugar los siguientes aspectos:

• Buen aprovechamiento de la memoria


• Algoritmo de decisión eficiente

3.2. Memoria real


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 S. O.

Los términos “memoria” y “almacenamiento” se consideran equivalentes.

Los programas y datos deben estar en el almacenamiento principal para:

• Poderlos ejecutar.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

• Referenciarlos directamente.

Se considera “almacenamiento secundario” o “almacenamiento auxiliar” al


generalmente soportado en discos.
Los hechos demuestran que generalmente los programas crecen en
requerimientos de memoria tan rápido como las memorias:

“Ley de Parkinson parafraseada”: Los programas se desarrollan para ocupar toda


la memoria disponible para ellos.
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.

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 S. O.

Los términos “memoria” y “almacenamiento” se consideran equivalentes.


Los programas y datos deben estar en el almacenamiento principal para:

• Poderlos ejecutar.
• Referenciarlos directamente

3.3. Organización de memoria virtual


“Almacenamiento virtual” significa la capacidad de direccionar un espacio de
almacenamiento mucho mayor que el disponible en el almacenamiento primario de
determinado sistema de computación.

Esta tecnología apareció en 1960 en la Universidad de Manchester (Inglaterra), en


el sistema “Atlas”.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Los métodos más comunes de implementación son mediante:

• Técnicas de “paginación”.
• Técnicas de “segmentación”.
Una combinación de ambas técnicas.
Las direcciones generadas por los programas en su ejecución no son,
necesariamente, aquellas contenidas en el almacenamiento primario (memoria
real), ya que las direcciones virtuales suelen seleccionarse dentro de un número
mucho mayor de direcciones que las disponibles dentro del almacenamiento
primario.

La evolución en las organizaciones de almacenamiento puede resumirse como


sigue:

Real:
• Sistemas dedicados a un solo usuario. Real:
Sistemas de multiprogramación en memoria real:
Multiprogramación en partición fija:
• Absoluta.
• Relocalizable (reubicable).
• Multiprogramación en partición variable. Virtual:
Multiprogramación en almacenamiento virtual:
• Paginación pura.
• Segmentación pura.
• Combinación paginación / segmentación.

La clave del concepto de memoria (almacenamiento) virtual esta en la


disociación:

• De las direcciones a las que hace referencia un programa.


• De las direcciones disponibles en la memoria real (almacenamiento
primario).

Los principales conceptos son los siguientes:

“Direcciones virtuales”:
• Son las referidas por un proceso en ejecución.

“Direcciones reales”:
• Son las disponibles dentro del almacenamiento primario.

“Espacio de direcciones virtuales (v)” de un proceso:


• Es el número de direcciones virtuales a que puede hacer referencia el
proceso.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

“Espacio de direcciones reales (r)” de un computador:


• Es el número de direcciones reales disponibles en el ordenador. Los
procesos hacen referencia a direcciones virtuales, pero éstas deben
ejecutarse en el almacenamiento real:
• Las direcciones virtuales deben ser transformadas dentro de las direcciones
reales, mientras el proceso está en ejecución.

• La traducción de direcciones deberá hacerse rápidamente para no degradar


al sistema.
Existen varios medios para asociar las direcciones virtuales con las reales

3.4. Administración de memoria virtual

Las diferentes organizaciones de almacenamiento virtual generalmente


implementadas son:
Paginación.
Segmentación.
Segmentación y paginación.

Las estrategias para la administración de sistemas de almacenamiento virtual


condicionan la conducta de los sistemas de almacenamiento virtual que operan
según esas estrategias.

Se consideran las siguientes estrategias:


“Estrategias de búsqueda”:
Tratan de los casos en que una página o segmento deben ser traídos del
almacenamiento secundario al primario.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Las estrategias de “búsqueda por demanda” esperan a que se haga referencia a


una página o segmento por un proceso antes de traerlos al almacenamiento
primario.
Los esquemas de “búsqueda anticipada” intentan determinar por adelantado a qué
páginas o segmentos hará referencia un proceso para traerlos al almacenamiento
primario antes de ser explícitamente referenciados.

“Estrategias de colocación”:
Tratan del lugar del almacenamiento primario donde se colocará una nueva página
o segmento.
Los sistemas toman las decisiones de colocación de una forma trivial ya que una
nueva página puede ser colocada dentro de cualquier marco de página disponible

“Estrategias de reposición”:
Tratan de la decisión de cuál página o segmento desplazar para hacer sitio a una
nueva página o segmento cuando el almacenamiento primario está
completamente comprometido.

4.ADMINISTRACIÓN DE
ENTRADA/SALIDA

4.1. Dispositivos y manejadores de dispositivos


device drivers Se pueden clasificar en dos grandes categorías

1. Dispositivos de bloque
2. Dispositivos de carácter

LAS PRINCIPALES CARACTERÍSTICAS DE LOS DISPOSITIVOS DE BLOQUE


SON:
 La información se almacena en bloques de tamaño fijo.
 Cada bloque tiene su propia dirección.
 Los tamaños más comunes de los bloques van desde los 128 bytes hasta los
1.024 bytes.
Se puede leer o escribir en un bloque de forma independiente de los demás, en
cualquier momento.

-Un ejemplo típico de dispositivos de bloque son los discos. -Las principales
características de los dispositivos de carácter son: -La información se transfiere
como un flujo de caracteres, sin sujetarse a una estructura de bloques.

 No se pueden utilizar direcciones.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

 No tienen una operación de búsqueda.


 Unos ejemplos típicos de dispositivos de carácter son las impresoras de línea,
terminales, interfaces de una red, ratones, etc.

4.2. Mecanismos y funciones de los manejadores de dispositivos:


device drivers

¿Qué es una estructura? Los sistemas operativos actuales son grandes y complejos,
estos deben poseer una ingeniería correcta para su fácil actualización y para que
puedan cumplir su función correctamente.

La estructura es generalmente modular, cada módulo cumple una función


determinada e interactúa con los demás módulos.

Estructura simple El sistema MS-DOS es, sin duda, el mejor sistema operativo para
microcomputadoras. Sin embargo, sus interfaces y niveles de funcionalidad no están
bien definidos. Los programas de aplicación pueden acceder a operaciones básicas
de entrada / salida para escribir directamente en pantalla o discos.

Este libre acceso, hace que el sistema sea vulnerable, ya que un programa de
aplicación puede eliminar por completo un disco rígido por alguna falla. Además,
este sistema, también está limitado al hardware sobre el que corre. Otra estructura
simple es la utilizada por la versión original de UNIX, esta consiste de dos partes
separadas, el kernel y los programas de sistemas. El kernel fue posteriormente
separado en manejadores (drivers) de dispositivos y una serie de interfaces.

El kernel provee el sistema de archivos, la programación de CPU, el administrador


de memoria y otras funciones del sistema operativo que responden a las llamadas
del sistema enunciadas anteriormente. Estructura por capas (layers) Las nuevas
versiones de UNIX se diseñaron para hardware más avanzado.

Para dar mayor soporte al hardware, los sistemas operativos se dividieron en


pequeñas partes. Ahora los sistemas operativos tienen mayor control sobre el
hardware y las aplicaciones que se ejecutan sobre este. La modularizarían de un
sistema se puede presentar de varias formas, la más utilizada es la de capas, la cual
consiste en dividir al sistema operativo en un numero de capas. La capa de menor
nivel es el hardware y la de mayor nivel es la interfaz con el usuario.

La principal ventaja es que cada capa cumple con una serie de funciones y servicios
que brinda a las otras capas, esto permite una mejor organización del sistema
operativo y una depuración más fácil de este.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Cada capa se implementa solo utilizando las operaciones provistas por la capa de
nivel inferior. Una capa no necesita saber cómo se implementan estas funciones,
solo necesita saber que operaciones puede realizar.

4.3. Estructuras de datos para manejo de dispositivos

Cada dispositivo de E/S, o cada clase de dispositivos, tiene un manejador asociado


en el sistema operativo.

Dicho manejador incluye: código independiente del dispositivo para proporcionar al


nivel superior del sistema operativo una interfaz de alto nivel y el código dependiente
del dispositivo necesario para programar el controlador del dispositivo a través de
sus registros y datos.

La tarea de un manejador de dispositivo es aceptar peticiones en formato abstracto,


de la parte del código de E/S independiente del dispositivo, traducir dichas
peticiones a términos que entienda el controlador, enviar al mismo las órdenes
adecuadas en la secuencia correcta y esperar a que se cumplan. La siguiente figura
muestra un diagrama de flujo con las operaciones de un manejador.

Todos los manejadores tienen una lista de peticiones pendientes por dispositivo
donde se encolan las peticiones que llegan de niveles superiores. El manejador
explora la lista de peticiones, extrae una petición pendiente y ordena su ejecución.
La política de extracción de peticiones de la lista es dependiente de manejador y
puede ser FIFO.

Una vez enviada la petición al controlador, el manejador se bloquea o no,


dependiendo de la velocidad del dispositivo. Para los lentos (discos) se bloquea
esperando una interrupción. Para los rápidos (pantalla, discos RAM, etcétera)
responde inmediatamente. Después de recibir el fin de operación, controla la
existencia de errores y devuelve al nivel superior el estado de terminación de la
operación.

Si tiene operaciones pendientes en la cola de peticiones, atiende a la siguiente, en


caso de que le toque ejecutar después de la operación de E/S. En caso contrario se
bloquea.

4.4. Operaciones de Entrada /salida

se denomina periféricos a los aparatos o dispositivos auxiliares e independientes


conectados a la unidad central de procesamiento de una computadora.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Se consideran periféricos tanto a las unidades o dispositivos a través de los cuales


la computadora se comunica con el mundo exterior, como a los sistemas que
almacenan o archivan la información, sirviendo de memoria auxiliar de la memoria
principal. Se pueden clasificar en dos grandes categorías:
 Dispositivos de bloques: dispositivos que almacenan la información en bloques de
tamaño fijo (discos)
 Dispositivos de caracteres: maneja la información mediante un flujo de caracteres
sin estructurarlos en bloques (mouse, teclado, impresora) Las principales
características de los dispositivos de bloque son:
 La información se almacena en bloques de tamaño fijo.
 Cada bloque tiene su propia dirección.
 Los tamaños más comunes de los bloques van desde los 128 bytes hasta los
1.024 bytes.
 Se puede leer o escribir en un bloque de forma independiente de los demás, en
cualquier momento.
 Un ejemplo típico de dispositivos de bloque son los discos. Las principales
características de los dispositivos de carácter son:
 La información se transfiere como un flujo de caracteres, sin sujetarse a una
estructura de bloques.
 No se pueden utilizar direcciones.

 No tienen una operación de búsqueda.

 Un ejemplo típico de dispositivos de carácter son las impresoras de línea,


terminales, interfaces de una red, ratones, etc. Algunos dispositivos no se ajustan a
este esquema de clasificación, por ejemplo, los relojes, que no tienen direcciones
por medio de bloques y no generan o aceptan flujos de caracteres. El sistema de
archivos solo trabaja con dispositivos de bloque abstractos, por lo que encarga la
parte dependiente del dispositivo a un software de menor nivel, el software
manejador del dispositivo. Todos los dispositivos de E/S se pueden agrupar en tres
grandes grupos:

 Dispositivos de interfaz de usuario. Se llama así a los dispositivos que permiten la


comunicación entre los usuarios y la computadora.

Dentro de este grupo se incluyen todos los dispositivos que sirven para
proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como
para salida (impresoras, pantalla, etc.). Existen periféricos menos habituales, pero
más sofisticados, tales como un escáner, lectores de huella digital, lectores de cinta
magnética, instrumentos musicales digitales (MIDI), etc.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

 Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no


volátil de datos y memoria. Su función primordial es abastecer de datos y
almacenamiento a los programas que se ejecutan en la UCP. Según su capacidad y
la inmediatez con que se puede acceder a los datos almacenados en estos
dispositivos, se pueden dividir en almacenamiento secundario (discos y disquetes) y
terciario (cintas).
 Dispositivos de comunicaciones. Permiten conectar a la computadora con otras
computadoras a través de una red. Los dos tipos de dispositivos más importantes de
esta clase son los módems, para comunicación vía red telefónica, y las tarjetas de
interfaz a la red, para conectar la computadora a una red de área local. En cualquier
caso, y sea como sea el controlador, su misión es convertir los datos del formato
interno del dispositivo a uno externo que se ofrezca a través de una interfaz de
programación bien definida.

Los controladores de dispositivo se suelen agrupar en alguna de las siguientes


categorías o clases:
 Adaptadores de audio (tarjetas de sonido).
 Dispositivos de comunicación (infrarrojos, módems, etc).
 Dispositivos de visualización; pantallas (displays).
 Teclados.
 Ratón (“mouse” y otros señaladores gráficos).
 Dispositivos multimedia.
 Dispositivos de Red.
 Impresoras.
 Almacenamiento

5. SISTEMAS DE ARCHIVOS

5.1. Concepto

El “Sistema de Archivos” es la parte del sistema de administración del


almacenamiento responsable, principalmente, de la administración de los archivos
del almacenamiento secundario.

Es la parte del S. O. responsable de permitir “compartir controladamente” la


información de los archivos.

El sistema de archivos es un método para el almacenamiento y organización


de archivos en una computadora y en los datos que estos contienen, para hacer

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

más fácil la tarea de encontrarlos y accederlos. Los sistemas de archivos son


usados en dispositivos de almacenamiento como discos duros y CD-ROM e
involucran el mantenimiento de la localización física de los archivos.

También un sistema de archivos es un conjunto de tipo de datos abstractos que son


implementados para el almacenamiento, la organización jerárquica, la manipulación,
el acceso, el direccionamiento y la recuperación de datos. Los sistemas de archivos
comparten mucho en común con la tecnología de las bases de datos.

En general, los sistemas operativos tienen su propio sistema de archivos. En ellos,


los sistemas de archivos pueden ser representados de forma textual ejemplo el shell
de DOS o gráficamente el Explorador en Windows utilizando un gestor de archivos

5.2. Noción de archivo real y virtual

Un archivo virtual

Es un archivo de uso temporal que es utilizado por los procesos del sistema
mientras se están ejecutando dichos procesos. Estos archivos se crean durante la

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

ejecución de un sistema y los utiliza para el almacenamiento de información,


intercambio y organización mientras se ejecuta el sistema, su tamaño es muy
variable y terminan al detener la ejecución del sistema, muchos de ellos son
borrados, por ejemplo, los archivos *.tmp .

Se le conoce como archivo virtual, aquel que contiene los datos generados por el
usuario.

Archivo Real

Es un objeto que contiene programas, datos o cualquier otro elemento.


Un archivo se muestra de manera real, en la información del espacio que ocupa en
un disco duro o sistema de almacenamiento, en otras palabras su tamaño en bytes.

5.3. Componentes de un sistema de archivos

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Lo conforman todas aquellas rutinas encargadas de administrar todos los aspectos


relacionados con el manejo de Archivos.

En UNIX se define un File System como un sistema de software dedicado a la


creación, destrucción, organización y lectura, escritura y control de acceso de los
archivos, funcionalmente los componentes de un sistema de archivos son lenguajes
de comandos, interpretador de comandos, manejador del almacenamiento
secundario, sistema de entrada y salida y mecanismos de respaldo y recuperación.

En general, un Sistema de Archivos está compuesto por: Métodos De Acceso,


Administración De Archivos, Administración De Almacenamiento Secundario,
Mecanismos De Integridad.

 Métodos De Acceso. Se ocupan de la manera en que se tendrá acceso a la


información almacenada en el archivo. Ejemplo: Secuencial, Directo,
indexado, etc.

 Administración De Archivos. Se ocupa de ofrecer los mecanismos para


almacenar, compartir y asegurar archivos, así como para hacer referencia a
ellos.

 Administración De Almacenamiento Secundario. Se ocupa de asignar espacio


para los archivos en los dispositivos de almacenamiento secundario. En la
siguiente figura se muestra un ejemplo de la administración de espacio en un
disco duro.

 Mecanismos De Integridad. Se ocupan de garantizar que no se corrompa la


información de un archivo, de tal manera que solo la información que deba
estar en el, se encuentre ahí.

 Mecanismos de Organización Lógica. Contiene las diferentes rutinas y


comandos a través de los cuales el usuario podrá estructurar sus archivos
virtuales.

 Directorio de Identificadores. Convierte los identificadores simbólicos de los


archivos en identificadores internos, los cuales apuntarán a su descriptor o a
una estructura que permite encontrar el archivo.

 Sistemas Teóricos de Archivos. Su objetivo es el de activar y desactivar a


través de las rutinas de abrir y cerrar archivos y verifica el modo de acceso.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

 Mecanismos de Organización Física. Traslada las direcciones lógicas en


direcciones físicas correspondientes a las estructuras de memoria secundaria
y los buffers en memoria principal necesarios para la transferencia de datos.

 Mecanismos de
E/S. Por cada petición de
acceso al archivo real,
este mecanismo
genera la secuencia de
operaciones
elementales de
entrada y salida que se
necesita.

 SCHEDULING
E/S. En este nivel es
donde se tiene el número
de peticiones
pendientes así
como de las que se están
realizando y
lleva el control y
asignación de tiempo de CPU a las diferentes peticiones de E/S.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

5.4. Organización lógica y física

La mayoría de las computadoras organizan los archivos en jerarquías llamadas


carpetas, directorios o catálogos. (El concepto es el mismo independientemente de
la terminología usada.) Cada carpeta puede contener un número arbitrario de
archivos, y también puede contener otras carpetas. Las otras carpetas pueden
contener todavía más archivos y carpetas, y así sucesivamente, construyéndose una
estructura en árbol en la que una «carpeta raíz» (el nombre varía de una
computadora a otra) puede contener cualquier número de niveles de otras carpetas
y archivos. A las carpetas se les puede dar nombre exactamente igual que a los
archivos (excepto para la carpeta raíz, que a menudo no tiene nombre). El uso de
carpetas hace más fácil organizar los archivos de una manera lógica.

La mayor parte de las estructuras de organizaciones alternativas de archivos se


encuentran dentro de estas cinco categorías:

PILAS
Es la forma más fácil de organizar un archivo. Los datos se recogen en el orden en
que llegan.

Su objetivo es simplemente acumular una masa de datos y guardarla.

Los registros pueden tener campos diferentes o similares en un orden distinto. Cada
campo debe ser autodescriptivo, incluyendo tanto un campo de nombre como el
valor. La longitud de cada campo debe indicarse implícitamente con delimitadores,
explícitamente incluidos como un subcampo más.

El acceso a los registros se hace por búsquedas exhaustiva y son fáciles de


actualizar. Si se quiere encontrar un registro que contiene un campo particular y un
valor determinado, es necesario examinar cada registro de la pila hasta encontrar el
registro deseado. Si se quieren encontrar todos los registros que contienen un
campo particular o que tienen un valor determinado para ese campo, debe buscarse
el archivo entero.

Se aplica cuando los datos se recogen o almacenan antes de procesarlos o cuando


no son fáciles de organizar. Esta clase de archivo aprovecha bien el espacio cuando
los datos almacenados varían en tamaño y estructura. Fuera de estos usos
limitados, este tipo de archivos no se adapta a la mayoría de las aplicaciones.

Archivos secuenciales
Es la forma más común de estructura de archivos.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Se emplea un formato fijo para los registros, son de la misma longitud y constan del
mismo número de campos de tamaño fijo con un orden determinado.

Se necesita almacenar los valores de cada campo; el nombre del campo y la


longitud de cada uno son atributos de la estructura del archivo. Cada registro tiene
un campo clave que lo identifica (generalmente es el primero de cada registro). Los
registros se almacenan en secuencia por la clave.

Se utilizan normalmente en aplicaciones de procesos por lotes, ya que es la única


organización de archivos que se puede guardar tanto en cintas como en discos.

Para las aplicaciones interactivas que incluyen peticiones o actualizaciones de


registros individuales, los archivos secuenciales no son óptimos. El acceso requiere
una búsqueda secuencial de correspondencias con la clave. Si el archivo entero o
gran parte de él pueden traerse a la memoria principal de una sola vez, se podrán
aplicar técnicas de búsquedas más eficientes. Al acceder un registro de un archivo
secuencial grande, se produce un procesamiento extra y un retardo considerable.

La organización física del archivo en una cinta o disco se corresponde exactamente


con la organización lógica del archivo, por lo tanto el procedimiento habitual es
ubicar los nuevos registros en un archivo de pila separado, es llamado archivo de
registro o archivo de transacciones.

Una alternativa es organizar físicamente el archivo secuencial como una lista


enlazada, en cada bloque físico se almacena uno o más registros y cada bloque del
disco contiene un puntero al bloque siguiente. La inserción de un nuevo registro
implica la manipulación de puntero, pero no requiere que el nuevo registro ocupe
una posición particular del bloque físico.

Archivos secuenciales indexados


Los registros se organizan en una secuencia basada en un campo clave
presentando dos características, un índice del archivo para soportar los accesos
aleatorios y un archivo de desbordamiento. El índice proporciona una capacidad de
búsqueda para llagar rápidamente al registro deseado y el archivo de
desbordamiento es similar al archivo de registros usado en un archivo secuencial,
pero está integrado de forma que los archivos de desbordamiento se ubiquen
siguiendo un puntero desde su registro predecesor.

La estructura más simple tiene como índice un archivo secuencial simple, cada
registro del archivo índice tiene dos campos, un campo clave igual al del archivo
principal y un puntero al archivo principal. Para encontrar un campo especifico se

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

busca en el índice hasta encontrar el valor mayor de la clave que es iguale o


precede al valor deseado de la clave, la búsqueda continua en el archivo principal a
partir de la posición que indique el puntero.

Cada registro del archivo principal tiene un campo adicional que es un puntero al
archivo de desbordamiento. Cuando se inserta un nuevo registro al archivo, también
se añade al archivo de desbordamiento. El registro del archivo principal que precede
inmediatamente al nuevo registro según la secuencia lógica se actualiza con un
puntero del registro nuevo en el archivo de desbordamiento, si el registro
inmediatamente anterior está también en el archivo de desbordamiento se
actualizará el puntero en el registro.

Para procesar secuencialmente un archivo completo los registros del archivo


principal se procesarán en secuencia hasta encontrar un puntero al archivo de
desbordamiento, el acceso continuo en el archivo de desbordamiento hasta que
encuentra un puntero nulo, entonces renueva el acceso donde se abandonó en el
archivo principal.

Organización física
Los datos son arreglados por su adyacencia física, es decir, de acuerdo con el
dispositivo de almacenamiento secundario. Los registros son de tamaño fijo o de
tamaño variable y pueden organizarse de varias formas para constituir archivos
físicos.

Cinta magnética
En este dispositivo el archivo físico está formado por un conjunto de registros físicos,
y los bloques están organizados en forma consecutiva, ya que se asigna en igual
forma.
Además, tales registros pueden contener etiquetas que permitan un mayor control
sobre los datos almacenados, y son las siguientes:

Etiqueta de volumen.
- Contiene información que permite identificar la cinta, el nombre del propietario y
cualquier información general requerida.
Etiqueta de archivo.

- Se utilizan por pares para indicar el inicio y fin del archivo, contiene información
acerca del nombre del archivo, fecha de creación.
Etiqueta de usuario.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

- Sirven para guardar información adicional de importancia para el usuario; no son


procesados por el sistema operativo.

El archivo físico en un disco es una colección de registros físicos de igual tamaño,


los cuales pueden estar organizados en forma consecutiva, ligada o con una tabla
de mapeo.

En la organización contigua, el archivo utiliza registros físicos contiguos, siguiendo la


secuencia normal de direcciones.
La organización encadenada consiste un conjunto de bloques, cada uno de los
cuales tiene un campo destinado para indicar la dirección del siguiente registro, o
sea, para lo que se ha llamado enlace o liga.

Otra forma de organización es la tabla de mapeo que consiste en una tabla de


apuntadores a los registros físicos que forman el archivo.

La organización física de un archivo en el almacenamiento secundario depende de


la estrategia de agrupación y de la estrategia de asignación de archivos.

Para elegir una organización de archivos se deben tener en cuenta ciertos criterios:

Si un archivo va a procesar solamente por lotes, accediendo cada vez a todos los
registros, entonces el acceso rápido para la recuperación de un único registro es
una preocupación mínima. Un archivo almacenado en CD-ROM nunca será
actualizado, por lo que la facilidad de actualización no se considera. Para la
economía de almacenamiento, debería existir una mínima redundancia de los datos,
esta redundancia es el medio fundamental para incrementar la velocidad de acceso
a los datos.

5.5. Mecanismos de acceso a los archivos

Directorios
Generalmente son utilizados por los S. O. para llevar un registro de los archivos. En
muchos sistemas son a su vez también archivos.

Sistemas Jerárquicos de 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.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

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

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.

Puede incluir la siguiente información:

 Nombre simbólico del archivo.


 Localización del archivo en el almacenamiento secundario.
 Organización del archivo (método de organización y acceso).
 Tipo de dispositivo.
 Datos de control de acceso.
 Tipo (archivo de datos, programa objeto, programa fuente, etc.).
 Disposición (permanente contra temporal).
 Fecha y tiempo de creación.
 Fecha de destrucción.
 Fecha de la última modificación.
 Suma de las actividades de acceso (número de lecturas, por ejemplo).

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

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.

5.6. Manejo de espacio en 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.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

El sistema de archivos se ocupa primordialmente de administrar el espacio de


almacenamiento secundario, sobre todo el espacio en disco. El manejo del espacio
libre en disco se lleva a cabo de la siguiente manera:

 Vector de bit.
 Lista ligada (lista libre).
 Por conteo (agrupación)
 Vector de bits

El espacio libre en disco es frecuentemente implementado como un mapa de bits,


donde cada block es representado por un bit y si el bloc es libre el bit es cero de lo
contrario está asignado.11000111

Lista ligada

Una lista ligada de todos los blocks libres. Otra implantación se consigue guardando
la dirección del primer block libre y el número de los blocks libres contiguos que le
siguen. Cada entrada de la lista de espacio libre consiste de una dirección de disco y
un contador (por conteo).

Por agrupación

Se almacena la dirección en n blocks libres en el primer block libre y el último


contiene la dirección de otro block que contiene la dirección de otros blocks libres.

Para manejar los espacios en disco existen los siguientes métodos:

 Contiguos
 Ligados
 Indexados

Contiguos

Esta asignación requiere que cada archivo ocupe un conjunto de direcciones


contiguas en el disco, su asignación es definida por la dirección del primer bloc y la
longitud del archivo.

Cuando se crea un archivo se le asigna un único conjunto contiguo de bloques, esta


es una estrategia de asignación previa que emplea secciones de tamaño variable.
La tabla de asignación de archivos necesita solo una entrada por cada archivo y que
muestre el bloque de comienzo y la longitud del archivo. La asignación contigua es
la mejor para un archivo secuencial.

La asignación contigua presenta algunos problemas, como la fragmentación externa.


Lo que hace difícil encontrar bloques contiguos de espacio de tamaño suficiente., lo

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

que lleva a ejecutar un algoritmo de compactación para libera el espacio adicional en


el disco.

 Asignación ligada o encadenada

Cada archivo es una lista ligada de blocks y el directorio contiene un apuntador al


primer bloc y al último.

La asignación se hace con bloques individuales, cada bloque contendrá un puntero


al siguiente bloque de la cadena. La tabla de asignación de archivos necesita una
sola entrada por cada archivo que muestre el bloque de comienzo y la longitud del
mismo, cualquier bloque puede añadirse a la cadena. No hay que preocuparse por
la fragmentación externa porque solo se necesita un bloque cada vez.

Una consecuencia del encadenamiento es que no hay cabida para el principio de


cercanía, si es necesario traer varios bloques de un archivo al mismo tiempo, se
necesita una serie de accesos a partes diferentes del disco por lo que se debe
ejecutar un algoritmo de compactación para liberar el espacio adicional en el disco.

Asignación Indexada

Cada archivo tiene su propio bloc de índice el cual es un arreglo de direcciones de


bloc.

En esta asignación la tabla de asignación de archivos contiene un índice separado


de un nivel para cada archivo: el índice posee una entrada para cada sección
asignada al archivo. Normalmente, los índices no están almacenados físicamente
como parte de la tabla de asignación de archivos.

Mas exactamente el índice de archivo se guardará en un bloque aparte y la entrada


del archivo en la entrada de asignación apuntará a dicho bloque.

La asignación puede hacerse por bloques de tamaño fijo, O en secciones de tamaño


variable. La asignación por bloques elimina la fragmentación externa, mientras que
la asignación por secciones de tamaño variable mejora la cercanía.

En cualquier caso, los archivos pueden concentrarse en zonas cercanas de cuando


en cuando. La concentración reduce el tamaño del índice en el caso de secciones
de tamaño variable, pero no en el caso de asignación por bloques.

La asignación indexada soporta tanto el acceso secuencial como el acceso directo a


los archivos y por ello se ha convertido en la forma más popular de asignación de
archivos.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

En un sistema de cómputo, los elementos que se declaran para almacenamiento


son los Fyle System. Cuándo existe una solicitud de almacenamiento o manejo de
bloc libres en un file system surge una interrogante ¿cómo atenderlas? esto se lleva
a cabo mediante una planificación de discos y para esto existen las siguientes
políticas de planificación.

a) FCFS

b) SSTF

c) SCAN

d) SCAN de n-pasos

e) C-SCAN

f) Esquema Eschenbach

5.7. Modelo jerárquico

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:

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

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

5.8 Mecanismos de recuperación en caso de falla

Recuperación

Los archivos y directorios se mantienen tanto en memoria principal como en disco, y


debe tener. Se cuidado para que los fallos del sistema no provoquen una pérdida de
datos o una incoherencia en los mismos.

Comprobación de coherencia

Como hemos explicado en la Sección 11.3, parte de la información de directorios se


almacena en la memoria principal (o en caché) para acelerar el acceso. La
información de directorios en la memoria principal está, generalmente, más
actualizada que la correspondiente información en el disco, porque la información de
directorios almacenada en caché no se escribe necesariamente en el disco nada
más producirse la actualización.

Considere, entonces, el posible ejemplo de un fallo de la computadora. El contenido


de la caché y de los búferes, así como de las operaciones de E/S que se estuvieran
realizando en ese momento, pueden perderse, y con él se perderán los cambios
realizados en los directorios correspondientes a los archivos abiertos. Dicho suceso
puede dejar el sistema de archivos en un estado incoherente.

El estado real de algunos archivos no será el que se describe en la estructura de


directorios.

Con frecuencia, suele ejecutarse un programa especial durante el reinicio para


comprobar las posibles incoherencias del disco y corregidas.

El comprobador de coherencia (un programa del sistema tal como fsck en UNIX o
chkdsk en MS-DOS), compara los datos de la estructura de directorios con los
bloques de datos del disco y trata de corregir todas las incoherencias que detecte.
Los algoritmos de asignación y de gestión del espacio libre dictan los tipos de
problemas que el comprobador puede tratar de detectar y dictan también el grado de
éxito que el comprobador puede tener en esta tarea.

Por ejemplo, si se utiliza un sistema de asignación enlazada y existe un enlace entre


cada bloque y el siguiente, puede reconstruirse el archivo completo a partir de los
bloques de datos y volver a crear la estructura de directorios.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Por el contrario, la pérdida de una entrada de directorio en un sistema de asignación


indexada puede ser desastrosa, porque los bloques de datos no tienen ningún
conocimiento acerca de los demás bloques de datos del archivo. Por esta razón,
UNIX almacena en caché las entradas de directorio para las lecturas, pero todas las
escrituras de datos que provoquen algún cambio en la asignación de espacio o en
algún otro tipo de metadato se realizan síncronamente, antes de escribir los
correspondientes bloques de datos. Por supuesto, también pueden aparecer
problemas si se interrumpe una escritura síncrona debido a un fallo catastrófico.

La pérdida de la información es uno de los factores que se le debe de dar mayor


importancia, por la sencilla razón de que al perder información se puede perder lo
que no nos podemos imaginar en cuanto a la misma y ocasionar perdidas hasta
hablar de una gran cantidad de dinero.

Para solucionar este o estos problemas todo sistema operativo cuenta con al menos
una herramienta de software que nos permite recuperar información perdida hasta
cierta medida, esto obedece de acuerdo al daño causado o los daños. Si el sistema
no cuenta con la herramienta necesaria, deberá adquirirse el software apropiado de
algún fabricante especializado en el ramo, por ejemplo, Norton.

Es necesario proteger la información alojada en el sistema de archivos, efectuando


los resguardos correspondientes.

De esta manera se evitan las consecuencias generalmente catastróficas de la


pérdida de los sistemas de archivos.

Las pérdidas se pueden deber a problemas de hardware, software, hechos externos,


etc.

Manejo de un bloque defectuoso:


Se utilizan soluciones por hardware y por software.
La solución en hardware:
 Consiste en dedicar un sector del disco a la lista de bloques defectuosos.
 Al inicializar el controlador por primera vez:
o Lee la “lista de bloques defectuosos”.
o Elige un bloque (o pista) de reserva para reemplazar los defectuosos.
o Registra la asociación en la lista de bloques defectuosos.
o En lo sucesivo, las solicitudes del bloque defectuoso utilizarán el de
repuesto.

La solución en software:

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

 Requiere que el usuario o el sistema de archivos construyan un archivo con


todos los bloques defectuosos.
 Se los elimina de la “lista de bloques libres”.
 Se crea un “archivo de bloques defectuosos”:
o Está constituido por los bloques defectuosos.
o No debe ser leído ni escrito.
o No se debe intentar obtener copias de respaldo de este archivo.

Los discos magnéticos fallan en ocasiones y es necesario tener cuidado para


garantizar que los datos perdidos debido a esos fallos no se pierdan para siempre.
Con este fin, pueden utilizarse programas del sistema para realizar una copia de
seguridad de los datos del disco en otro dispositivo de almacenamiento, como por
ejemplo un disquete, una cinta magnética, un disco óptico incluso otro disco duro.

La recuperación de la pérdida de un archivo individual o de un disco completo puede


ser entonces, simplemente, una cuestión de restaurar los datos a partir de la copia
de seguridad.
Los respaldos pueden consistir en efectuar copias completas del contenido de los
discos (flexibles o rígidos).

Una estrategia de respaldo consiste en dividir los discos en áreas de datos y áreas
de respaldo , utilizándolas de a pares:
 Se desperdicia la mitad del almacenamiento de datos en disco para respaldo.
 Cada noche (o en el momento que se establezca), la parte de datos de la
unidad 0 se copia a la parte de respaldo de la unidad 1 y viceversa.

Otra estrategia es el vaciado por incrementos o respaldo incremental :


 Se obtiene una copia de respaldo periódicamente (por ej.: una vez por mes o
por semana), llamada copia total.
 Se obtiene una copia diaria solo de aquellos archivos modificados desde la
última copia total; en estrategias mejoradas, se copian solo aquellos archivos
modificados desde la última vez que dichos archivos fueron copiados.
 Se debe mantener en el disco información de control como una “lista de los
tiempos de copiado” de cada archivo, la que debe ser actualizada cada vez
que se obtienen copias de los archivos y cada vez que los archivos son
modificados.
 Puede requerir una gran cantidad de cintas de respaldo dedicadas a los
respaldos diarios entre respaldos completos.
Para minimizar la cantidad de datos que haya que copiar, podemos utilizar la
información contenida en la entrada de directorio de cada archivo.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Por ejemplo, si el programa de copia de seguridad sabe cuándo se realizó la última


copia de seguridad de un archivo y la fecha de última modificación del archivo
contenida en el directorio indica que el archivo no ha cambiado desde esa fecha, no
será necesario volver a copiar el archivo. Así un plan típico de copia de seguridad
podría ser el siguiente:

•  Día 1. Copiar en el soporte de copia de seguridad todos los archivos del disco.
Esto se denomina copia de seguridad completa.

•  Día 2. Copiar en otro soporte físico todos los archivos que se hayan modificado
desde el día 1. Esta es una copia de seguridad incremental.

•  Día 3. Copiar en otro soporte físico todos los archivos que se hayan modificado
desde el día 2.

•  Día N. Copiar en otro soporte físico todos los archivos que se hayan modificado
desde el día N - 1. Después, volver al día 1.

Podemos escribir las copias de seguridad correspondientes al nuevo ciclo sobre el


conjunto anterior de soportes físicos o en un nuevo conjunto de soportes de copia de
seguridad. De esta forma, podemos restaurar un disco completo comenzando la
restauración con la copia de seguridad completa y continuando con cada una de las
copias de seguridad incrementales.

Por supuesto, cuanto mayor sea el valor de N, más cintas o discos habrá que leer
para efectuar una restauración completa. Una ventaja adicional de este ciclo de
copia de seguridad es que podemos restaurar cualquier archivo que haya sido
borrado accidentalmente durante ese ciclo, extrayendo el archivo borrado de la
copia de seguridad del día anterior. La longitud del ciclo será un compromiso entre la
cantidad de soportes físicos de copia de seguridad requeridos y el número de días
pasados a partir de los cuales podamos realizar una restauración.

Para reducir el número de cintas que haya que leer para efectuar una restauración,
una opción consiste en realizar una copia de seguridad completa y luego copiar
cada día todos los archivos que hayan cambiado desde la última copia de seguridad
completa. De esta forma, puede realizarse la restauración utilizando sólo la copia de
seguridad incremental más reciente y la copia de seguridad completa, no
necesitándose ninguna otra copia de seguridad incremental.

El compromiso inherente a este sistema es que el número de archivos modificado se


incrementa a diario, por lo que cada copia de seguridad incremental sucesiva
contiene más archivos y requiere más espacio en el soporte de copia de seguridad.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Consistencia del sistema de archivos


Muchos sistemas de archivos leen bloques, los modifican y escriben en ellos
después.
Si el sistema falla antes de escribir en los bloques modificados, el sistema de
archivos puede quedar en un “estado inconsistente”.
La inconsistencia es particularmente crítica si alguno de los bloques afectados es:
 Bloques de nodos-i.
 Bloques de directorios.
 Bloques de la lista de bloques libres.

La mayoría de los sistemas dispone de un programa utilitario que verifica


la consistencia del sistema de archivos:
 Se pueden ejecutar al arrancar el sistema o a pedido.
 Pueden actuar sobre todos o algunos de los discos.
 Pueden efectuar verificaciones a nivel de bloques y a nivel de archivos.
 La consistencia del sistema de archivos no asegura la consistencia interna de
cada archivo, respecto de su contenido.
 Generalmente pueden verificar también el sistema de directorios y / o de
bibliotecas.
Generalmente los utilitarios utilizan dos tablas:
 Tabla de bloques en uso.
 Tabla de bloques libres.
 Cada bloque debe estar referenciado en una de ellas.
Si un bloque no aparece en ninguna de las tablas se trata de una falla
llamada bloque faltante:
 No produce daños, pero desperdicia espacio en disco.
 Se soluciona añadiendo el bloque a la tabla de bloques libres.

También podría detectarse la situación de falla debida a un bloque referenciado dos


veces en la tabla de bloques libres:
 Esta falla no se produce en los sistemas de archivos basados en mapas de
bits, sí en los basados en tablas o listas.
 La solución consiste en depurar la tabla de bloques libres

Una falla muy grave es que el mismo bloque de datos aparezca referenciado


dos o más veces en la tabla de bloques en uso:

 Como parte del mismo o de distintos archivos.


 Si uno de los archivos se borra, el bloque aparecería en la tabla de bloques
libres y también en la de bloques en uso.
 Una solución es que el verificador del sistema de archivos:

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

o Asigne un bloque libre.


o Copie en el bloque libre el contenido del bloque conflictivo.
o Actualice las tablas afectando el bloque copia a alguno de los archivos.
o Agregue el bloque conflictivo a la tabla de bloques libres.
o Informe al usuario para que verifique el daño detectado y la solución
dada.

Otro error posible es que un bloque esté en la tabla de bloques en uso y en la


tabla de bloques libres:

 Se soluciona eliminándolo de la tabla de bloques libres.


Las verificaciones de directorios incluyen controles como:
 Número de directorios que apuntan a un nodo-i con los contadores de
enlaces almacenados en los propios nodos-i; en un sistema consistente de
archivos deben coincidir.

Una posible falla es que el contador de enlaces sea mayor que el número de
entradas del directorio:

 Aunque se eliminaran todos los archivos de los directorios el contador sería


distinto de cero y no se podría eliminar el nodo-i.
 No se trata de un error serio, pero produce desperdicio de espacio en disco
con archivos que no se encuentran en ningún directorio.
 Se soluciona haciendo que el contador de enlaces en el nodo-i tome el valor
correcto; si el valor correcto es 0, el archivo debe eliminarse.

6. PROTECCIÓN Y SEGURIDAD

6.1. Concepto y objetivos de protección

La protección es un mecanismo control de acceso de los programas, procesos o usuarios al


sistema o recursos.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Hay importantes razones para proveer protección. La más obvia es la necesidad de


prevenirse de violaciones intencionales de acceso por un usuario.

Otras de importancia son, la necesidad de asegurar que cada componente de un programa,


use solo los recursos del sistema de acuerdo con las políticas fijadas para el uso de esos
recursos.

Un recurso desprotegido no puede defenderse contra el uso no autorizado o de un usuario


incompetente. Los sistemas orientados a la protección proveen maneras de distinguir entre
uso autorizado y desautorizado.

Objetivos
1.- Inicialmente protección del SO frente a usuarios poco confiables.
2.- Protección: control para que cada componente activo de un proceso solo pueda acceder
a los recursos especificados, y solo en forma congruente con la política establecida.
3.- La mejora de la protección implica también una mejora de la seguridad.
4.- Las políticas de uso se establecen:
 Por el hardware.
 Por el administrador / SO.
 Por el usuario propietario del recurso.
5.- Principio de separación entre mecanismo y política:
 Mecanismo → con que elementos (hardware y/o software) se realiza la protección.
 Política → es el conjunto de decisiones que se toman para especificar como se usan
esos elementos de protección.
6.- La política puede variar
• Dependiendo de la aplicación,
• A lo largo del tiempo.
7.-La protección no solo es cuestión del administrador, sino también del usuario.
8.-El sistema de protección debe:

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

 Distinguir entre usos autorizados y no-autorizados.


 Especificar el tipo de control de acceso impuesto.
 Proveer medios para el aseguramiento de la protección.

6.2. Funciones del sistema de protección

Control de acceso que hace referencia a las características de seguridad que controlan quien
puede obtener acceso a los recursos de un sistema operativo. Las aplicaciones llaman a las
funciones de control de acceso para establecer quien puede obtener acceso a los recursos
específicos o controlar el acceso a los recursos proporcionados por la aplicación.

Un sistema de protección deberá tener la flexibilidad suficiente para poder imponer una
diversidad de políticas y mecanismos.

Existen varios mecanismos que pueden usarse para asegurar los archivos, segmentos de
memoria, CPU, y otros recursos administrados por el Sistema Operativo.

Por ejemplo, el direccionamiento de memoria asegura que unos procesos puedan ejecutarse
solo dentro de sus propios espacios de dirección. El timer asegura que los procesos no
obtengan el control de la CPU en forma indefinida.

La protección se refiere a los mecanismos para controlar el acceso de programas, procesos,


o usuarios a los recursos definidos por un sistema de computación. Seguridad es la serie de
problemas relativos a asegurar la integridad del sistema y sus datos.

Hay importantes razones para proveer protección. La mas obvia es la necesidad de


prevenirse de violaciones intencionales de acceso por un usuario. Otras de importancia son,
la necesidad de asegurar que cada componente de un programa, use solo los recursos del
sistema de acuerdo con las políticas fijadas para el uso de esos recursos.

Un recurso desprotegido no puede defenderse contra el uso no autorizado o de un usuario


incompetente. Los sistemas orientados a la protección proveen maneras de distinguir entre
uso autorizado y desautorizado.

Mecanismos y Políticas

El sistema de protección tiene la función de proveer un mecanismo para el fortalecimiento


de las políticas que gobiernan el uso de recursos.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Tales políticas se pueden establecer de varias maneras, algunas en el diseño del sistema y
otras son formuladas por el administrador del sistema. Otras pueden ser definidas por los
usuarios individuales para proteger sus propios archivos y programas.

Las políticas son diversas, dependen de la aplicación y pueden estar sujetas a cambios a lo
largo del tiempo.
Un principio importante es la separación de políticas de los mecanismos. ‘Los mecanismos
determinan como algo se hará. Las políticas deciden que se hará'.

La separación es importante para la flexibilidad del sistema.

Dentro de las funciones del sistema de protección del sistema operativo encontramos:
• Controlar el acceso a los recursos
• Asegurarse que todos los accesos a los recursos del sistema están controlados.

6.3. Implantación de matrices de acceso

Los derechos de acceso definen que acceso tienen varios sujetos sobre varios objetos. Los
sujetos a acceden a los objetos. Los objetos son entidades que contienen información.

Los objetos pueden ser:

Concretos:
Ej.: discos, cintas, procesadores, almacenamiento, etc.

Abstractos:
Ej.: estructuras de datos, de procesos, etc.

Los objetos están protegidos contra los sujetos. Las autorizaciones a un sistema se conceden
a los sujetos.
Los sujetos pueden ser varios tipos de entidades:
Ej.: usuarios, procesos, programas, otras entidades, etc.
Los derechos de acceso mas comunes son:

 Acceso de lectura.
 Acceso de escritura.
 Acceso de ejecucion.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Una forma de implementación es mediante una matriz de control de acceso con:

 Filas para los sujetos.


 Columnas para los objetos.
 Celdas de la matriz para los derechos de acceso que un usuario tiene a un objeto.
 Una matriz de control de acceso debe ser muy celosamente protegida por el S. O.

Dominios de protección

Un sistema de cómputos contiene muchos objetos que necesitan proteccion. Estos objetos
pueden ser el hardware, la CPU, los segmentos de memoria, terminales, unidades de disco o
impresoras; o bien ser del software, como los proceso, archivos, bases de datos o semáforos.

Cada objeto tiene un único nombre mediante el cual se la hace referencia y un conjunto de
operaciones que se pueden realizar en el. READ y WRITE son operaciones adecuadas para un
archivo; UP y DOWN tiene sentido en un semáforo.

Es evidente que se necesita una vía para prohibir el acceso de los procesos a los objetos a los
que no tiene permitido dicho acceso. Además, este mecanismo debe posibilitar la restricción
de los procesos a un subconjunto de operaciones legales en caso necesario. Por ejemplo,
puede permitirse que el proceso A lea el archivo F, pero no escriba en el.

Para tener una forma de analizar los distintos mecanismos de protección, es conveniente
presentar el concepto de dominio. Un dominio es un conjunto de parejas (objeto, derechos).
Cada pareja determina un objeto y cierto subconjunto de las operaciones que se pueden
llevar a cabo en él. Un derecho es, en este contexto, el permiso para realizar alguna de las
operaciones.

Una pregunta importante es la forma en que el sistema lleva un registro de los objetos que
pertenecen a un dominio dado. Al menos una teoría, uno puede imaginar una enorme
matriz, en la que los renglones son los dominios y las columnas son los objetos. Cada cuadro
contiene los derechos correspondientes al objeto en ese dominio. Con esta matriz y el
número de dominio activo, el sistema puede determinar si se permite el acceso de cierta
forma a un objeto dado desde un domino especifico.

Un dominio es un conjunto de parejas (objeto, derechos):

Cada pareja determina:


Un objeto.
Un subconjunto de las operaciones que se pueden llevar a cabo en él.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Un derecho es el permiso para realizar alguna de las operaciones.

Es posible que un objeto se encuentre en varios dominios con “distintos” derechos en cada
dominio.
Un proceso se ejecuta en alguno de los dominios de protección:

Existe una colección de objetos a los que puede tener acceso.


Cada objeto tiene cierto conjunto de derechos.

Los procesos pueden alternar entre los dominios durante la ejecución. Una llamada al S. O.
provoca una alternancia de dominio. En algunos S. O. los dominios se llaman anillos.
Una forma en la que el S. O. lleva un registro de los objetos que pertenecen a cada dominio
es mediante una matriz:

Los renglones son los dominios.


Las columnas son los objetos.
Cada elemento de la matriz contiene los derechos correspondientes al objeto en ese
dominio, por ej.: leer, escribir, ejecutar.

Matriz de acceso

El modelo de protección del sistema se puede ver en forma abstracta como una matriz, la
matriz de acceso.

Una matriz de acceso es una representación abstracta del concepto de dominio de


protección.

Este modelo fue propuesto por Lampson como una descripción generalizada de mecanismos
de protección en sistemas operativos. Es el modelo más utilizado, del que existen numerosas
variaciones, especialmente en su implementación.

Los elementos básicos del modelo son los siguientes:

• Sujeto: Una entidad capaz de acceder a los objetos. En general, el concepto de sujeto es
equiparable con el de proceso. Cualquier usuario o aplicación consigue acceder en realidad a
un objeto por medio de un proceso que representa al usuario o a la aplicación.

• Objeto: Cualquier cosa cuyo acceso debe controlarse. Como ejemplo se incluyen los
archivos, partes de archivos, programas y segmentos de memoria.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

• Derecho de acceso: la manera en que un sujeto accede a un objeto. Como ejemplo están
Leer, Escribir y Ejecutar.

El modelo considera un conjunto de recursos, denominados objetos, cuyo acceso debe ser
controlado y un conjunto de sujetos que acceden a dichos objetos. Existe también un
conjunto de permisos de acceso que especifica los diferentes permisos que los sujetos
pueden tener sobre los objetos (normalmente lectura, escritura, etc., aunque pueden ser
diferentes, en general, dependiendo de las operaciones que puedan realizarse con el
objeto).

Se trata de especificar para cada pareja (sujeto, objeto), los permisos de acceso que el sujeto
tiene sobre el objeto. Esto se representa mediante una matriz de acceso M que enfrenta
todos los sujetos con todos los objetos.

6.4. Protección basada en el lenguaje

La protección se logra con la ayuda del núcleo del SO que valida los intentos de acceso a
recursos.

El gasto de inspeccionar y validar todos los intentos de acceso a todos los recursos es muy
grande, por lo tanto, debe ser apoyada por hardware. Al aumentar la complejidad del SO, se
deben refinar los mecanismos de protección. Los sistemas de protección, no solo se
preocupan de si puedo acceder a un recurso, sino también de cómo lo accedo, por lo tanto,
los diseñadores de aplicaciones deben protegerlos, y no solo el SO. Los diseñadores de
aplicaciones mediante herramientas de los lenguajes de programación pueden declarar la
protección junto con la tipificación de los datos.

Ventajas:
 Las necesidades de protección se declaran sencillamente y no llamando
procedimientos del SO.
 Las necesidades de protección pueden expresarse independientemente de los
recursos que ofrece el SO.
 El diseñador no debe proporcionar mecanismos para hacer cumplir la protección.
 Los privilegios de acceso están íntimamente relacionados con el tipo de datos que se
declara.

Diferencias entre las distintas formas de protección:

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

 Seguridad: La obligación de cumplimiento por núcleo ofrece un grado de seguridad


que el código de seguridad ofrecido por el compilador.
 Flexibilidad: La flexibilidad de la implementación por núcleo es limitada. Si un
lenguaje no ofrece suficiente flexibilidad, se puede extender o sustituir, perturbando
menos cambios en el sistema que si tuviera que modificarse el núcleo.
 Eficiencia: Se logra mayor eficiencia cuando el hardware apoya la protección. La
especificación de protección en un lenguaje de programación permite describir en
alto nivel las políticas de asignación y uso de recursos.

La especificación de protección en un lenguaje de programación permite describir en alto


nivel las políticas de asignación y uso de recursos. El programador de aplicaciones necesita
un mecanismo de control de acceso seguro y dinámico para distribuir capacidades a los
recursos del sistema entre los procesos de usuario.

Las construcciones que permiten al programador declarar las restricciones tienen tres
operaciones básicas.

 Distribuir capacidades de manera segura y eficiente entre procesos clientes.


 Especificar el tipo de operaciones que un proceso podría invocar en un recurso
asignado.
 Especificar el orden en que un proceso dado puede invocar las operaciones de un
recurso.
 La especificación de protección en un lenguaje de programación permite la
descripción de alto nivel de políticas para la asignación y uso de recursos.
 La implementación del lenguaje puede proveer software para hacer cumplir la
protección cuando no se pueda validar si el hardware está soportado.
 Interpretar las especificaciones de protección para generar llamadas en cualquier
sistema de protección provisto por el hardware y el SO.

Protección en java 2

La protección la maneja la máquina virtual (JVM)


La JVM asigna un dominio de protección a una clase cuando la carga.
El dominio de protección indica qué operaciones puede (y no puede) realizar la clase.
Si se invoca un método de biblioteca y éste realiza una operación privilegiada, se examina el
stack para asegurar que la biblioteca pueda realizar la operación.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

La protección que se ofrece en los sistemas de computación existentes casi siempre se ha


logrado con la ayuda del núcleo de un sistema operativo, que actúa como agente de
seguridad que inspecciona y valida cada intento por acceder a un recurso protegido. Puesto
que la validación de todos los accesos puede dar pie a un gasto extra considerable, debemos
apoyarla con hardware para reducir el costo de cada validación o bien debemos aceptar que
el diseñador del sistema podría inclinarse por sacrificar los objetivos de la protección. Es
difícil satisfacer todos estos objetivos si los mecanismos de soporte con que se cuenta
restringen la flexibilidad para implementar diversas políticas de protección.

A medida que ha aumentado la complejidad de los sistemas operativos, sobre todo al trata
de ofrecer interfaces de más alto nivel con el usuario, lo objetivos de la protección se han
vuelto mucho más refinados. En esta refinación observamos que los diseñadores de los
diseñadores de los sistemas de protección se han apoyado mucho en ideas que se originaron
en los lenguajes de programación y especialmente en los conceptos de tipos de datos
abstractos y objetos. Los sistemas de protección ahora se ocupan no sólo de la identidad de
un recurso al cual se intenta acceder, sino también de la naturaleza funcional de ese acceso.
En los sistemas de protección más nuevos, el interés en la función que se invocará se
extiende más allá de un conjunto de funciones definidas por el sistema, como los métodos
de acceso a archivos estándar, para incluir funciones que también podrían ser definidas por
el usuario.

Las políticas para el uso de recursos también podrían variar, dependiendo de la aplicación, y
podrían cambiar con el tiempo. Por estas razones, la protección ya no puede considerarse
como un asunto que sólo concierne al diseñador de un sistema operativo; también debe
estar disponible como herramienta que el diseñador de aplicaciones pueda usar para
proteger los recursos de un subsistema de aplicación contra intervenciones o errores.

Aquí es donde los lenguajes de programación entran en escena. Especificar el control de


acceso deseado a un recurso compartido en un sistema es hacer una declaración acerca del
recurso. Este tipo de declaración se puede integrar en un lenguaje mediante una extensión
de su mecanismo de tipificación. Si se declara la protección junto con la tipificación de los
datos, el diseñado de cada subsistema puede especificar sus necesidades de protección así
debería darse directamente durante la redacción del programa, y en el lenguaje en el que el
programa mismo se expresa. Este enfoque tiene varias ventajas importantes:

Las necesidades de protección se declaran de forma sencilla en vez de programarse como


una secuencia de llamadas a procedimientos de un sistema operativo.

Las necesidades de protección pueden expresarse independientemente de los recursos que


ofrezca un sistema operativo en particular.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

El diseñador de un subsistema no tiene que proporcionar los mecanismos para hacer


cumplir la protección.

Una notación declarativa es natural porque los privilegios de acceso están íntimamente
relacionados con el concepto lingüístico de tipo de datos.

Hay diversas técnicas que una implementación de lenguaje de programación puede utilizar
para hacer cumplir la protección, pero cualquiera de ellas deberá depender hasta cierto
punto del grado de soporte de una máquina subyacente y su sistema operativo.

¿Qué ventajas relativas tiene entonces el cumplimiento basado exclusivamente en un


núcleo, en comparación con el cumplimiento forzado en gran medida por un compilador?

Seguridad: La obligación del cumplimiento por un núcleo ofrece un mayor grado de


seguridad del sistema de protección mismo, que el que ofrece la generación de código de
verificación de protección por un compilador. En un esquema apoyado por compilador, la
seguridad depende de lo correcto que sea el traductor, de algún mecanismo subyacente de
gestión de almacenamiento que proteja los segmentos desde los cuales se ejecuta el código
compilador y, en última instancia, de la seguridad de los archivos desde los que se carga el
programa.

Flexibilidad: Hay límites a la flexibilidad de un núcleo de protección para implementar una


política definida por el usuario, aunque podría proporcionar recursos suficientes para que el
sistema haga cumplir sus propias políticas. Con un lenguaje de programación, se puede
declarar la política de protección y hacerse cumplir según sea necesario en una
implementación.

Eficiencia: Se logra la eficiencia máxima cuando hardware apoya directamente el


cumplimiento de la protección. En la medida en que se requiera soporte de software, el
cumplimiento basado en el lenguaje tiene la ventaja de que es posible verificar el
cumplimiento del acceso estático fuera de línea en el momento de la compilación.

En síntesis, la especificación de la protección en un lenguaje de programación permite


describir un alto nivel de políticas de asignación y uso de recursos.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

6.5. Concepto de seguridad

Los términos seguridad y protección se utilizan en forma indistinta. Sin embargo, es útil
hacer una distinción entre los problemas generales relativos a la garantía de que los archivos
no sea leídos o modificados por personal no autorizado, lo que incluye aspectos técnicos, de
administración, legales y políticos, por un lado y los sistemas específicos del sistema
operativo utilizados para proporcionar la seguridad, por el otro.

Para evitar la confusión, utilizaremos el termino seguridad para referirnos al problema


general y el termino mecanismo de protección para referirnos a los mecanismos específicos
del sistema operativo utilizado para resguardar la información de la computadora. Sin
embargo, la frontera entre ellos no está bien definida.

La seguridad tiene muchas facetas. Dos de las más importantes son la perdida de datos y los
intrusos. Algunas de las causas más comunes de la perdida de datos son:

• Actos divinos: Incendios, inundaciones, terremotos, guerras, revoluciones o ratas que


roen las cintas o discos flexibles.

• errores de Hardware o Software: Mal funcionamiento de la CPU, discos o cintas ilegibles,


errores de telecomunicación o errores en el programa.

• Errores Humanos: Entrada incorrecta de datos, mal montaje de las cintas o el disco,
ejecución incorrecta del programa, perdida de cintas o discos.

La mayoría de estas causas se pueden enfrentar con el mantenimiento de los respaldos


adecuados; de preferencia, en un lugar alejado de los datos originales.

Un problema más interesante es que hacer con los intrusos. Estos tienen dos variedades. Los
intrusos pasivos solo desean leer archivos que no están autorizados a leer.

Los intrusos activos son más crueles:

Desean hacer cambios no autorizados a los datos. Si se desea diseñar un sistema seguro
contra los intrusos, es importante tener en cuenta el tipo de intruso con el que se desea
tener protección.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Algunas de las categorías comunes son:

• Curiosidad casual de usuarios no técnicos. Muchas personas tienen en sus escritorios


terminales para sistemas con tiempo compartido y, por la naturaleza humana, algunos de
ellos leerán el correo electrónico de los demás u otros archivos, si no existen barreras en
frente de ellos. Por ejemplo, la mayoría de los sistemas UNIS tienen pre definido que todos
los archivos se pueden leer de manera pública.

• Conocidos husmeando. Algunos estudiantes, programadores de sistemas, operadores y


demás personal técnico consideran como un reto personal romper la seguridad del sistema
de cómputo local. A menudo son muy calificados y están dispuestos a invertir una cantidad
sustancial de su tiempo en este esfuerzo.

• Un intento deliberado de hacer dinero. Algunos programadores en banco han intentado


penetrar un sistema bancario con el fin de robarle al banco. Los esquemas han variado
desde cambiar el software para truncar y no redondear el interés, para quedarse con una
pequeña fracción de dinero, hasta sacar dinero de las cuentas que no se han utilizado en
anos o el "correo negro" .

• Espionaje comercias o militar. El espionaje indica un intento serio y fundamentado por


parte de un competidor u otro país para robar programas, secretos comerciales, patentes,
tecnología, diseño de circuitos, planes de comercialización, etc. A menudo, este intento
implica la cobertura de cables o el levantamiento de antenas hacia la computadora con el fin
de recoger su radiación electromagnética.

Debe quedar claro que el intento por mantener la KGB lejos de los secretos militares es un
poco distinto del intento por evitar que los estudiantes inserten un mensaje gracioso en el
sistema. La cantidad de esfuerzo que alguien pone en la seguridad y la protección depende
claramente de quien se piensa sea el enemigo.

Otro aspecto del problema de la seguridad es la privacidad: la protección de las personas


respecto del mal uso de la información en contra de uno mismo. Esto implica en forma casi
inmediata muchos aspectos morales y legales.

Para proteger un sistema, debemos optar las necesarias medidas de seguridad en cuatro
niveles distintos:

Físico.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

El nodo o nodos que contengan los sistemas informáticos deben dotarse de medidas de
seguridad físicas frente a posibles intrusiones armadas o subrepticias por parte de
potenciales intrusos. Hay que dotar de seguridad tanto a las habitaciones donde las
maquinas residan como a los terminales o estaciones de trabajo que tengan acceso a dichas
maquinas.

Humano.

La autorización de los usuarios debe llevarse a cabo con cuidado, para garantizar que solo
los usuarios apropiados tengan acceso al sistema. Sin embargo, incluso los usuarios
autorizados pueden verse “motivados” para permitir que otros usen su acceso (por ejemplo,
a cambio de un soborno). También pueden ser engañados para permitir el acceso de otros,
mediante técnicas de ingeniería social.

Uno de los tipos de ataque basado en las técnicas de ingeniería social es el denominado
phishing; con este tipo de ataque, un correo electrónico o página web de aspecto autentico
llevan a engaño a un usuario para que introduzca información confidencial.

Otra técnica comúnmente utilizada es el análisis de desperdicios, un término autorizado a la


computadora (por ejemplo, examinando el contenido de las papeleras, localizando listines
de teléfonos encontrando notas con contraseñas). Estos problemas de seguridad son
cuestiones relacionadas con la gestión y con el personal, más que problemas relativos a los
sistemas operativos.

Sistema operativo. El sistema debe autoprotegerse frente a los diversos fallos de seguridad
accidentales o premeditados. Un problema que este fuera de control puede llegar a
constituir un ataque accidental de denegación de servicio. Asimismo, una cierta consulta a
un servicio podría conducir a la revelación de contraseñas o un desbordamiento de la pila
podría permitir que se iniciara un proceso no autorizado. La lista de posibles fallos es casi
infinita.

Red. Son muchos los datos en los modernos sistemas informáticos que viajen a través de
líneas arrendadas privadas, de líneas compartidas como Internet, de conexiones
inalámbricas o de líneas de acceso telefónico.

La interceptación de estos datos podría ser tan dañina como el acceso a un computador, y la
interrupción en la comunicación podría constituir un ataque remoto de denegación de
servicio, disminuyendo la capacidad de uso del sistema y la confianza en el mismo por parte
de los usuarios.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Si queremos poder garantizar la seguridad del sistema operativo, es necesario garantizar la


seguridad en los primeros dos niveles. Cualquier debilidad en uno de los niveles altos de
seguridad (físico o humano) podría puentear las medidas de seguridad que son
estrictamente de bajo nivel (del nivel del sistema operativo).

Así, la frase que afirma que una cadena es tan fuerte como el más débil de sus eslabones es
especialmente cierta cuando hablamos de seguridad de los sistemas. Para poder mantener
la seguridad, debemos contemplar todos estos aspectos.

Además, el sistema debe proporcionar mecanismos de protección para permitir la


implementación de las características de seguridad.

Sin la capacidad de autorizar a los usuarios y procesos, de controlar su acceso y de registrar


sus actividades, sería imposible que un sistema operativo implementara medidas de
seguridad o se ejecutara de forma segura. Para soportar un esquema global de protección
hacen falta mecanismos de protección hardware. Por ejemplo, un sistema donde la memoria
no esté protegida no puede nunca estar seguro.

6.6. Clasificaciones de la seguridad

La seguridad interna está relacionada a los controles incorporados al hardware y al Sistema


Operativo para asegurar los recursos del sistema.

Seguridad Externa
La seguridad externa consiste en:

 Seguridad física.
 Seguridad operacional.
 La seguridad física incluye:
 Protección contra desastres (como inundaciones, incendios, etc.).
 Protección contra intrusos.
 En la seguridad física son importantes los mecanismos de detección , algunos
ejemplos son:
 Detectores de humo.
 Sensores de calor.
 Detectores de movimiento.
La protección contra desastres puede ser costosa y frecuentemente no se analiza en detalle;
depende en gran medida de las consecuencias de la perdida.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

La seguridad física trata especialmente de impedir la entrada de intrusos:

Se utilizan sistemas de identificación física:


 Tarjetas de identificación.
 Sistemas de huellas digitales.
 Identificación por medio de la voz.
 Seguridad Operacional

Consiste en las diferentes políticas y procedimientos implementados por la administración


de la instalación computacional.

La autorización determina que acceso se permite y a quien.

La clasificación divide el problema en subproblemas:

Los datos del sistema y los usuarios se dividen en clases:


A las clases se conceden diferentes derechos de acceso.
Un aspecto critico es la selección y asignación de personal:

La pregunta es si se puede confiar en la gente.

El tratamiento que generalmente se da al problema es la división de responsabilidades:


Se otorgan distintos conjuntos de responsabilidades.

No es necesario que se conozca la totalidad del sistema para cumplir con esas
responsabilidades.

Para poder comprometer al sistema puede ser necesaria la cooperación entre muchas
personas:

 Se reduce la probabilidad de violar la seguridad.


 Debe instrumentarse un gran número de verificaciones y balances en el sistema para
ayudar a la detección de brechas en la seguridad.

El personal debe estar al tanto de que el sistema dispone de controles, pero


 Debe desconocer cuales son esos controles:
 Se reduce la probabilidad de poder evitarlos.
 Debe producirse un efecto disuasivo respecto de posibles intentos de violar la
seguridad.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Para diseñar medidas efectivas de seguridad se debe primero:

 Enumerar y comprender las amenazas potenciales.


 Definir qué grado de seguridad se desea (y cuanto se está dispuesto a gastar en
seguridad).
 Analizar las contramedidas disponibles.

6.7. Validación y amenazas al sistema

Identificar cada usuario que está trabajando en el sistema (usando los recursos).
Uso de contraseñas.
Vulnerabilidad de contraseñas.

1.- Que sean complejas y difíciles de adivinar.


2.- Cambiarlas de vez en cuando.
3.- Peligro de pérdida del secreto.
La contraseña debe guardare cifrada.
Protección por Contraseña

Las clases de elementos de autentificación para establecer la identidad de una persona son:

Algo sobre la persona:


Ej.: huellas digitales, registro de la voz, fotografía, firma, etc.

Algo poseído por la persona:


Ej.: insignias especiales, tarjetas de identificación, llaves, etc.

Algo conocido por la persona:


Ej.: contraseñas, combinaciones de cerraduras, etc.

El esquema más común de autentificación es la protección por contraseña:

El usuario elige una palabra clave, la memoriza, la teclea para ser admitido en el sistema
computarizado:

La clave no debe desplegarse en pantalla ni aparecer impresa.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

La protección por contraseñas tiene ciertas desventajas si no se utilizan criterios adecuados


para:

Elegir las contraseñas.

 Comunicarlas fehacientemente en caso de que sea necesario.


 Destruir las contraseñas luego de que han sido comunicadas.
 Modificarlas luego de algún tiempo.

Los usuarios tienden a elegir contraseñas fáciles de recordar:

 Nombre de un amigo, pariente, perro, gato, etc.


 Numero de documento, domicilio, patente del auto, etc.

Estos datos podrían ser conocidos por quien intente una violación a la seguridad mediante
intentos repetidos, por lo tanto, debe limitarse la cantidad de intentos fallidos de acierto
para el ingreso de la contraseña.

La contraseña no debe ser muy corta para no facilitar la probabilidad de acierto.

Tampoco debe ser muy larga para que no se dificulte su memorización, ya que los usuarios
la anotarían por miedo a no recordarla y ello incrementaría los riesgos de que trascienda.

Contraseñas de un solo uso

• Al final de cada sesión, se le pide al usuario que cambie la contraseña.

• Si alguien “roba una contraseña”, el verdadero usuario se dará cuenta cuando vaya a
identificarse de nuevo, pues el impostor habrá cambiado la contraseña, con lo que el fallo de
seguridad queda detectado.

Verificación de Amenazas

Es una técnica según la cual los usuarios no pueden tener acceso directo a un recurso:

Solo lo tienen las rutinas del S. O. llamadas programas de vigilancia.

El usuario solicita el acceso al S. O.


El S. O. niega o permite el acceso.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

El acceso lo hace un programa de vigilancia que luego pasa los resultados al programa del
usuario.

Permite:
 Detectar los intentos de penetración en el momento en que se producen.
 Advertir en consecuencia.
 Amenazas relacionadas con los programas

Los procesos son junto con el kernel, el único medio de realizar un trabajo útil

en una computadora. Por tanto, un objetivo común de los piratas informáticos consiste en
escribir un programa que cree una brecha de seguridad. De hecho, las mayorías de las
brechas de seguridad no relacionadas con programas tienen por objetivos crear una brecha
que si está basada en un programa.

Por ejemplo, aunque resulta útil iniciar una sesión en un sistema sin autorización,
normalmente es mucho más útil dejar un demonio de tipo puerta trasera que proporcione
información o que permita un fácil acceso incluso aunque se bloquee la brecha de seguridad
original.

En esta sección, vamos a describir algunos métodos comunes mediante los cuales los
programas pueden provocar brechas de seguridad. Hay que resaltar que existe una
considerable variación en lo que respecta a los convenios de denominación de los agujeros
de seguridad, y que en este texto utilizamos los términos más comunes o descriptivos.

6.8. Cifrado.

Existen muchas defensas frente a los ataques informáticos, que abarcan toda la gama que va
desde la metodología a la tecnología. La herramienta de carácter más general que está a
disposición de los usuarios y de los diseñadores de sistemas es la criptografía. En esta
sección vamos a explicar algunos detalles acerca de la criptografía y de su uso en el campo
de la seguridad informática.

En una computadora aislada, el sistema operativo puede determinar de manera fiable


quienes son el emisor y el receptor de todas las comunicaciones interprocesos, ya que el
sistema operativo controla todos los canales de comunicaciones de la computadora. En una

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

red de computadoras, la situación es bastante distinta. Una computadora conectada a la red


recibe bits desde el exterior, y no tiene ninguna forma inmediata y fiable de determinar que
maquina o aplicación ha enviado esos bits. De forma similar, la propia computadora envía
bits hacia la red sin tener ninguna forma de determinar quién puede llegar a recibirlos.

Comúnmente, se utilizan las direcciones de red para inferir los emisores y receptores
potenciales de los mensajes que circulan por la red. Los paquetes de red llegan con una
dirección de origen, como por ejemplo una dirección IP.

Y cuando una computadora envía mensajes, indica quinen es el receptor pretendido del
mismo especificando una dirección de destino.

Sin embargo, para aquellas aplicaciones en que la seguridad tenga importancia, correríamos
el riesgo de meternos en problemas si asumiéramos que la dirección de origen o de destino
de un paquete permite determinar con fiabilidad quien ha enviado o recibido dicho paquete.
Una computadora maliciosa podría enviar un mensaje con una dirección de origen
falsificada y, asimismo, otras muchas computadoras distintas de la especificada por la
dirección de destino podrían (y normalmente hacen) recibir un paquete. Por ejemplo, todos
los encaminadores ubicados en la ruta hacia el destino recibirán también el paquete.

¿Cómo puede, entonces, decidir el sistema operativo si debe conceder una solicitud, cuando
no puede confiar en el origen especificado en dicha solicitud? y como se supone que debe
proporcionar protección para una solicitud o para un conjunto de datos, cuando no puede
determinar quién recibirá la respuesta o el contenido del mensaje que envié a través de la
red?

Generalmente, se considera impracticable construir una red (de cualquier tamaño) en la que
se pueda “confiar” en este sentido en las direcciones de origen y destino de los paquetes.
Por tanto, la única alternativa es eliminar, de alguna manera, la necesidad de confiar en la
red; este es el trabajo de la criptografía.

Desde un punto de vista abstracto, la criptografía se utiliza para restringir los emisores y/o
receptores potenciales de un mensaje.

La criptografía moderna se basa en una serie de secretos, denominados clave, que se


distribuyen selectivamente a las computadoras de una red y se utilizan para procesar
mensajes. La criptografía permite al receptor de un mensaje verificar que el mensaje ha sido
creado por alguna computadora que posee una cierta clave: esa clave es el origen del
mensaje. De forma similar, un emisor puede codificar su mensaje de modo que solo una
computadora que disponga de una cierta clave pueda decodificar el mensaje, de manera

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

que esa clave se convierte en el destino. Sin embargo, a diferencia de las direcciones de red,
las claves están diseñadas de modo que no sea computacionalmente factible calcularlas a
partir de los mensajes que se hayan generado con ellas, ni a partir de ninguna otra
información pública. Por tanto, las claves proporcionan un medio mucho más fiable de
restringir los emisores y receptores de los mensajes. Observe que la criptografía es un
campo de estudio completo por derecho propio, con una gran complejidad; aquí, vamos a
explorar únicamente los aspectos más importantes de aquellas partes de la criptografía que
se relacionan con los sistemas operativos.

Sistema de privacidad criptográfico

En un sistema de privacidad criptográfico, el remitente desea transmitir cierto mensaje no


cifrado a un receptor legítimo, la transmisión ocurre sobre un canal inseguro asume ser
monitoreado o grabado en cinta por un intruso.

El remitente pasa el texto a una unidad de encriptación que transforma el texto a un texto
cifrado o criptograma; el mismo no es entendible por el intruso. El mensaje es transmitido
entonces, sobre un canal seguro. Al finalizar la recepción el texto cifrado pasa a una unidad
de descripción que regenera el texto.

Criptoanálisis

Criptoanálisis es el proceso de intentar regenerar el mensaje desde el texto cifrado, pero sin
conocimiento de las claves de encriptación.

Esta es la tarea normal de los intrusos. Si el intruso o criptoanalista no puede determinar un


mensaje desde el texto cifrado (sin la clave), entonces el sistema de criptografía es seguro.

MÉTODOS Y TÉCNICAS DE ENCRIPTACIÓN

Cesar

Esta técnica consistía simplemente en sustituir una letra por la situada tres lugares mas alla
en el alfabeto esto es la A se transformaba en D, la B en E y asi sucesivamente hasta que la Z
se convertía en C.

GRONSFELD

Este método utiliza más de un alfabeto cifrado para poner en clave el mensaje y que se
cambia de uno a otro según se pasa de una letra del texto en claro a otra.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Es decir que deben tenerse un conjunto de alfabetos cifrados y una forma de hacer
corresponder cada letra del texto original con uno de ellos.

RSA

En los sistemas tradicionales de cifrado debe comunicarse una clave entre el emisor y el
receptor del mensaje, el problema aquí es encontrar un canal seguro para transmitir dicha
clave. Este problema viene a resolverse en los sistemas de clave publica la clave de cifrado,
pues un tiempo enormemente de ordenador es necesario para encontrar una
transformación de descifrado a partir de la de cifrado.

DES

DES fue desarrollado por IBM a mediados de los setenta. Aunque tiene un buen diseño, su
tamaño de clave de 56 bits es demasiado pequeño para los patrones de hoy.

DES (Data Encryption Standard) es un mecanismo de encriptación de datos de uso


generalizado. Hay muchas implementaciones de hardware y software de DES. Este
transforma la información de texto llano en datos encriptados llamados texto cifrado
mediante el uso de un algoritmo especial y valor semilla llamado clave. Si el receptor conoce
la clave, podrá utilizarla para convertir el texto cifrado en los datos originales. Es un
mecanismo de encriptado simétrico.

Chaffing & Winnowing

Esta técnica propuesta por Donald Rivest. Es más, un intento de esquivar las restricciones a
la criptografía en EE.UU. (y otros países) que una propuesta razonable debido al tamaño de
los mensajes resultantes.

El termino inglés “winnowing” se tomará como aventar es decir separar el grano de la paja y
el término “chaffing” por el castellano empajar (cubrir o rellenar con paja). La idea básica
consiste en mezclar la información real (grano) con otra de relleno (paja) de modo que sea
imposible separarlas excepto para el destinatario.

SKIPJACK

Este algoritmo fue descalificado por el gobierno de Estados Unidos. Algunos detalles sobre el
algoritmo en sí y sus aplicaciones en la práctica a los chips Clipper y Capstone.

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

Skipjack fue desarrollado por la NSA inicialmente para los chips Clipper y Capstone. Su
diseño comenzó en 1985 y se completó su evaluación en 1990.

BIFIDO

El método Bifido es un cifrado fraccionario. Es decir que cada letra viene representada por
una o más letras o símbolos, y donde se trabaja con estos símbolos más que con las letras
mismas.

WLBYKYAAOTB

Este método altera la frecuencia de los caracteres a diferencia de lo que ocurre por ejemplo
con los cifrados monos alfabéticos. Admite algunas variaciones como por ejemplo dividir la
lista en 3, 4, ..., n partes.

Cifrado exponencial

Es un sistema basado en la exponenciación modular, debido Pohlig y Hellman (1978). Este


método es resistente al criptoanálisis.

Blowfish

Este algoritmo realiza un cifrado simple en 16 ciclos, con un tamaño de bloque de 64 bytes
para un total de 448 bits. Aunque hay una fase compleja de la inicialización. El cifrado de
datos es muy eficiente en los microprocesadores grandes.

7.REFERENCIAS:

- http://itpn.mx/recursosisc/3semestre/sistemasoperativos/Unidad%20II.pdf
- https://www.areatecnologia.com/sistemasoperativos.htm#
%C2%BFQue_es_el_Sistema_Operativo
- https://www.tecnologia-informatica.com/el-sistema-operativo/
- https://www.academia.edu/6474977/TEMA_2_PROCESOS_Y_ADMINISTRA
CION_D EL_PROCESADOR
- https://sites.google.com/site/materiasisoperativo/unidad -3-administracion-de-
lamemoria/3-2-memoria-real
- https://www.udg.co.cu/cmap/sistemas_operativos/administracion_memoria/ad
m inistracion_memoria/administracion_memoria.html

DE LA CRUZ LEYVA CHRISTIAN AXEL


Tecnológico de Estudios Superiores de Chalco Ingeniería Informática

- https://www.dc.fi.udc.es/~so-grado/SO-Memoria.pdf
- http://itpn.mx/recursositics/6semestre/sistemasoperativos1/Unidad%20V.pdf
- https://www.xataka.com/basics/sistemas-de-archivo-como-saber-cual-elegir-
al-formatear-tu-disco-duro-o-usb
- https://support.microsoft.com/es-mx/help/100108/overview-of-fat-hpfs-and-
ntfs-file-systems
- https://www.exabyteinformatica.com/uoc/Informatica/Estructura_de_computad
ores/Estructura_de_computadores_(Modulo_5).pdf
- https://laurel.datsi.fi.upm.es/_media/docencia/asignaturas/dso/entrada-
salida_09-4pp.pdf
- https://sites.google.com/site/materiasisoperativo/unidad -3-administracion-de-
lamemoria/3-2-memoria-real
- https://www.udg.co.cu/cmap/sistemas_operativos/administracion_memoria/ad
m inistracion_memoria/administracion_memoria.html
- https://www.dc.fi.udc.es/~so-grado/SO-Memoria.pdf
- http://itpn.mx/recursositics/6semestre/sistemasoperativos1/Unidad%20V.pdf
- https://www.xataka.com/basics/sistemas-de-archivo-como-saber-cual-elegir-
al-formatear-tu-disco-duro-o-usb
- https://support.microsoft.com/es-mx/help/100108/overview-of-fat-hpfs-and-
ntfs-file-systems

DE LA CRUZ LEYVA CHRISTIAN AXEL

También podría gustarte