You are on page 1of 32

ndice de contenidos

ndice de contenidos............................................................................................................... 1
El sistema informtico ............................................................................................................ 2
Software ............................................................................................................................. 2
Clasificacin........................................................................................................................ 2
Creacin ............................................................................................................................. 2
Licencias ............................................................................................................................. 3
El sistema Operativo .............................................................................................................. 4
Funciones ........................................................................................................................... 4
Componentes ..................................................................................................................... 5
Tipos ................................................................................................................................... 5
Gestin de procesos ........................................................................................................... 6
Estados de Procesos. Ciclo de vida ................................................................................ 7
Planificadores para la gestin de procesos ..................................................................... 8
Algoritmos de planificacin a corto plazo: ........................................................................ 9
Comunicacin y sincronizacin de procesos ................................................................ 11
Gestin de memoria .......................................................................................................... 11
Conceptos ..................................................................................................................... 12
Tcnicas de gestin de memoria ................................................................................... 13
Algoritmos de reemplazo ............................................................................................... 15
Gestin de Entrada/Salida ................................................................................................ 17
Conceptos ..................................................................................................................... 17
Tcnicas empleadas para la sincronizacin en la gestin de E/S .................................. 18
Gestin de almacenamiento .......................................................................................... 19
Estructura de directorios ................................................................................................ 30

El sistema informtico
Un sistema informtico es un conjunto de partes interrelacionadas. Un sistema informtico
tpico emplea un ordenador que usa dispositivos programables para capturar, almacenar y
procesar datos. Dicho ordenador, junto con la persona que lo maneja y los perifricos que lo
envuelven, resultan de por s un ejemplo de un sistema informtico.
Estructuralmente, un sistema informtico se puede dividir en partes, pero funcionalmente
indivisibles, en el sentido de que si se divide, pierde alguna de sus propiedades esenciales. Por
eso un sistema informtico sin alguna de sus partes no funcionar.

Todo sistema informtico est compuesto por tres elementos bsicos:


1. Un componente fsico (hardware) que incluye las placas, circuitos integrados,
conectores, cables y sistema de comunicaciones.
2. Un componente lgico (software) que permite disponer de un lenguaje lgico para
comunicarse con el hardware y controlarlo.
3. Un componente humano que est constituido por las personas que participan en la
direccin, diseo, desarrollo, implantacin y explotacin de un sistema informtico.

Software
Clasificacin
Podemos clasificar el software en tres grandes grupos:
a. Software de base: conjunto de programas necesarios para que el hardware
tenga capacidad de trabajar (hacen posible que la pantalla funcione, que
represente lo que se escribe desde el teclado, comunicarse con los perifricos,
etc.). Ejemplos: sistema operativo, intrprete, drives.
b. Software de aplicacin: programas que maneja el usuario (tratamiento de
textos, bases de datos, hojas de clculo...).
i.
De propsito general: son usados en cualquier sector productivo:
procesadores de texto, hojas de clculo, visualizadores pdf.
ii.
De propsito especfico o vertical: destinadas a un sector concreto.
iii.
De utilidades: destinado a facilitar el uso de nuestro equipo, ya sea
manejando cierto tipo de archivos, recuperando datos borrados o bien
grabando informacin en discos y otros soportes externos: Antivirus
c. Software de desarrollo: software utilizado para el desarrollo de programas
informticos. Depuradores, compiladores, ensambladores.

Creacin
La creacin de un software puede realizarse en varios lenguajes, los cuales tienen varios
niveles segn la cercana al usuario o al hardware:
1.

El lenguaje de alto nivel es aquel que se acerca ms al nivel del usuario para que ste
lo pueda entender. Ofrece herramientas como el control de flujo (Si, Si no, En caso de),
bucles (Mientras, hasta que, Para) para que el programador las incorpore a su cdigo,
facilitando el trabajo de programacin. Algunos ejemplos: JAVA, C++.

Los programas en escritos en lenguajes para ser ejecutados por el hardware deben ser
compilados /traducidos a lenguaje mquina.
2.

3.

Lenguajes de bajo nivel:


2.1.
El lenguaje ensamblador ya empieza a implementar una representacin
simblica de los cdigos de mquina binaria, los registros y otras constantes
necesarias para crear el software. Es dependiente de la arquitectura del
hardware accediendo directamente a posiciones de memoria, registros
generales
2.2.
El programa en lenguaje de especificacin o de seales, es aquel que est
diseado para sistemas complejos donde mdulos o entidades independientes
se comuniquen por medio de seales para efectuar su funcin.
El programa en lenguaje de mquina comienza por un sistema de cdigos que son un
conjunto de instrucciones directamente interpretables por un ordenador, y las que
deben ser realizadas y acatadas por el mismo. Es decir utiliza una serie de dgitos
binarios, 0 y 1, que especifican las operaciones, estos dgitos binarios sern
convertidos a voltajes. Este lenguaje es el que entiende la computadora, es muy difcil
de manejar en la comunicacin humana. Es dependiente totalmente de la arquitectura
de Hardware.

Una vez que se programa un software en un lenguaje de alto nivel, disponemos del cdigo
fuente el programa. Este cdigo puede ser visto, estudiado y modificado utilizando el mismo
lenguaje con el que se cre y un editor de dicho lenguaje.
El Cdigo fuente, por s solo, no puede ser ejecutado por el hardware, Siendo necesario un
proceso de compilacin, traduccin a cdigo objeto. El cdigo objeto puede ser ejecutado
directamente por el hardware para el que se compil, pero no puede ser interpretado,
estudiado o modificado por el ser humano.
A la hora de distribuir software una caracterstica diferenciadora ser la posibilidad de tener
disponible o no el cdigo fuente de ese programa.

Licencias
Una licencia es un acuerdo o contrato legal entre el desarrollador, o propietario de un
programa, y el usuario final que va a hacer uso del mismo.
El autor o propietario del programa tiene unos derechos patrimoniales que puede
reservarse:
-

Distribucin (Distribuir el software)


Cualquier forma de distribucin pblica del programa, es decir, su comercializacin o puesta a
disposicin del pblico a travs de soportes tangibles, incluyendo el alquiler del programa
original o de sus copias.

Transformacin (Manipulacin del software)


Realizar o autorizar la traduccin, adaptacin, arreglo o cualquier otra transformacin de un
programa de ordenador y la reproduccin de los resultados de tales actos, sin perjuicio de los
derechos de quien transforme el programa de ordenador. Por ejemplo, la versin de Linux para
hacer su propia distribucin partiendo de esta.

Comunicacin pblica (Compartir el software)

Se considera comunicacin pblica, la puesta a disposicin del pblico, a travs de Internet, o


de redes intranet, facilitando las descargas.

Reproduccin (Uso final del software)


Realizar o autorizar la reproduccin total o parcial, incluso para uso personal, de un programa de
ordenador, por cualquier medio y bajo cualquier forma ya fuere permanente o transitoria. Se
trata del derecho a la mera produccin de ejemplares de la obra, de produccin de copias de la
misma.

El sistema Operativo
Un sistema operativo es un programa o conjunto de programas de control que tiene por
objeto facilitar el uso del ordenador y conseguir que ste se utilice eficientemente.
-

