Sistemas Operativos TEMA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

Anuncio
Sistemas Operativos
TEMA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.
Funciones y Objetivos de los Sistemas Operativos.
Evolución de los Sistemas Operativos.
Protección de la Información y Seguridad.
Estructura de los Sistemas Operativos.
Gestión de interrupciones.
Requerimientos del sistema para cubrir las necesidades del usuario.
TEMA 2. GESTIÓN DE FICHEROS
Introducción: Fichero. Sistema de Ficheros.
Organización y Acceso a Ficheros.
Directorios de Ficheros.
Mecanismos de protección. Compartición de Ficheros.
Agrupación de Registros.
Gestión del Almacenamiento Secundario.
Servicios del Sistema Operativo en relación con el Sistema de Ficheros.
TEMA 3. GESTIÓN Y ADMINISTRACIÓN DE PROCESOS
Descripción de Procesos
Procesos e Hilos
Estados de un Proceso
Control de Procesos
Tipos de Planificación
Algoritmos de planificación
FCFS
Planificación por Prioridades
1
Turno Rotatorio
SPN, SRT y HRRN
Tiempo de Respuesta
Evaluación de algoritmos
TEMA 4. GESTIÓN Y ADMINISTRACIÓN DE MEMORIA
Requisitos para la Gestión de Memoria.
Carga de Programas en Memoria Principal. Espacio Contiguo.
Particionamiento Fijo
Particionamiento Dinámico
Reubicación
Carga de Programas en Memoria Principal. Espacio no contiguo
Paginación Simple
Segmentación Simple
Segmentación y paginación
Memoria Virtual
Estructuras de Control
Introducción
Paginación
Segmentación
Paginación y Segmentación Combinadas
Algoritmos Software
Políticas de Descarga
Políticas de Ubicación
Políticas de Reemplazo
Protección y uso compartido
TEMA 5. GESTIÓN DE ENTRADA/SALIDA
2
Dispositivos de E/S
Técnicas de Comunicación de E/S
E/S Programada
E/S por Interrupciones
E/S por DMA
Aspectos de Diseño en los Sistemas Operativos.
Almacenamiento Intermedio
E/S a Disco
Parámetros de Rendimiento
Algoritmos de Planificación
Cache de Disco
TEMA 6. PRINCIPIOS DE DISEÑO DE UN SISTEMA OPERATIVO.
Determinación de objetivos
Mecanismos y políticas
Enfoque por niveles
Máquinas virtuales
Utilización de multiprocesadores
Implementación del sistema
TEMA I
INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
− Procesador
− Subsistema físico − Memoria interna
(ordenador) − Memoria secundaria
− Sistema informático − Periféricos
− Subsistema lógico − Programas del sistema (control)
Informática (Sistema operativo) − Programas de servicio
3
− Programas de aplicación
− Información
− Datos a procesar
La informática es el conjunto de conocimientos que hace posible el tratamiento de la información. El sistema
informático se divide en:
a)− Subsistema físico: es el conjunto de elementos que hacen posible el tratamiento de la información por
medios electrónicos. El subsistema físico posee:
1− El procesador, que equivale a la CPU. El procesador realiza todo el trabajo de tratamiento de la
información. Su velocidad se mide en MIPS (millones de instrucciones por segundo) no por MHz (millones
de operaciones por segundo)
2− La memoria interna, que es donde reside el programa ejecutable.
3− La memoria secundaria, en la que se encuentra la información que no estamos utilizando en ese momento.
4− Los periféricos, que dirigen el trasvase de información entre dos memorias.
b)− El subsistema lógico: dividido en
1− Programas de control que permite realizar las operaciones internas de forma transparente al usuario
mediante abstracción.
2− Programas de servicio que proporcionan un entorno adecuado para la ejecución de aplicaciones del
usuario.
La información se divide en:
a)− Programas de aplicación: que son los que realiza el usuario.
b)− Datos a procesar: que es la información y datos que necesitan los programas de aplicación.
El bit es la unidad elemental de información, solo puede tomar valores 0 y 1, El byte está formado por ocho
bits, y tenemos 256 formas posibles para codificar todos nuestros caracteres. La palabra depende de la
arquitectura del sistema. En los sistemas que utilizan ocho bit la palabra es de 1 byte. Para que se pueda
realizar la transmisión de información debe haber un receptor, un emisor, un medio (sistema binario) y un
código (EBCDIC y ASCII).
− Unidades
a)− de capacidad:
1 Kilobyte = 1024 bytes = 210 bytes
1 Megabyte = 1024 Kb = 220 bytes
1 Gigabyte = 1024 Mb = 230 bytes
4
1 Terabyte = 1024 Gb = 240 bytes
b)− de velocidad:
1 milisegundo = 1 milésima = 10 −3 seg
1 microsegundo = 1 millonésima = 10 −6 seg
1 milmillonésima = 10 −9 seg
− Subsistema físico:
1− Procesador: un procesador tiene una unidad de control, una unidad aritmético − lógica, y unas conexiones
entrada/salida llamadas interfaces.
U.C: Permite la ejecución ordenada de instrucciones de un programa:
• Contador de programa: Permite almacenar la dirección de memoria de la siguiente instrucción a
ejecutar.
• Registro de instrucción: Permite almacenar el código binario de la instrucción a ejecutar.
• Secuenciador: Es el Hardware que activa todas las señales físicas para la correcta ejecución de una
instrucción.
.
La unidad aritmético y lógica realiza y ejecuta operaciones aritméticas y lógicas.
Registros de datos: Registro es la unidad elemental de información almacenable en la CPU.
Conexiones E/S: Son elementos específicos para la comunicación con el exterior de la CPU.
2− Memoria interna: Almacena las instrucciones a ejecutar por la CPU. Es de tipo RAM. Se puede leer y
escribir en ella. Es volátil. Trabaja a una velocidad del orden de nanosegundos.
3− Memoria secundaria: está situada sobre soportes magnéticos. Es una memoria permanente en el tiempo.
Está gestionada por los dispositivos de entrada y salida. Su velocidad es del orden de milisegundos.
4− Periféricos: nos permiten o bien introducir información, o informar al usuario de un proceso determinado.
Facilitan la comunicación con el exterior.
− Gestión de recursos físicos
− Programas − Gestión del procesador
De control − Gestión de la memoria principal
− Gestión de soportes externos
− Ensambladores
− Traductores − Compiladores
5
Recursos lógicos − Intérpretes
− Editores
− Programas − Clasificadores
De servicios − Utilidades − Manipulación de ficheros
− Etc.
− Gestión
− Aplicaciones − Cálculo
− Paquetes
El sistema operativo es el conjunto de programas que ordenadamente relacionados dan coherencia a las
acciones que lleva a cabo un ordenador. Oculta al usuario la complejidad interna del sistema.
El sistema operativo se manifiesta de dos formas:
1− consiguiendo eficacia en la gestión de los recursos.
2− permitiendo una comunicación entre el usuario y el ordenador. Controla los procesos en Curso.
**** Sistemas de Control del Sist. Operativo****
1.Núcleo: Conjunto de programas que modelan el comportamiento del SSOO.
a)Monolítico: Todas las funcs. del núcleo están integradas en un único bloque de código b)Microkernel: Las
principales funciones para el mantenimiento mínimo del SSOO están agrupadas constituyendo el µKernel. El
resto se integran como módulos.
2.Supervisor: Módulo que supervisa la ejecución de aplicaciones.
3.IOCS : Módulo que controla las operaciones de E/S.
4.Cargador: Complemento Software cuya misión consiste en transferir las aplicaciones de usuario total o
parcialmente desde memoria secundaria a principal.
**** ****
Los programas de servicio son los encargados de traducir el lenguaje de alto nivel a lenguaje máquina. Hay
tres tipos:
a)− Traductores: cambian el código utilizado por nosotros a código máquina. Hay tres tipos:
• Ensambladores Traduce un lenguaje , lenguaje Assembler a lenguaje máquina.
El lenguaje assembler asocia identificador mnemotécnico a cada instrucción del conjunto de instrucciones del
procesador
6
2− Compiladores: traducen el lenguaje de alto nivel a código máquina.
3− Intérpretes: traducen instrucción por instrucción. Es un proceso lento, pero es el más adecuado para la
verificación de os programas.
Al programa realizado en un lenguaje de alto nivel se le llama fuente y al programa que obtenemos después de
aplicar el compilador, se le llama objeto.
Fuente
Compilador
Objeto
Montador de enlace
Programa ejecutable
El montador de enlace direcciona el programa hacia su dirección de memoria y nos dará un programa
ejecutable
b)− Utilidades:
1− Editores: sirven para realizar un programa directamente en pantalla.
2− Clasificación: sirven para ordenar registros.
3−Manipulador de ficheros: copias, impresiones, ....
c)− Aplicaciones:
1− Gestión: son programas que utilizan continuamente E/S.
2− Cálculo: son programas que con un mínimo de instrucciones, puede realizar cálculos.
3− Paquetes de programas: son aplicaciones ya hechas
Una interface es el límite que separa los recursos físicos o lógicos pero que lleva implícito una forma de
acoplamiento o entendimiento entre ellos.
Memoria fija (firmware)
Es una memoria que lleva las instrucciones en lenguaje máquina. Estas memorias son de tipo ROM. Esta
memoria provoca la carga del sistema operativo en la memoria RAM, a continuación ya podemos
comunicarnos con el sistema. Sin este tipo de memoria no podríamos trabajar.
Un trabajo puede ser un solo programa un conjunto de ellos, cada uno con sus instrucciones propias. Un
trabajo controla un lenguaje de control de trabajo.
− Unidad de control
− CPU − Unidad aritmetico−lógica
7
− Ordenador − Unidad de E/S
− Memoria interna
−Sistema Físico − Almacenamiento secundario
(Hardware)
− Entrada
Sistema Informático − Periféricos − Salida
− Entrada/salida
−Memoria fija
(Firmware)
−Sistema Lógico − Programas de control
(Software) − Programas de servicio
− La evolución de los sistemas operativos.
1− Primera generación (1945 − 1955): En esta época no existían los sistemas operativos. Utilización de la
tecnología de las válvulas o tubos de vacío que hacían que los ordenadores fuesen enormes. El usuario tenía
que hacer todos los programas en código binario. Las máquinas eran de un enorme coste.
2− Segunda generación (1955 − 1965): Aparecen los transistores que hacen que las máquinas se reduzcan de
tamaño, facilitando la creación de los sistemas operativos. Aparecen los lenguajes de bajo nivel (assembler) y
el lenguaje JCL. En esta época se estandariza el código para una mayor divulgación. Aparece un embrión de
programa, dando lugar al IOCS (sistema de control de entrada/salida).
Aparecen los lenguajes de alto nivel que tenían que cargar un compilador que convertía el lenguaje en
assembler de la máquina en la que se compilaba. Había que quitar el compilador de la cinta magnética e
insertar el traductor, más tarde carga el programa objeto en memoria y lo ejecuta. Todos estos recursos
aumentaban el número de pasos que había que dar. Aparece el JCL (Lenguaje de control de trabajo) para
definir esos pasos perfectamente. Cada vez se separa más el programador del centro de proceso de datos.
El operador era el que valoraba los trabajos en el orden más indicado. Aparece la secuencia automática de
trabajo, se diseña una secuencia que realice lo que realiza el operador. Aparece un sistema operativo llamado
monitor residente que ordena los trabajos y se ejecutan automáticamente.
El monitor residente tiene que estar protegido. Por esta razón aparecen dos medidas:
1)− Impedir que cualquier usuario acceda directamente a los programas.
2)− Impedir que un usuario en su programa altere las posiciones de memoria donde está el monitor residente.
• Para esto se crean dos estados del S.O.:
• El estado Superusuario: que permite ejecutar las instrucciones sin pararse a valorarlas (las instrucciones que
sólo se pueden ejecutar de este modo se llaman privilegiadas.
8
• Estado Usuario: Se restringe el uso de las instrucciones.
Ejemplo:
El S.O. se está ejecutando en modo superusuario, entonces deja paso a una aplicación de usuario y cambia de
modo mediante una instrucción privilegiada. Se sigue ejecutando la aplicación hasta que llega una orden de
E/S, el sistema tiene que cambiar a superusuario para que el IOCS la gestione, después se vuelve a la
aplicación en modo usuario mediante otro cambio de modo. Pero para pasar de modo usuario a Superusuario
necesitamos una orden privilegiada que sólo se puede dar en M.Superusuario; para esto está el gestor de
interrupciones:
• Interrupciones Hardware: Asíncronas que nunca sabes cuando van a ocurrir.
• Interrupciones Software: Está generada explícitamente desde un programa. Es una orden privilegiada
ejecutable desde modo usuario.
• Para esto existe la MMU (Memory Management Unit) que supervisa cualquier direccionamiento de
memoria. Cuando se pide que se almacene un dato en una dirección la MMU mira si esa dirección está
dentro del marco del S.O. y si es así la rechaza.
Comienzan a aparecer más periféricos como las unidades de cinta magnética y una mejora notable de las
impresoras. Una forma de reducir el tiempo de parada del procesador es pasar de los dispositivos más lentos a
otros más rápidos con un sistema off−line. Si había una lectura de fichas se pasaba la información a una cinta
y el procesador leía de ella. El procesador volcaba la información sobre otra cinta y después off−line pasaba
de la cinta a la impresora. Este procesamiento, en general es más rápido, pero para un solo programa es más
lento.
Lectura de Cinta 1 Procesador Cinta 2 Impresora
tarjetas
Aparecen los buffer que son memorias intermedias donde pasa la información, el dispositivo leerá del buffer,
eliminando así el dispositivo off−line.
Lectura de Buffer 1 Procesador Buffer 2 Impresora
Tarjetas
El búffering es la técnica que se comienza a aplicar y que tiene una ventaja: solapan los dispositivos y
almacenan la información. Sigue Existiendo un pequeño parón; este sistema amortigua el proceso de E/S con
el de ejecución. Existen dos tipos de procesamientos:
• Limitados por E/S
• Limitados por CPU.
3− Tercera generación (1965 − 1980): Había ordenadores especializados para multitud de cosas concretas,
IBM resolvió este problema y creó un software compatible para ordenadores de propósito general. Creó las
familias de ordenadores; la primera fue la 360, luego la 370, la 4330, la 3080 y la 3090. La 360 utiliza los
circuitos integrados LSI (Large Scale Integration).
Aparece la escalabilidad, que es la posibilidad de ampliar en un momento determinado las funciones de un
sistema.
Aparece la multiprogramación, es decir, que el procesador está trabajando continuamente. Consiste en
9
dividir el espacio de memoria en varias partes, pudiendo tener un programa en cada una de esas partes.
Cuando hay un proceso de E/S el SSOO comienza otro trabajo.
Aparecen también las unidades de disco. Ahora se utiliza el disco para realizar la función del buffer. Este
disco se llama spool y sólo lo utilizaba el sistema operativo.
Spool
Lectura de Procesador Impresora
Tarjeta
Con el spool se permite, por línea telefónica, mandar datos a otros lugares. Podemos introducir una serie de
trabajos en el spool y es el sistema operativo el que planifica que trabajo se realiza antes que otro.
La diferencia del búffering y del spooling es que en el búffering solapamos la E/S de un trabajo con su
proceso, mientras que en el spooling solapamos la E/S de varios procesos con otro proceso distinto.
Aparecen los sistemas de tiempo compartido que suponían volver a interactuar con el sistema.
Desde unos terminales podíamos interactuar en el sistema. El procesador reparte su tiempo entre los usuarios
que están utilizándolo. Con el sistema de tiempo compartido el paso de los sistemas procesamiento por lotes
es más reducido.
Aparecen los sistemas de tiempo real que funcionan mediante una serie de sensores que tienen una respuesta
inmediata. Son tiempos de respuesta inmediata. Estos sistemas se combinan pero atienden primero a los
sistemas de tiempo real.
4− Cuarta generación (1980− 1990): Se utilizan circuitos integrados VLSI (Very Large Scale Integration)
con una enorme potencia. Aparecen los microprocesadores que son el fundamento de los ordenadores. Son
como las antiguas estaciones de trabajo, pero ahora a nivel personal. Aparecen grandes desarrollos:
a)Conectividad que permite una gran libertad de comunicación pero hace que aparezcan problemas en la
Seguridad, lo que impulsa el desarrollo de la criptografía que intenta asegurar la privacidad, la integridad del
mensaje y la autentificación del mismo.
Tb. aparecen dos tipos de SSOO: − Los de Red, en los que elijo implícitamente que quiero hacer.
− Los Distribuidos, que son transparentes para el usuario, son en los que el SSOO se encarga de gestionar
todo.
b)Concepto de Máquina Virtual que simula otras máquinas en una plataforma concreta (Emuladores) Esto
alcanza su mayor desarrollo con la plataforma Java que es una Lenguaje y una Máquina Virtual.
c)Uso de Sistemas de Gestión de Bases de datos Existen SSOO que apoyan directamente las bases de datos
(seguros, bancos...)
−Protección de la Información y seguridad
Existen 4 políticas de clases de seguridad. Cuanto más abajo mayor seguridad.
• No Compartición: − Los procesos están totalmente aislados (un progr. de usuario no puede acceder a los
10
dominios de otro programa de usuario)
− Cada Proceso controla exclusivamente los recursos de cada uno.
− Se comparten Prog. y datos copiándolos en memoria virtual.
• Compartición de originales: Cuando dos programas van a leer los mismos datos de memoria en lugar de
hacer dos copias se hace creer al segundo programa que tiene una copia pero está usando la del primer
programa. Esto genera un problema de código porque no permite múltiples ejecuciones del SSOO; hay que
usar un código que se denomina reentrante.
• Subsistemas confinados / Sin Memoria: Se usa la arquitectura Cliente − Servidor.
El cliente es el que solicita los servicios pero sin exponer información al servidor. El Servidor, que puede
usar datos privados, suministra esos servicios pero sin explicar como.
• Diseminación controlada la Información: A los usuarios y a las aplicaciones se les asignan credenciales
de seguridad y a los datos y recursos se le asignan clasificaciones de seguridad. Se comprueban las tablas y
si no coinciden la seguridad se deniega. Este es el método más utilizado ahora.
− Estructuras de los SSOO.
Colas: Estructuras que permiten gestionar listas de procesos en espera de algún recurso.
• Contiene los procesos que están en memoria principal listos para su ejecución.
• Decide en todo momento que proceso de 1 se va a ejecutar
• Lista de trabajos que esperan a poder utilizar el sistema, pasar a 1 y que se les asigne memoria y tiempo de
ejecución
• El SSOO indica que recursos tienen que llenar la cola de estos dispositivos.
• Mira que interrupción entra y de que tipo es, en caso de que tenga que usar un servicio se lo pide a 6
Cuando se produce una interrupción siempre se genera una señal eléctrica (física). El procesador cambia a
modo protegido para utilizar instrucciones del SSOO que den la causa y la respuesta a la interrupción pedida.
Esto es el RSI (Rutinas de Servicio de Interrupciones) Si la RSI se genera por una interrupción Software el 5
llama al 6 y ejecuta el servicio que pide.
− Gestión de interrupciones.
• De programa: Siempre se genera como consecuencia de la ejecución de una instrucción (al dividir por cero,
desbordamiento, instrucciones ilegales, violación de espacio de memoria...)
• De E/S:
• De reloj: Generada periódicamente por el reloj interno del sistema. Cada 8,12 microsegundos se genera.
• Fallo de Hardware: Fallo de suministro eléctrico.
Todas son interrupciones Hardware.
− Flujo de control
Con interrupciones: Cuando se usan interrupciones el microprocesador puede ejecutar otras instrucciones
mientras se procesa la E/S.
Programas con espera Corta: Aquel en el que una operación de E/S finaliza antes de que el programa solicite
otra operación de E/S
Programas con espera Larga: Aquel en que se llega a un punto en que se pide una interrupción de E/S antes de
11
acabar la anterior.
Sin interrupciones: Cuando hay una interrupción el microprocesador se para.
(Mirar diagramas de tiempo)
− Secuencia completa de tratamiento de una instrucción
• El dispositivo genera una interrupción hardware que llega directa al microprocesador.
• Termina la instrucción en curso
• Genera un asentimiento (Señala que a recibido la información) e identifica el dispositivo.
• Prepara la transferencia a RSI
• Existen dos elementos que indican al estado del microprocesador. La Palabra de estado del
Procesador (PSW) y el puntero (PC) que se almacenan en la pila del sistema.
• Se mete en PC la dirección de la RSI (a partir de aquí se ejecuta la rutina de servicio)
• Se guardan los registros en la pila
• Se procesa la interrupción
• Se restauran los registros
• Se restauran el PC y el PSW (pila tipo LIFO)
− Interrupciones múltiples
Existen dos métodos para tratar las interrupciones múltiples
• Se deshabilitan las interrupciones durante el procesamiento de una y al salir de la rutina de servicio,
desde el modo usuario, se vuelven a habilitar. (Se usan las instrucciones DI/EI)
• Con prioridades. Una interrupción con prioridad alta (bajo número) puede interrumpir otra con
prioridad baja (número alto)
EJEMPLO: HDD
Tenemos PRN: 8
HDD: 5
RDSI: 2
RDSI
PRN
− Servicios del SSOO
♦ Creación de Aplicaciones:
♦ Editores de texto y de fuente
♦ Depuradores
♦ Utilidades específicas
♦ Ejecución de aplicaciones
♦ Acceso a dispositivos de E/S
♦ Acceso controlado de E/S
♦ Servicio de acceso al sistema
12
♦ Detección y respuesta frente a errores.
♦ * El SSOO tiene que dar salida a cualquier situación anómala siempre con el menor impacto
posible frente a la aplicación en curso.
♦ Estadísticas y registros
♦ *Cualquier suceso que ocurra en el sistema se tiene que anotar.
TEMA 2
GESTION DE ARCHIVOS
Campo: Elemento básico de datos caracterizado por una longitud (fija o variable) y un tipo.
La mayoría de los sistemas de ficheros no soportan la longitud variable.
Registro: Conjunto de campos relacionados entre si que constituyen una unidad de información para
los programas de aplicación.
Archivo: Colección de registros similares o relacionados.
El control de acceso es a nivel de archivo completo.
Base de Datos: Es una colección explícitamente relacionada de datos (se relacionan archivos).
−Sistema de Gestión de Archivos
Es el software que proporciona tanto a usuarios como a aplicaciones unos servicios de gestión de
datos.
Objetivos de un FS (File System)
Lo principal es satisfacer las necesidades del usuario:
• Crear, borrar y modificar archivos.
• Acceso controlado de información.
• Intercambios de datos entre archivos.
• Poder efectuar copias de seguridad recuperables.
• Acceso mediante nombres simbólicos.
Lo secundario:
• Optimizar el rendimiento.
• Tener soportes diversos para E/S (poder seguir usando los mismos archivos aunque cambie el soporte.
• Soporte multiusuario.
• Minimizar las pérdidas de información.
Arquitectura de un FS.
En orden ascendente a lo más próximo al usuario y en descendente desde los más básico y físico
• Drivers:
♦ Controla cada uno de los dispositivos que se va a usar.
♦ Inicia y termina las operaciones de E/S.
♦ Código en modo superusuario.
13
♦ FS/Básico:
◊ Nivel físico de E/S
◊ Se gestionan bloques de datos (unidad de información en almacenamiento)
◊ Se gestionan las zonas de almacenamiento interno (Buffers)
◊ Supervisor de E/S:
⋅ Inicia y termina las operaciones con archivos
⋅ Se gestionan las estructuras de control que permiten efectuar procesos de E/S.
⋅ Planificación de dispositivos (ahorrar tiempo)
⋅ Reserva de espacio en Memoria Secundaria.
⋅ E/S Lógica:
• Permite a los usuarios y aplicaciones acceder a los registros
• No trabaja con archivos, sino con registros.
• Método de Usuario:
♦ Mecanismos que determinan la forma de acceso a los
archivos y a la información que contienen en ellos.
◊ Pila.
◊ Secuencial.
◊ Secuencial indexado.
◊ Indexado.
◊ Mediante dispersión
Elementos involucrados en la gestión de archivos
FUNCIONES DEL FS FUNCIONES DEL S.O
Gestión de archivos método planificación
De de acceso a
Acceso disco
◊ Ordenes del usuario y programas
◊ Estructura de archivos
◊ Registros
◊ Bloques Físicos (Buffers)
◊ Bloques Físicos (Mem. 2ª)
Archivos
Colección de datos relacionada entre si. Esta
información puede ser código ejecutable (programas)
o datos representados en caracteres o en binario (no
visualizable).
Se suelen almacenar en soportes permanentes usando
bloques físicos siempre del mismo tamaño. Pocas
veces la capacidad de un bloque va a ser múltiplo
entero del tamaño del registro.
Los sectores en MS−DOS son de 512 bytes y un
cluster son 4 sectores.
14
El empaquetamiento en bloques físicos lo pueden
hacer aplicaciones o el mismo SSOO cuando los
bloques físicos de archivo no están continuos existe
fragmentación externa. Cuando se desperdicia
espacio en el último bloque que almacena
información de un archivo existe fragmentación
interna.
Estructura de directorios.
Un sistema de dispositivos incluye:
◊ Un sistema de dispositivos (Tabla de Volumen)
◊ Directorio de archivos
1. Estructura que permite almacenar entradas o
elementos que representan a todos los archivos
almacenados.
Existe una en cada disco físico y describe
físicamente cada archivo del disco (particularizando
en DOS sería la FAT)
2. Organización Lógica de los archivos almacenados
en todos los dispositivos, es común a todos los
discos (particularizando en Dos sería el Directorio
Raíz)
Operaciones con Archivos.
◊ Creación: Buscar espacio físico (al menos un
bloque)
♦ Crear una entrada de
Directorio.
♦
2. Escritura: Solicitud al
sistema de E/S (Qué y
Donde se escribe)
(como se dice en que
archivo se ha de escribir el
tratamiento de los bloques
es transparente al usuario.
Examen del directorio
(buscar donde escribir)
3. Lectura: Solicitud al
sistema (Qué archivo)
Solicitud de Buffer o
almacenamiento intermedio.
15
Puntero de Posición en el
archivo
4. Reinicialización: Poner
posición de Lectura a cero.
5. Borrar: Lo elimino
lógicamente del directorio
de archivos, no físicamente.
6. Abrir: El SSOO utiliza un
IDent. numér. a un buffer de
memoria que hace
referencia al bloque.
Métodos de Acceso:
Acceso secuencial: Se
almacenan en el mismo
orden que llegaron. Uno
detrás de otro.
La lectura se hace leyendo
un bloque y avanzado al
siguiente.
La escritura igual, se escribe
en un bloque y se pasa al
siguiente.
Acceso directo: Secuencia
numerada de bloques o
registros.
Permite la localización de
inmediata de una gran
cantidad de información, se
suelen usar número relativos
de bloques.
Organización de ficheros:
Estructura lógica de
registros según el método de
acceso a los mismo.
Acceso a ficheros:
♦ Pila:
◊ Vale para registros
de longitud variable
o longitud física
16
(sólo se usa para la
variable)
◊ Se almacenan en
orden cronológico.
◊ No tiene estructura,
las búsquedas para
recuperar
información son
exhaustivas.
◊ Aprovecha el
máximo de espacio.
◊ Es la más adecuada
cuando hay
diferencias grandes
entre los registros,
tanto en tamaño
como en estructura.
◊ Secuencial:
⋅ Forma más
básica de
organización.
⋅ Todos los
registros
tienen el
mismo
número de
campos y
todos los
campos
tienen igual
tamaño y
están
colocados
en el mismo
orden.
⋅ El primer
campo suele
tener
información
única y ser
el campo
clave.
⋅ Los
registros se
almacenan
en orden
según la
clave.
⋅ Es el único
sistema que
se puede
almacenar
17
tanto en
disco como
en cinta.
⋅ Tiene poca
eficacia
para
modificaciones
individuales,
pero puede
ser muy
eficiente si
todo el
archivo está
en memoria
principal.
⋅ A nivel
físico se
almacena
como una
lista
enlazada de
bloques.
⋅ Al
introducir
nuevos
registros
tendría que
mover los
anteriores
por de
bloque en
bloque para
hacer
huecos, lo
que
hacemos es
usar una
organización
de tipo pila
para los
nuevos
registros.
⋅ Secuencial
indexado:
• Es
la
solución
a la
anterior.
• Se
utilizan
dos
18
archivos
auxiliares,
un
índice
y
uno
de
desbordamie
(overflow).
♦ Índic
Perm
hace
búsq
para
llega
cerca
del
regis
busc
♦ OVF
Perm
alma
los
regis
que
llega
nuev
• Para
buscar
un
determinado
registro
se
busca
en
el
índice
el
ínfimo
de
la
clave,
luego
miro
donde
apunta
el
puntero
y
sino
está
en
19
esa
posición
tiene
que
estar
en
una
posición
enlazada
del
archivo
OVF.
• Es
más
eficiente
cuanto
más
se
parecen
el
número
de
entradas
del
índice
con
el
número
de
cada
partición
inducida
en
el
archivo
principal.
• Al
final
del
registro,
tanto
en
el
archivo
principal
como
en
el
de
desbordamie
tengo
un
20
puntero
que
me
lleva
al
registro
siguiente.
• Podemos
tener
más
de
un
nivel
de
indexación,
esto
sería
algo
así
como
tener
un
índice
para
el
índice,
se
gana
rapidez
a
costa
de
sacrificar
un
poco
de
espacio
en
el
disco
duro.
• Puramente
indexados:
♦ Se
usan
para
efect
búsq
por
vario
camp
esto
21
supo
que
no
están
orde
y
que
no
exist
un
camp
clave
♦ Tene
un
índic
por
cada
camp
objet
de
búsq
♦ No
exist
nada
de
secu
♦ Exis
dos
tipos
de
índic
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Descargar