Es de control ya que se encarga de gestionar los recursos hardware que requieren los
programas. Estos recursos son el procesador, la memoria principal y los perifricos.

Facilita el uso del computador ya que hace transparente al usuario las caractersticas
del hardware.

Hace que el computador se utilice eficientemente. As en un sistema multi tarea, si un


programa A se est ejecutando y solicita una operacin de E/S, el tiempo muerto se
asigne a otro programa.

Funciones
Control de la ejecucin de los programas. Para ello, acepta los trabajos, administra la
manera en que se realizan, les asigna los recursos y los conserva hasta su finalizacin.
Administracin de memoria. Asigna memoria a los procesos y gestiona su uso.
Administracin de perifricos. Coordinando y manipulando los dispositivos conectados al
ordenador.
Gestin de permisos y de usuarios. Adjudica los permisos de acceso a los usuarios y evita
que las acciones de uno, afecte al trabajo que est realizando otro.
Control de concurrencia. Establece prioridades cuando diferentes procesos solicitan el
mismo recurso.
Control de errores. Gestiona los errores de hardware y la prdida de datos.
Control de seguridad. Debe proporcionar seguridad tanto para los usuarios como para el
software y la informacin almacenada en los sistemas.
En concordancia con dichas funciones principales, es posible analizar la estructura de un
sistema operativo en cinco niveles. Los primeros dos niveles entraran dentro de la parte del
sistema operativo dependiente del hardware, el resto de los niveles pertenecen a la parte
portable del mismo:

Nivel 1. Gestin del procesador. En este nivel se encuentra el Kernel o ncleo que es
la parte del sistema operativo encargada de la gestin de la CPU. Realiza funciones
ms especficas como:
-Conmutacin de procesos.
-Control de interrupciones.
-Manejo de condiciones de error.

Nivel 2. Gestin de memoria. reparte la memoria disponible entre los procesos. Se


realizan funciones de asignacin y liberacin de memoria, y el control de violacin de
acceso a zonas de memoria no permitidas.
Nivel 3. Gestin de procesos. encargado de la creacin y destruccin de los
procesos, intercambio de mensajes y deteccin y arranque de los mismos.
Nivel 4. Gestin de dispositivos. En este nivel se realiza la gestin de las
entradas/salidas (E/S) en funcin de los dispositivos existentes, asignacin y liberacin
de dispositivos E/S, y planificacin de la E/S.
Nivel 5: Gestin de la informacin. realiza la creacin y destruccin de ficheros y
directorios, apertura y cierre de ficheros, lectura y escritura de ficheros, y proteccin de
acceso.

Componentes

Ncleo o Kernel es lo ms dependiente del Hardware, se ejecuta en el modo seguro


en el cual es posible acceder a todos las direcciones de memoria, de registros de la
CPU, de registros de E/S del ordenador.
Capa de servicios:
Gestor de procesos.
Gestor de memoria principal
Gestor del sistema de E/S: El sistema operativo deber ocultar las
caractersticas especficas de cada dispositivo y ofrecer servicios comunes a
todos. Estos servicios sern, entre otros:
Montaje y desmontaje de dispositivos
Una interfaz entre el cliente y el sistema operativo.
Tcnicas de cach, buffering y spooling.

Gestor del almacenamiento secundario:


-Administrar el espacio libre de los discos
-Asignar la informacin a un determinado lugar
- Usar algoritmos de planificacin de disco

Gestor del sistema de archivos: Proporciona una vista uniforme de todas las
formas de almacenamiento, implementando el concepto de archivo como una coleccin
de bytes. Debe permitir:
- Crear, abrir, cerrar y borrar archivos
- Leer y escribir archivos

Sistema de proteccin que controla el acceso de los procesos a los recursos.


Sistema de comunicacin con el usuario (Shell o concha)

Tipos
Los Sistemas Operativos pueden clasificarse de varias formas, ya que cada uno puede tener
distintas caractersticas:
- Segn la organizacin interna del ncleo o Kernel pueden ser:
Monolticos, que no tienen una estructura bien definida, como MsDOS.
Jerrquico o multicapa, en donde la comunicacin es ms clara, como Unix.
- Segn el nmero de procesadores, pueden ser:
Monoproceso, en el cual slo se permite utilizar un procesador del ordenador.

Multiproceso, en el cual se puede utilizar ms de un procesador al mismo


tiempo y distribuir la carga del trabajo
- Segn la administracin de tareas, pueden ser:
Mono tarea, el cual slo puede ejecutar un proceso.
Multi tarea, el cual puede ejecutar varios procesos a la vez.
- Segn el manejo de recursos, pueden ser:
Centralizado, el cual permite utilizar los recursos de un solo ordenador.
En red, el cual tiene la capacidad de interactuar con sistemas operativos de
otros ordenadores
Distribuido, en el cual permite que el usuario utilice sus recursos, pero la
compaa puede acceder o interactuar con algunos de sus recursos.
- Segn la administracin de usuarios, pueden ser:
Mono usuario: El cual permite ejecutar programas a un solo usuario.
Multi usuario: El cual permite ejecutar programas a ms de un usuario.
- Segn el tiempo de respuesta, pueden ser:
En tiempo real
En tiempo compartido, en el que se tiene varios procesos en ejecucin aun
teniendo un solo ncleo.
ste a su vez puede dividirse en Cooperativo en el que cada proceso coopera
y deja el hueco libre, y en Preventivo, en el que el Sistema Operativo interrumpe el proceso.

Gestin de procesos
Un programa es un conjunto ordenado de instrucciones. Es una entidad pasiva, no
cambia, y el nico recurso que consume es memoria secundaria.
Un proceso se puede definir como un programa en ejecucin, es decir, cargado en
memoria, que en algn momento tomar el control de la CPU. Es una entidad activa, que
necesita ciertos recursos para su desarrollo como son el uso de la CPU, memoria, archivos,
dispositivos de E/S, etc.
En la ejecucin de un proceso se alternan rfagas de ejecucin en CPU y la espera de E/S.
Rfaga CPU: Tiempo de ejecucin en CPU
Rfaga E/S: Tiempo entre solicitud y terminacin de E/S.
Para maximizar la utilizacin de los recursos del sistema, en concreto de la CPU, en las
rfagas de entrada salida de un proceso, la CPU es asignada a un proceso que lo pueda
aprovechar. Por lo que los procesos irn cambiando de estado segn avanza el tiempo.
En general los procesos son implementados por los SSOO por una estructura con un
conjunto de elementos:
Bloque de Control de Procesos (PCB)
Segmento de Cdigo. Es la parte de memoria principal donde se carga el cdigo.
Segmento de Datos. Contiene las variables globales que el proceso manipula.
Segmento de Pila. Contiene los parmetros que se pasan a las funciones o
procedimientos, as como las direcciones de retorno de estas y las variables locales que tiene
cada funcin o variables locales que tiene cada funcin o procedimiento.
Cada proceso tiene un contexto, el contexto de un proceso en un cierto instante de
tiempo est formado por su espacio de direcciones (direcciones de inicio y fin de los

segmentos de cdigo, datos y pila), los contenidos de los registros hardware de la mquina y
las estructuras de datos del ncleo asociadas a dicho proceso.

Estados de Procesos. Ciclo de vida

A medida que el S.O. gestiona los distintos procesos, estos van pasando por una serie
de estados. En un instante dado el procesador solo puede estar usado por un proceso, que
ser el que est en estado de ejecucin. Cada uno de los procesos admitidos por el S.O. para
su ejecucin solo puede encontrarse en uno de los siguientes estados:
Nuevo. Es el primer estado de un proceso. Ocurre cuando el gestor de procesos lo
admite, y est creando todas las estructuras del proceso.
Listo o preparado. Los procesos que estn preparados y esperan a que se les asigne
el procesador.
Ejecucin. El procesador est ejecutando las instrucciones del proceso. A este estado
slo se llega desde el estado listo.
Bloqueado. El proceso est detenido esperando que finalice el evento que ha
provocado que pase a este estado, por ejemplo, una operacin de E/S. Una vez producido
esto, pasa al estado de listo.
Terminado. El proceso ha terminado de ejecutar todas las instrucciones que inclua. El
S.O. se liberar todos los recursos que le haba asignado.
En sistemas con memoria virtual adems tendremos:
Listo y Suspendido: Los procesos que estn preparados ya la espera de que se les
asigne el procesador, pero por problemas de espacio libre en la memoria virtual han pasado de
estar cargados en memoria RAM a estar en memoria secundaria. Una vez que desaparezcan
los problemas de memoria RAM libre pasarn a listos.
Bloqueado y Suspendido: Los procesos que estn detenidos esperando que finalice el
evento que ha provocado que pase a este estado, por ejemplo, una operacin de E/S. y que
por problemas de espacio libre en la memoria virtual han pasado de estar cargados en
memoria RAM a estar en memoria. Estos procesos pueden pasar a Bloqueados si desaparece
el problema de espacio libre en la RAM o a Listo y suspendido una vez que se produzca el
evento por el que esperaban.

El mdulo del SO encargado de pasar un proceso de un estado a otro es el Gestor de


Procesos, tambin llamado planificador de procesos (dispatcher). La evolucin de un
proceso desde que se crea hasta que termina sera la siguiente:
1. Creacin del proceso: El SO asigna un identificador nico (PID) al proceso.
2. Se carga el cdigo en memoria principal. Segmento de Cdigo
3. Se crea el Bloque de Control de Proceso (BCP)
4. Se crea un Segmento de Datos
5. Se crea un Segmento de Pila
6. Pasa al estado de listos y queda en la cola a la espera de que se le asigne tiempo de
CPU.
7. Se le asignar tiempo de CPU, y ejecutar sus instrucciones secuencial y
ordenadamente.
8. Puede que se le retire la CPU, para dar paso a otros procesos o porque qued a la
espera de algn evento o suceso. Quedando en estado Bloqueado.
9. Cuando se ejecute su ltima instruccin, pasar al estado terminado, y el sistema
operativo liberara las estructuras de memoria RAM que lo representaban.
Entre todos los procesos que tengan el estado de listo, el gestor de procesos elegir a uno
para que comience su ejecucin y pasar al estado de Ejecucin.
En un Sistema Multiprogramado, a un proceso se le asigna una cantidad de tiempo de uso del
procesador, cuando termina este tiempo, si el proceso no ha finalizado, se lanza una
interrupcin. En el tratamiento de esta se realizan los siguientes pasos:
1. Se guarda el contexto del proceso.
2. Se coloca en la cola de Listos.
3. Toma el control del procesador el Gestor de Procesos que elegir de los procesos
situados en la cola de listos cual debe entrar a ejecutarse.
4. En algunos sistemas un proceso en ejecucin tambin puede pasar al estado de listo
cuando un proceso de mayor prioridad pasa al estado preparado.
5. Cuando un proceso que est en ejecucin realiza una operacin de E/S o tiene que
esperar, el gestor de procesos cambiar su estado y lo colocar en la lista de
bloqueados y pasar al estado de listo cuando desaparece la causa que provoc su
bloqueo.
6. Si un proceso, en el tiempo que tiene asignado de procesador, finaliza, pasar al
estado de terminado.
Ya hemos visto que S.O crea una estructura de datos para mantener toda la
informacin asociada a cada proceso, el Bloque de control de procesos (BCP). Existe un BCP
por cada proceso en memoria. Consta de mltiples elementos, entre los que destacan:
Identificador nico del proceso (PID), puntero al BCP del siguiente proceso, Prioridad del
proceso, Direcciones de memoria de se le han asignado.

Planificadores para la gestin de procesos


Los mecanismos que utilizan los sistemas operativos para gestionar la utilizacin del
microprocesador, se conoce como Scheduller o planificador.
Bsicamente se distinguen tres niveles de planificacin:
a) Planificacin a largo plazo o planificador de trabajos: decide cul ser el prximo
trabajo admitido. Se encargar de crear las estructuras que representan los procesos y
cargarlos en memoria.

b) Planificador a medio plazo o de swapping: decide si un proceso en estado bloqueado


o listo debe ser sacado de memoria temporalmente y pasado al estado suspendido.
c) Planificador a corto plazo o planificador del procesador: decide qu proceso de los
listos, tendr acceso al procesador.
Estudiaremos con ms detalle el planificador a corto plazo. Los criterios para comparar
los distintos algoritmos de planificacin son:
Equidad: procesos usan la CPU de forma equitativa.
Eficiencia (utilizacin de la CPU): 100% uso.
Tiempo de retorno (o de trabajo global): tiempo que tarda en ejecutarse un proceso
concreto.
Tiempo de respuesta: minimizar el tiempo de respuesta para usuarios interactivos.
Tiempo de espera: tiempo que un proceso espera en la cola de procesos listos.
Rendimiento (productividad): nmero de trabajos procesados por unidad de tiempo.
El objetivo ser:
Maximizar eficiencia y rendimiento.
Minimizar tiempo de retorno, espera y respuesta.

Algoritmos de planificacin a corto plazo:


Los algoritmos a corto plazo pueden usar dos tipos de planificacin:
La planificacin NO Expulsiva es aquella en la cual, una vez que a un proceso
le toca su turno de ejecucin ya no puede ser expulsado, no se le puede
arrebatar la CPU a no ser que realice una operacin de E/S. Este esquema
puede ser peligroso, ya que si el proceso contiene ciclos Infinitos, el resto de los
procesos quedan aplazados indefinidamente.

Una planificacin Expulsiva es aquella en la que existe un reloj que lanza


interrupciones peridicas en las cuales el planificador toma el control y se decide
si el mismo proceso seguir ejecutndose o se le da su turno a otro proceso.

FCFS : Primero en llegar primero en ser servido.


Tambin llamado FIFO, primero en llegar primero en salir.
Es el ms simple. Los procesos son almacenados en una cola de preparados segn llegan. El
planificador elige el primero de la cola, le asigna la CPU y le da todo el tiempo que necesite.
Ventajas:
1. Su implementacin es muy sencilla
2. Su ejecucin rpida.
3. Tiene una poltica justa ya que se atienden los procesos a medida que van llegando.
Inconvenientes:
1. Tiene un tiempo medio de espera elevado.
2. Se perjudica a los procesos cortos que son precedidos por procesos largos.
SJF (Short Job First)
El trabajo ms corto primero.
El planificador, cuando quede la CPU libre seleccionar de los procesos preparados o listos el
que su tiempo de ejecucin sea ms corto. Si hubiese dos con la misma duracin se

selecciona el primero en llegar. No es expulsivo, una vez que se ha asignado la CPU a un


proceso no se le retira.
Ventajas:
1. Mejora el tiempo de espera del FCFS.
2. Se beneficia a los procesos cortos
Inconvenientes:
1. pierde tiempo y no siempre es fcil calcular el tiempo de CPU que necesitar un
proceso.
SRT (Shortest Remaining Time)
La CPU ser asignada, cuando quede libre, al proceso que menos tiempo le quede para
terminar, de los preparados o listos.
Es la modalidad expulsiva del SJF. Si llega un proceso ms corto que el que tiene la CPU,
este proceso debe abandonar la CPU y se asignar al nuevo proceso.
Ventaja:
1. Beneficia a los procesos ms cortos.
2. En general minimiza los tiempos de espera.
Inconvenientes:
1. Complejo de implementar.
2. El planificador tiene que ejecutarse cada vez que llega un nuevo proceso.
3. Puede provocar aplazamiento indefinido de algunos procesos (procesos largos),
llamado tambin envejecimiento.

RR ROUND ROBIN
Se intenta hacer un reparto justo en rueda, de forma que cada proceso obtiene la CPU durante
un breve espacio de tiempo llamado quantum de tiempo (q), normalmente de 10 a 100
milisegundos.
Cuando el quantum termina, el proceso es expropiado e insertado al final de la cola de
preparados.
Si el quantum es grande se convierte en el planificador FCFS. Si el quantum es pequeo se
pierde mucho tiempo en cambios de contexto. q debe ser grande con respecto al tiempo de
cambio de contexto, en otro caso la sobrecarga es muy alta.

Planificacin con prioridad


Cada proceso tiene asociada una prioridad, que puede ser interna (o dinmica) o externa (o
esttica).Las dinmicas son aquellas que son modificables por el sistema operativo en tiempo
de ejecucin. Las estticas son puestas la persona que ingres el trabajo. Se ejecuta primero
el proceso con mayor prioridad.
Ventajas:
1. Se puede dar mayor velocidad de ejecucin a procesos con mayor prioridad.
2. No beneficia slo a procesos cortos como SJF, sino que un proceso largo puede
ejecutarse antes que uno corto y viceversa.
Desventajas:

1. Se penaliza a los procesos con baja prioridad, si constantemente entran al sistema


procesos con altas prioridades. Solucin: Las prioridades de los procesos pueden irse
subiendo con su envejecimiento.
Colas multinivel
Se usan colas con prioridades distintas, y en cada cola se
puede usar un algoritmo distinto

Comunicacin y sincronizacin de procesos


El sistema operativo adems de planificar la ejecucin de procesos, debe ofrecer:
1. mecanismos para sincronizar la ejecucin de procesos que quieren acceder al mismo
recurso. Uno de los mecanismos usados son los semforos. Los semforos son rutinas
de software (que en su nivel ms interno se auxilian del hardware) para lograr
exclusin mutua en el uso de un recurso y no acceder a la vez a su seccin crtica.
2. mecanismos de comunicacin como el envo de mensajes entre procesos

Gestin de memoria
La memoria se asemeja a una tabla dividida en celdas de
igual tamao. Cada celda tiene una direccin fsica que la
identifica y un dato almacenado en dicha celda.

El SO debe hacer un reparto transparente, eficiente y


seguro de la memoria entre los distintos procesos.
La parte del SO que se encarga de administrar la memoria
se llama Gestor de memoria y se encarga de:
1. Llevar el control de las partes de memoria usadas
en cada momento y de quin las usa.
2. Decidir qu procesos o datos se cargan o se liberan
de la memoria.
3. Asignar y liberar espacio de memoria conforme se necesite.
4. Proteger el espacio de direcciones de cada proceso de accesos indebidos de otros
procesos.

Ejercicio de ejemplo

1. Si se tiene particiones de memoria de 100K, 500K, 200K 300K y 600K (en


orden),
a. Cmo se colocaran procesos de 212K, 417K, 112K y 426K (en
orden) en la memoria empleando los algoritmos de primer ajuste,
mejor ajuste y peor ajuste? Rellena las tablas
b. Qu algoritmo aprovecha la memoria de forma ms eficiente?
En este Caso el de Mejor Ajuste

Primer Ajuste
100K

Mejor Ajuste
100K

Peor Ajuste
100K

500K

212k

500K

417k

500K

200K

112

200K

112k

200K

300K

212k

300K

112k

600K

426k

600K

212k

300K
600K

417

417k

Primer Ajuste: en la Fragmentacin interna no aprovecha 559K


En la Fragmentacin externa no aprovecha 400K
Total: 959K
Mejor Ajuste: en la Fragmentacin interna no aprovecha 433K
En la Fragmentacin externa no aprovecha 100K
Total: 533K
Peor Ajuste: en la Fragmentacin interna no aprovecha 659K
En la Fragmentacin externa no aprovecha 300k
Total: 959K

Conceptos
Fragmentacin: es el desaprovechamiento de partes la memoria.
o Interna: se desaprovecha zona de memoria asignada a un proceso, ya que el proceso
necesita menos memoria.
o Externa: Se desaprovechan particiones, por ser ms pequeas de lo que necesita un
proceso.
Reubicacin: Es la posibilidad de ubicar las diferentes particiones asignadas a un proceso
cada vez que se carga en ubicaciones diferentes sin afectar a su funcionamiento. Para
conseguirlo se manejan dos tipos de direcciones:
o Direccin Fsica: Posicin real del dato en la RAM.
o Direccin Lgica: posicin que maneja la CPU y que no tiene por qu coincidir con la
fsica. Es necesaria una transformacin por parte del gestor de memoria para calcular y
acceder a la direccin fsica. Consta de dos partes:
Nmero de Pgina (P) o de Segmento (S) .
Desplazamiento (D) dentro de la pgina o segmento.
.
MMU: unidad de manejo de memoria, dispositivo que traduce direcciones lgicas a fsicas

Fallo de pgina: suceso que se produce cuando se intenta acceder a una direccin lgica que
no est cargada en memoria.
Proteccin: El S.O debe asegurarse de que un proceso no accede a zonas de memoria
donde est el SO o a zonas asignadas a otros procesos.
Tanto para poder reubicar como para ofrecer proteccin, se utilizan:
Registro base: Contiene la direccin de memoria RAM, de la primera celda de las
asignadas a un proceso.
Registro lmite: contiene la direccin de la ltima celda asignada a un proceso.
Cuando un proceso intenta acceder a una direccin se comprueba que es un acceso permitido,
es decir est accediendo a su espacio de memoria, entre el registro base y el lmite.
Comparticin: La posibilidad de tener zonas a las que pueda acceder ms de un proceso.

Tcnicas de gestin de memoria


Particiones fijas o MFT
La memoria se divide en un conjunto de particiones de tamaos preestablecidos. Este
mecanismo se denomina histricamente MFT (multiprogramacin con un nmero fijo de
tareas). El nmero de particiones y su tamao se realiza en el arranque del sistema.
El sistema operativo es cargado en las direcciones ms altas o ms bajas de la memoria.
Si un proceso necesita menos espacio que el tamao de la particin que se le asigna, se
producir fragmentacin interna.
El tamao de las particiones se calcula de forma que quepa cualquiera de los procesos que se
pueden ejecutar.

Particiones variables o MVT


Los procesos son cargados por el SO inicialmente en posiciones consecutivas, que se les
asigna segn sus necesidades, no existiendo particiones predefinidas.
El SO mantiene una tabla de procesos con el espacio, y la direccin base. Adems de otra con
los fragmentos o huecos libres.
Los procesos salientes dejan huecos en memoria que son ocupados por procesos entrantes.

Si un hueco es pequeo y no puede almacenar ningn proceso se desaprovechar


producindose fragmentacin externa.
Puede ocurrir que tengamos espacios libres pero no contiguos, es decir existe el espacio total
de memoria para satisfacer un requerimiento, pero no es contigua y no cabe el proceso.
A la hora de asignar un hueco a un proceso se pueden seguir varias estrategias:
Primer Ajuste: Escoge el primer hueco libre de tamao suficiente.
Mejor Ajuste: se asignar el hueco ms pequeo con tamao suficiente para
albergar el proceso (requiere ver toda la lista si no est ordenada).
Peor Ajuste: Se asigna el hueco ms grande: Pretende conseguir que los
huecos que queden sean grandes (requiere ver toda la lista si no ordenada).
Ubicacin no contigua
Requiere dividir los procesos en trozos y llevar el registro de en qu parte de la RAM est
cargado cada trozo.
En paginacin, que es un caso particular del particionado fijo, el programa se divide en
pginas del mismo tamao.
o Se divide la RAM en zonas iguales llamadas marcos y el cdigo en partes
iguales llamadas pginas.
o La capacidad de la pgina y del marco son iguales, cada pgina se almacenar
en un marco. Pero los marcos asignados a un proceso no tienen por qu ser
consecutivos.

La segmentacin, que es un caso particular de particionado variable, divide la memoria


bloques (cdigo, pila, datos) de tamao variable llamados segmentos.
o El programa se divide en segmentos, que tienen propiedades concretas.
o El SO usar una tabla de segmentos por proceso con la informacin
direccin del comienzo y el tamao de cada segmento. Usar otra
segmentos libres para asignar segmentos a los procesos que entren
ejecucin.
o Como el tamao de los bloque es variable, antes de un acceso a memoria
comprueba que el desplazamiento no supere al tamao del segmento.

en

de
de
en
se

Estas tcnicas constituyen la base del sistema de memoria virtual.


Actualmente se emplean mecanismos mixtos (segmentacin paginada) asociados al uso de
memoria virtual.
La memoria virtual se construye generalmente sobre un esquema de paginacin, ya sea
paginacin pura o segmentacin paginada. Por tanto, las unidades de informacin que se
transfieren entre la memoria principal y la secundaria son pginas.
Las transferencias desde la memoria secundaria hacia la principal se realizan normalmente
bajo demanda (paginacin por demanda). Cuando un proceso necesita acceder a una pgina
que no est en memoria principal (a lo que se denomina fallo de pgina), el sistema operativo
se encarga de transferirla desde la memoria secundaria. Si al intentar traer la pgina desde
memoria secundaria se detecta que no hay espacio en la memoria principal (no hay marcos
libres), ser necesario expulsar una pgina de la memoria principal y transferirla a la
secundaria. Por tanto, las transferencias desde la memoria principal hacia la secundaria se
realizan normalmente por expulsin. El algoritmo para elegir qu pgina debe ser
expulsada se denomina algoritmo de reemplazo.

Algoritmos de reemplazo
Algoritmo de reemplazo ptimo: Un algoritmo ptimo debe generar el mnimo nmero de
fallos de pgina. Por ello, la pgina que se debe reemplazar es aquella que tardar ms tiempo
en volverse a usar. Evidentemente, este algoritmo es irrealizable, ya que no se puede predecir
cules sern las siguientes pginas accedidas. El inters de este algoritmo es que sirve para
comparar el rendimiento de otros algoritmos realizables.
Supongamos un proceso al que se han asignado tres marcos de pgina en la memoria
principal. Dada una secuencia de accesos de ese proceso a pginas, la evaluacin (carga,
fallos de pgina y descarga) segn este algoritmo queda reflejada en la siguiente tabla:

Algoritmo FIFO: La implementacin de este algoritmo es simple. Adems, no necesita ningn


apoyo hardware especial. El sistema operativo debe mantener una lista de las pginas que
estn en memoria, ordenada por el tiempo que llevan residentes.Cada vez que se trae una
nueva pgina a memoria, se pone al final de la lista. Cuando se necesita reemplazar, se usa la
pgina que est al principio de la lista.
El ejemplo anterior, en este caso quedara:

Algoritmo LRU (Least Recently Used, menos recientemente usada): El algoritmo LRU est
basado en el principio de proximidad temporal de referencias: si es probable que se vuelvan a
referenciar las pginas accedidas recientemente, la pgina que se debe reemplazar es la que
no se ha referenciado desde hace ms tiempo.

Gestin de Entrada/Salida
Conceptos
Un dispositivo o perifrico es un aparato conectado al ordenador que permite intercambiar
informacin entre usuario y ordenador o entre distintos sistemas informticos.
Existe una gran variedad de dispositivos de entrada/salida, muy diferentes respecto a su
velocidad, su forma de representar la informacin, su modo de trabajar
Para compatibilizar las caractersticas de los dispositivos de E/S con las de un procesador e
intercambiar informacin entre ambos, se usan controladores de perifricos. Cada perifrico
necesita disponer de su propio controlador que puede ser ms o menos complejo.

Un controlador est constituido por un conjunto de circuitos de adaptacin del formato de


seales y de los parmetros de temporizacin entre el procesador y los dispositivos de E/S. El
controlador tambin se encarga de llevar a cabo las transferencias de datos entre el
procesador y el perifrico; para ello se conecta entre el perifrico que controla y un bus del
computador (bus de entrada/salida, por ejemplo), y recibe seales de control (a travs del subbus de control), y genera seales de control para el perifrico y seales de estado
(ocupado/listo, error de paridad, etc.) para el procesador.
En el nivel de micro mquina cada perifrico est constituido por uno o varios puertos de
entrada/salida. Un puerto es sencillamente un registro a travs del cual el procesador o la
memoria central intercambian informacin con el perifrico.
Los controladores pueden estar fsicamente ubicados en el chasis del computador central
(controlador grfico para monitor de video, por ejemplo) o en el dispositivo propiamente dicho
(controlador IDE de disco duro), o distribuidos entre ambos.
El SO normalmente trata con el controlador, no con el dispositivo. Adems se usan estndares
( IDE, VGA...), para con un mismo controlador manejar ms de un dispositivo sin importar el
fabricante.

Un controlador puede disponer de un buffer para adecuar la diferencia de velocidad entre


procesador y perifrico. Un buffer es una memoria intermedia entre dos elementos que
trabajan a distinta velocidad.
Adems un controlador puede disponer de cach. La cach es una memoria donde se
almacena informacin que se prev se utilizar en breve.
En el caso de acceso a perifricos compartidos, se emplea un sistema de operacin
simultnea de perifricos fuera de lnea o Spool, (Simultaneous Peripherical Operation Off
Lin). El Spool es un directorio donde se almacena una copia de la informacin a procesar. El
usuario tiene la sensacin de que su peticin ya se realiz, y el SO va gestionando las
peticiones.

Tcnicas empleadas para la sincronizacin en la gestin de E/S


Entrada / salida programada
La sincronizacin por programa (E/S programada) es la ms sencilla de implementar en un
computador.
Presenta algunos inconvenientes:
Prdida de tiempo: el computador no realiza trabajo til en el bucle de espera
Impide la realizacin de tareas peridicas, como la exigida por el refresco de una
pantalla
Dificultades para atender varios perifricos
Los dos ltimos inconvenientes podran paliarse en parte limitando el tiempo de espera.
Existen dos variantes: E/S programada sin, o con consulta de estado.

E/S controlada por interrupciones


En el mtodo de E/S controlada por interrupciones, el perifrico toma la iniciativa y solicita
ser atendido, activando una lnea de peticin de interrupcin. En las salidas, el perifrico puede
provocar una peticin de interrupcin (IRQ "Interrupt Request" (Peticin para Interrupcin)
si no est listo para realizar la transferencia. Cuando el procesador reconoce la interrupcin,
suspende el programa en curso y ejecuta un programa de gestin de interrupcin para
transferir informacin con los puertos del controlador del perifrico en cuestin.

Acceso directo a memoria


Debido a lo rutinario de la programacin de las operaciones de entrada/salida y a la gran
frecuencia de su utilizacin, se ha ideado la tcnica de acceso directo a memoria (DMA: Direct
Access Memory) que permite descargar al procesador de las operaciones ms elementales de
E/S, y que implica la utilizacin de circuitos especializados (controladores DMA o CDMA).
El CDMA acta como controlador del bus y supervisa las transferencias de informacin entre
memoria principal y uno o ms controladores de E/S, sin intervencin directa del procesador,
salvo en la inicializacin y final.

Procesadores de E/S. IOP


Los procesadores o canales de E/S son una mejora de los controladores de DMA. Pueden
ejecutar instrucciones que leen directamente de memoria. Eso permite gestionar con ms
autonoma las operaciones de E/S y de esta manera se pueden controlar mltiples operaciones
de E/S con dispositivos con una mnima intervencin del procesador.
Estos canales todava se pueden hacer ms complejos aadiendo una memoria local propia
que los convierte en procesadores especficos de E/S.
La programacin de la operacin de E/S por parte del procesador se realiza escribiendo en
memoria los datos y las instrucciones que necesita el canal de E/S para gestionar toda la
operacin de E/S.

Gestin de almacenamiento
Un sistema de archivo ( File System) es una estructura de directorios con algn tipo de
organizacin que permite almacenar, crear y borrar archivos en diferentes formatos.
Los sistemas de archivos se aplican a dispositivos de memoria secundaria que proporcionar
un almacenamiento a largo plazo de la informacin.
Un fichero es un conjunto de informaciones relacionadas entre s segn un criterio establecido
por el creador del fichero, al que se le asigna un nombre.
Independientemente del tipo de dispositivo que almacene la informacin el usuario
acceder a ella de la misma forma, ser el SO quien establecer una correspondencia
entre el fichero y su ubicacin fsica.
El gestor de archivos debe proporcionar las siguientes funcionalidades:
Administracin de archivos. Ofrece diferentes funciones para la manipulacin de
los archivos y directorios
Administracin del almacenamiento secundario. Asigna espacio en los
dispositivos de almacenamiento secundario a los archivos
Mecanismos de integridad. Proporciona mecanismos para que la informacin
almacenada en un archivo no desaparezca

Mtodos de acceso. Una vez creado el archivo en un dispositivo de


almacenamiento secundario, debe permitir el acceso a los datos almacenados en
l. Los mtodos de acceso definen la forma en que se puede acceder a dicha
informacin.
La informacin en los sistemas modernos se almacena en discos duros, (en los discos
SSD la estructura fsica es ms sencilla) y en todos ellos se comparten algunos
esquemas bsicos para darles formato fsico: las superficies de almacenamiento estn
divididas en crculos concntricos llamados pistas y cada pista dividida en sectores.
La unin lgica de varias pistas a travs de varias superficies paralelas de
almacenamiento se les llama cilindros, los cuales son inspeccionados al momento de
lectura o escritura de datos por las respectivas unidades fsicas llamadas cabezas.
Las superficies de almacenamiento reciben el nombre de platos y generalmente estn
en movimiento rotativo para que las cabezas accedan a las pistas que los componen.

Los datos se escriben a travs de los sectores en las pistas y cilindros modificando
las superficies por medio de las cabezas.
El tiempo de Lectura/ Escritura de un bloque de un disco depende de tres factores:
1. Tiempo de bsqueda. Tiempo que una cabeza necesita para ir de una pista a
otra. Depende de la distancia entre la posicin actual a la pista buscada.
2. Tiempo de latencia. Tiempo que tarda una cabeza en posicionarse, dentro de
una pista, desde el sector actual al sector deseado. Depende de la distancia
entre sectores y la velocidad de rotacin del disco.
3. Tiempo de transferencia. Tiempo en transferirse la informacin al buffer.

El tiempo de latencia depende de la


velocidad de rotacin del disco y es fijo. El
tiempo de transferencia depende del bus por lo
que tambin es fijo. El nico que se puede
optimizar es el tiempo de bsqueda que

adems es el que mayor peso tiene en el tiempo de acceso.


El impacto que tiene las lecturas y escrituras sobre el sistema est determinado
por la tecnologa usada en los platos y cabezas y por la forma de resolver las
peticiones de lectura y escritura, es decir , los algoritmos de planificacin que
planificacin que se explican a continuacin.
Los algoritmos de planificacin de peticiones de lectura y escritura a discos se
encargan de registrar dichas peticiones y de responderlas en un tiempo razonable.
Algoritmos de planificacin de acceso a disco:
Algoritmos de planificacin FCFS ( First Come First Served) Primero en llegar
primero en ser servido.
Las peticiones son resueltas de acuerdo al orden en que llegaron y de esa
misma forma se van leyendo o escribiendo las mismas.
Ventaja. Simplicidad, no causa sobrecarga significativa
Desventaja. No aprovecha ninguna caracterstica de las peticiones, de manera
que es probable que las peticiones pueden tener direcciones en el disco muy alejadas
aumentado el tiempo de bsqueda.
Ejemplo: Consideramos la siguiente lista de peticiones en espera de un disco,
98,183, 37,122,14, 124, 65, 67
Las peticiones reflejan el nmero de cilindro al que se debe acceder. Suponemos que el brazo
est inicialmente en el cilindro 53:

El brazo se ha desplazado en total 640 cilindros

Algoritmos de planificacin SSTF ( Shortest Seek Time First) . Primero la peticin


ms cercana a la posicin actual.
Las peticiones se ordenan de acuerdo a la posicin actual de la cabeza lectora,
sirviendo primero a aquellas peticiones ms cercanas y reduciendo, as, el movimiento
del brazo
Ventaja. Sirve las peticiones ms prximas.
Desventaja. Puede haber solicitudes que se queden esperando para siempre, en el
infortunado caso de que existan peticiones muy alejadas y en todo momento estn

entrando peticiones que estn ms cercanas entrando peticiones que estn ms


cercanas.
Para el mismo ejemplo, con lista de peticiones 98,183, 37,122,14, 124, 65, 67
La grfica ahora sera:

El desplazamiento total ha sido de 236 cilindros, bastante menos que el anterior.


Algoritmos de planificacin SCAN (Ascensor) . El brazo del disco comienza en uno
de los extremos del disco y se mueve en un sentido atendiendo peticiones hasta el
extremo, luego realiza la misma operacin en reversa.
Ventajas. El brazo se mueve mucho menos que en FIFO y evita la espera indefinida
Desventaja. No sirve las peticiones en el orden de llegada, adems las peticiones en
los extremos interior y exterior gozan de un tiempo de respuesta un poco mayor.
Para el mismo ejemplo, con lista de peticiones 98,183, 37,122,14, 124, 65, 67
la grfica ahora sera, suponiendo que el que el sentido actual desplazamiento es hacia el
primer cilindro:
236 cilindros de
desplazamiento, semejante
al anterior pero sin su
inconveniente.

Algoritmos de
planificacin C- SCAN (
Exploracin circular).
Variante del algoritmo anterior. La cabeza se mueve desde un extremo a otro del disco
sirviendo las peticiones a medida que avanza. Cuando alcanza el otro extremo
retorna al extremo original sin atender peticiones.
Para el mismo ejemplo, con lista de peticiones 98,183, 37,122,14, 124, 65, 67
la grfica ahora sera:

382 cilindros de desplazamiento (183 + 199 del retorno)


Algoritmos de planificacin LOOK. Similar al SCAN. Va recorriendo todas las pistas
en una direccin y satisfaciendo todas las peticiones que se encuentra en el camino
hasta alcanzar la ltima peticin ( si no hay peticiones no sigue). En ese punto invierte
el sentido del recorrido y la bsqueda prosigue de la misma forma.
Para el mismo ejemplo, con lista de peticiones 98,183, 37,122,14, 124, 65, 67
la grfica ahora sera

Cilindros recorridos: 208


Algoritmos de planificacin C- LOOK. Similar a C- SCAN pero el brazo no va hasta
el extremo sino solo hasta la ltima peticin.

322 cilindros recorridos (153 + 169 de retorno)

Control del espacio libre


La solucin ms extendida parte de la consideracin de que el espacio se asigna y libera en
grupos de bloques contiguos.
El sistema operativo mantendr en cada disco una tabla de grupos de bloques libres

Ante una peticin de espacio se busca en la tabla un grupo contiguo de bloques suficientes, los
asigna y actualiza la tabla.

Estrategias para asignar espacio a archivos


El subsistema de archivos se encarga de localizar espacio libre en los medios de
almacenamiento para guardar archivos y para despus borrarlos, renombrarlos o
agrandarlos. Para ello se vale de ubicaciones especiales que contienen la lista de
archivos creados y por cada archivo una serie de direcciones que apuntan a su
contenido. Esas localidades especiales se llaman directorios.
A la hora de asignar espacio a un archivo pueden seguirse diferentes estrategias:

Asignacin contina:

Asignacin Enlazada:
Cada fichero se administra como una lista enlazada de bloque de disco.Cada archivo es una
lista ligada de bloques de disco, en cada bloque existe un puntero que direcciona hacia el
bloque siguiente, el resto del bloque es usado para almacenar datos, de esta forma, todos los
bloques del disco pueden ser usados

Ventaja:
1. Al ser una lista enlazada, slo se necesita la direccin del bloque inicial, los dems
bloques pueden ser encontrados a partir del primero.
2. No desperdicia espacio, pues no requiere dejar espacios vacos para ubicacin, reubicacin o el crecimiento de archivos, lo que conlleva a un buen manejo del espacio
libre.
3. No Produce Fragmentacin externa.
Desventajas
1. Solo es eficiente para archivos de acceso secuencial, el acceso a archivo de forma
aleatoria o directa es bastante lenta, pues para leer el bloque n, se deben leer n-1
bloques antes de poder acceder al bloque deseado, lo que conlleva muchas lecturas y
por consiguiente mucho tiempo.
2. Si se pierde un puntero al siguiente bloque, se pierde acceso al resto del archivo.
3. Prdida de espacio en los bloques, debido a los punteros.
4. Prdida de eficiencia, en la lectura datos en mltiplos del tamao del bloque, pues la
cantidad de datos guardados ya no ser una potencia de 2 debido a los punteros, por
ende la cantidad de datos que caben en un bloque completo se deben distribuir entre 2,
lo que requiere una posterior concatenacin generando un overhead debido a la copia
necesaria en la operacin.
Algunos problemas de este mtodo, puede mejorarse, sacando los punteros de los bloques de
disco y ponindolos en una tabla ubicada en memoria. Aqu es donde nacen los sistemas
"FAT" o por sus siglas en ingles "File Allocation Table" (Tabla de Asignacin de Archivos),
usados en sistemas MS/DOS, OS2, Windows entre otras implementaciones en sistemas ms
actuales.

Sus principales inconvenientes:


-Aunque slo haya un fichero abierto en el sistema, potencialmente hace falta toda la
FAT en memoria.
-Discos muy grandes implican ocupacin de la FAT grande en memoria
Asignacin indexada
Tambin conocido como asignacin por "I-Nodes" (nodos indexados), este mtodo lleva el
rastro de qu bloque pertenece a cada archivo, asignando un I-node con todos los punteros
hacia los dems bloques en el orden correspondiente, para cada archivo existe un I-node. El Inode lista los atributos y las direcciones de bloques del archivo asociado, por lo que dado su Inodo, es posible encontrar todos los bloques de un Archivo. Existe prdida de espacio ya que
cada archivo necesitar un I-nodo independiente de cuantos datos contenga el bloque. El
rendimiento depende del archivo si se accede de manera secuencial o aleatoria, o si el archivo
es muy grande o muy pequeo.

Ventajas
1. No requiere una gran tabla en memoria como en FAT: Simplemente se carga el I-nodo
de el/los archivo(s) abierto(s) en cada momento.
2. Si el nodo ocupa n bytes y se puede abrir k archivos a la vez en el sistema, solo se
requieren nk bytes en memoria. Para que nk fuese de una magnitud similar a FAT
deberan abrirse todos los archivos del disco duro a la vez. Por lo que en definitiva el
uso de memoria no depende del tamao de disco, si no de la cantidad de archivos en
uso.
3. Permite el acceso especfico del archivo.
4. Acceso Aleatorio.
5. No produce fragmentacin Externa.
Desventajas
1. Desperdicio de espacio para archivos muy pequeos.
2. Tamao de archivo limitado debido al tamao prefijado del I-nodo, para solventar esto
se usa la indireccin.
Una solucin para sobrepasar las limitaciones de tamaos de archivos es usar un nivel de
direccionamiento, reservando la ltima direccin del i-nodo no para datos, si no que para la
direccin de un bloque de indireccin que contiene ms direcciones de bloques de datos. Esta
idea, se puede extender a doble o triple indireccin.

Seguridad e integridad de la informacin


Control de sectores defectuosos: Los sistemas operativos tiene herramientas para
comprobar los sectores, intentar corregirlos y marcar los defectuosos, creando estructuras
donde almacenar esas referencias para que no sean utilizados.
Cuotas: El sistema de archivos es capaz de llevar un control para que cada
usuario pueda usar un mximo de espacio de almacenamiento. Cuando el usuario
excede ese lmite el sistema le avisa (Cuota blanda) y le niega el permiso (cuota dura)
de seguir escribiendo, obligndole a
borrar algunos archivos si es que quiere
almacenar otros o que crezcan los existentes.
Copias de seguridad: Peridicamente se deben realizar copias de los archivos
para que en caso de prdida podamos tener una versin lo ms actualizada de los
archivos Las copias de archivos pueden ser:
Total. Se copia todo el sistema de archivos
Diferencial. Se copian todos los archivos modificados desde la ltima copia de
seguridad total del sistema
Incremental. Se copian todos los archivos modificados desde la ltima copia
de seguridad total o incremental realizada. La copia diferencial tarda ms tiempo que la
incremental pues copiar todos los archivos desde la ltima copia total mientras que la
incremental solo desde la ltima copia incremental.
A la hora de la restauracin del sistema, es ms rpida la diferencial pues para
restaurar el sistema de archivos hay que restaurar la copia total y la diferencial,
mientras que con la incremental hay que restaurar la copia total y todas las
incrementales realizadas hasta la fecha.
Permisos y Listas de control de acceso: El SO implementar alguna estructura para
gestionar el conjunto de permisos que cada usuario tiene sobre los archivos del
sistema.

Tipos de Sistemas de Archivos

Distribuidos: un sistema de archivos distribuido, tiene la informacin fsicamente


distribuida por en varios S.I, por lo que debe usar protocolos de red especficos para esos
fines. Ejemplos son NFS, CIFS
Transaccionales
Una transaccin es un conjunto de operaciones en las que se ejecutan todas ellas o
no se ejecuta ninguna. Las rdenes de ejecucin se envan todas una a una, pero el
efecto se realiza al final, mediante una nica instruccin: commit ( realizar la
transaccin) o rollback ( deshacer la transaccin) . Por defecto, una transaccin no
finalizada debe llevar un rollback automatizado.
Virtuales Un sistema de archivos virtual (VFS) o conmutador de sistema de archivos
virtual es una capa de abstraccin encima de un sistema de archivos ms concreto. El
propsito de un VFS es permitir que las aplicaciones cliente tengan acceso a diversos tipos de
sistemas de archivos concretos de una manera uniforme.
Un ejemplo en Linux es el directorio /Proc, no existe realmente, se genera en tiempo de
ejecucin.

Esquemas de particionado
El esquema de particiones hace referencia a cmo se crean las particiones, que tipo de
particiones pueden existir, cuantas se pueden crear y cmo se gestionan.
En un disco fsico podremos tener :
- Espacio particionado, (divisin del disco duro en trozos o particiones), estas
particiones sern posteriormente formateadas (sistema de archivos ) para su uso como
almacenamiento de informacin.
- Espacio sin particionar (Espacio no accesible del disco que todava no ha sido
asignado a ninguna particin).
Cada particin se comporta como una unidad de disco independiente desde el punto de vista
del SO. Cada particin podr tener un sistema de archivos distinto.
Dos esquemas posibles:
1. Master Boot Record (MBR).
1.1. Sistema tradicional y ms extendido
1.2. Soportado por todas las BIOS actuales
1.3. Tamao mximo de particin: 4TB
1.4. MBR (Master Boot Record): primer sector (de
arranque, 512 bytes) del disco guarda toda la
correspondiente a las posibles particiones del
disco y su estado.
1.5. Slo admite cuatro particiones primarias, o menos
de tres primarias y una extendida.
1.5.1. Particin primaria : trozo del disco, con su
propio sector de arranque
1.5.2. Particin extendida: trozo de disco
1.5.3. Particin lgica: trozo de disco dentro de
una particin extendida

2. GUID Partition Table (GPT).


2.1. Es parte del estndar Extensible Firmware Interface
(EFI) propuesto por Intel para reemplazar la vieja
BIOS del PC.
2.2. Sistema ms moderno, que pretende subsanar las
deficiencias de MBR. Conserva MBR legacy por
compatibilidad
2.3. Tamao mximo de particiones llamados
volmenes, es de hasta 9,44 ZB (ZettaBytes) (1 ZB
son 10 ^ 9 TB)
2.4. Nmero ilimitado de volmenes.
2.5. Para hacer que un volumen sea de arranque la placa
base y el SO deben cumplir ciertas caractersticas
Estructura de cada esquema:

http://archive.techarp.com/showarticle83f6.html?artno=812&p
gno=0

Una particin no es operativa hasta que no se le asigna un sistema de ficheros formatendola.


Un sistema de ficheros consiste en una estructura lgica y un conjunto de rutinas software que
permiten leer, escribir, modificar y borrar datos en una particin. Los sistemas de ficheros
organizan la informacin en ficheros y directorios.
Estructura de directorios
Los sistemas operativos actuales utilizan una estructura de rbol jerrquico
para organizar la informacin.
Los sistemas GNU/Linux utilizan un nico rbol. El punto de partida
es el directorio raz (/). Algunos de los hijos y nietos que tiene son:

El uso de cada directorio lo iremos viendo a lo largo del curso.


Para desplazarnos, o para indicar la ruta de un fichero podemos utilizar rutas absolutas
(camino para llegar desde la raz) o rutas relativas (camino desde el directorio actual)

Si solo hay un rbol Dnde encontramos la informacin de discos o particiones adicionales?


En el directorio dev.
Las particiones en Linux se identifican empleando una combinacin de letras y nmeros y
suelen ser directorios hijos del directorio /dev:
/dev/xxyN.
Donde
Xx son los caracteres sd para discos SATA o SCSI, hd para discos PATA, fd para
floppys.
Y es una letra, a para el primer disco, b para el segundo
N es el nmero de particin. Del 1 al 4 para particiones primarias o extendidas.
A partir de la 5 para particiones lgicas.
Por ejemplo
/dev/sdb3 representa la tercera particin primaria o extendida del segundo disco duro SATA o
SCSI.
/dev/hdb7 representa la tercera particin lgica del segundo disco duro IDE/PATA.
Los ficheros, adems de un nombre
y una ruta tienen una serie de
propiedades y atributos.
En Linux puedes ver muchos detalles
con orden ls l, como puedes ver en
la imagen de la derecha.
En Linux los ficheros cuyo nombre
empieza por . (punto) son ocultos, no
se visualizan por defecto.

En Windows cada particin primaria o lgica tiene asociada una


letra de unidad. Y cada una tiene su propio rbol jerrquico.

En Windows, ejecutando dir en la lnea de comando podemos ver los ficheros y directorios que
contiene el directorio actual:

Ya sea con el comando dir /A o con attrib podremos ver ms atributos de los ficheros:

You might also like