【Wang Dao Notes-Sistema operativo】 Capítulo 4 Administración de archivos

1. El concepto de archivos

(1) Definición de documentos

  Cuando el sistema está en funcionamiento, la computadora usa el proceso como la unidad básica para la programación y asignación de recursos; mientras que la entrada y salida del usuario, el archivo es la unidad básica para el almacenamiento de información a largo plazo y el acceso futuro. El sistema de archivos es el sistema de administración de archivos.

  Un archivo se puede comparar con un libro en una biblioteca:

  • En primer lugar, el cuerpo principal de un libro debe ser el contenido del libro, que es equivalente a los datos del archivo ;
  • En segundo lugar, los diferentes tipos de libros deben colocarse en diferentes bibliotecas y luego numerarse, y luego el número se registra en el sistema de administración de la biblioteca, lo que es conveniente para que los lectores lo verifiquen, lo que equivale a la clasificación y búsqueda de documentos ;
  • Por último, algunos libros en idiomas extranjeros que están agotados o son relativamente caros solo pueden prestarse a miembros VIP u otros lectores con mayor autoridad, mientras que algunos libros ordinarios pueden ser prestados por cualquiera. Esta es la autoridad de acceso al archivo .

  La estructura del archivo :

  • elemento de datos. Elementos de datos básicos (la unidad lógica más pequeña, como nombre, fecha), elementos de datos combinados (compuestos por varios elementos de datos básicos).
  • grabación. Conjunto de elementos de datos relacionados que se utilizan para describir los atributos de un objeto en un determinado aspecto. Por ejemplo, el registro de registro de un examinado incluye el nombre del examinado, la fecha de nacimiento, el código de la escuela, el número de identificación, etc.
  • expediente. Se puede dividir en archivos estructurados (compuestos por un grupo de registros similares, como todos los candidatos), archivos no estructurados (archivos binarios o archivos de caracteres, archivos de transmisión).

  De hecho, no existe una definición estricta de archivo. El archivo puede ser números, letras o códigos binarios, y la unidad de acceso básica puede ser bytes, líneas o registros. Los archivos se pueden almacenar en discos duros u otro almacenamiento secundario durante mucho tiempo, lo que permite un acceso compartido controlable entre procesos y se pueden organizar en estructuras complejas.

(2) Atributos de archivo

  • nombre. solamente.
  • Identificador. Los humanos no pueden leer la etiqueta única del archivo, generalmente un número.
  • Tipos de.
  • posición. puntero.
  • Talla. El tamaño actual del archivo (en bytes, palabras o bloques) y también puede incluir el valor máximo permitido por el archivo.
  • proteccion. Información de control de acceso.
  • Hora, fecha e ID de usuario. La información sobre la creación de archivos, la última modificación y el último acceso se utiliza para proteger y rastrear el uso de archivos.

  La información de todos los archivos se almacena en la estructura del directorio y la estructura del directorio se almacena en el almacenamiento externo. La información del archivo se transfiere a la memoria cuando es necesario. Generalmente, las entradas del directorio incluyen el nombre del archivo y su identificador único, y el identificador localiza información sobre otros atributos.

En segundo lugar, el funcionamiento del archivo.

1. Creación y eliminación de archivos

  • Crear archivo: Hay dos pasos necesarios para crear un archivo. Uno es encontrar espacio para el archivo en el sistema de archivos; el otro es crear una entrada para el nuevo archivo en el directorio, que registra el nombre del archivo, la ubicación en el sistema de archivos y otra información posible.
  • Eliminar archivo: primero busque la entrada de directorio del archivo que se eliminará del directorio, déjela vacía y luego recupere el espacio de almacenamiento ocupado por el archivo (incluido el bloque de control de archivos, el búfer, etc.).

2. Apertura del expediente

  Muchos sistemas requieren la llamada al sistema abierto cuando se usa un archivo por primera vez. El sistema operativo mantiene una tabla de archivos abiertos.Cuando se requiere una operación de archivo, el archivo se puede especificar a través de un índice en la tabla y se omite el enlace de búsqueda. Cuando el archivo ya no está en uso, el proceso puede cerrarlo y el sistema operativo elimina la entrada de la tabla de archivos abiertos.
  Si se permite la solicitud para llamar a abrir (crear, solo lectura, lectura-escritura, agregar, etc.), el proceso puede abrir el archivo y, por lo general, abrir devuelve un puntero a una entrada en la tabla de archivos abiertos. Realice todas las operaciones de E / S utilizando este puntero en lugar del nombre de archivo para simplificar los pasos y ahorrar recursos.

3. Llamadas al sistema de uso común

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

En tercer lugar, la estructura del directorio

1. Ruta absoluta y ruta relativa

  Cuando el usuario desea acceder a un determinado archivo, el nombre de la ruta del archivo se utiliza para identificar el archivo. El nombre de la ruta del archivo es una cadena de caracteres. Todos los nombres de directorio y los nombres de archivo de datos en la ruta que comienza desde el directorio raíz hasta el archivo buscado son vinculado con el separador "/". para hacer.
  Ruta absoluta: la ruta desde el directorio raíz.
  Ruta relativa: comenzando desde el directorio actual del usuario (proceso) hasta la ruta del archivo que se va a encontrar, todos los nombres de directorio y los nombres de archivos de datos están vinculados con un separador "/". El acceso de cada archivo por parte del proceso es relativo al directorio actual. La configuración del directorio actual es útil para acelerar la recuperación de archivos.

2. Bloque de control de archivos

  El bloque de control de archivos (FCB) es una estructura de datos que se utiliza para almacenar diversa información necesaria para controlar el archivo para lograr "acceso por nombre". Una colección ordenada de FCB se denomina directorio de archivos y un FCB es una entrada de directorio de archivos. Para crear un nuevo archivo, el sistema asignará un FCB y lo almacenará en el directorio de archivos como una entrada de directorio.

  El FCB contiene principalmente la siguiente información:

  • Información básica, como el nombre del archivo, la ubicación física del archivo, la estructura lógica del archivo y la estructura física del archivo.
  • Información de control de acceso, como permisos de acceso a archivos, etc.
  • Utilice información, como la hora de creación del archivo, la hora de modificación, etc.

3. Varias estructuras de directorios

  • Estructura de directorio de un solo nivel

  Solo se crea una tabla de directorio en todo el sistema de archivos y cada archivo ocupa una entrada de directorio.
Inserte la descripción de la imagen aquí

  La estructura de directorio de un solo nivel implementa el "acceso por nombre", pero tiene las desventajas de la velocidad de búsqueda lenta, los nombres de archivo que no se pueden duplicar y el uso compartido de archivos inconveniente. No es adecuado para sistemas multiusuario.

  • Estructura de directorio de dos niveles (para resolver el problema de los nombres duplicados)

  La estructura de directorios de dos niveles puede resolver el problema de la duplicación de archivos entre varios usuarios y el sistema de archivos puede implementar restricciones de acceso al directorio para garantizar la seguridad. Sin embargo, la estructura de directorios de dos niveles carece de flexibilidad y no puede clasificar archivos.

Inserte la descripción de la imagen aquí

  • Estructura de directorios de varios niveles (sistema UNIX) (jerarquía clara)

  La estructura de directorios en forma de árbol puede clasificar archivos fácilmente, y la estructura jerárquica es clara, y también puede administrar y proteger archivos de manera más efectiva. Sin embargo, al buscar un archivo en el directorio en forma de árbol, es necesario acceder a los nodos intermedios nivel por nivel según el nombre de la ruta, lo que aumenta el número de accesos al disco, lo que sin duda afectará la velocidad de consulta.

Inserte la descripción de la imagen aquí

  • Estructura de directorios de gráficos acíclicos (realizar uso compartido)

  Sobre la base de la estructura de directorios de varios niveles, la estructura de directorios de gráficos acíclicos facilita el intercambio de archivos, pero hace que la gestión del sistema sea más complicada (por ejemplo, la eliminación de nodos compartidos requiere atención).

Inserte la descripción de la imagen aquí

Cuarto, uso compartido de archivos y protección de archivos

1. Uso compartido de archivos

(1) Uso compartido de archivos de enlace duro

  El uso compartido de enlaces físicos adopta el método de nodo de índice. Solo el nombre del archivo y el puntero al nodo de índice correspondiente se establecen en el directorio de la estructura de árbol. Un puntero al nodo de índice del archivo se establece en el directorio de usuario del archivo compartido. También debe haber un recuento de enlaces en el nodo de índice, que se utiliza para indicar el número de entradas del directorio de usuarios vinculadas a este nodo de índice (o se puede decir que están conectadas a este archivo). Cuando el recuento es> 1, el propietario del archivo no se puede eliminar el archivo como se muestra en la figura.

Inserte la descripción de la imagen aquí

  Ventajas: darse cuenta de que se comparten diferentes nombres.
  Desventajas: el propietario del archivo no puede eliminar archivos compartidos con otros.

(2) Uso compartido de archivos de enlace suave (enlace simbólico)

  Cuando se utilizan cadenas simbólicas para realizar el intercambio de archivos, solo el propietario del archivo tiene un puntero a su nodo de índice. Cuando el usuario B quiere compartir un archivo F del usuario A, el sistema puede crear un nuevo archivo de tipo LINK que solo contiene el nombre de la ruta del archivo compartido F en el directorio del usuario B. Llame a este método de enlace un enlace simbólico.
  Ventajas: el propietario del archivo puede eliminar archivos compartidos por otros.
  Desventajas: cuando otros usuarios leen archivos compartidos, necesitan buscar uno por uno según los componentes del nombre de la ruta, que es caro de acceder.

2. Protección de archivos

  La protección de archivos se logra mediante protección con contraseña, protección de cifrado y control de acceso. Entre ellos, la protección por contraseña y la protección por cifrado se utilizan para evitar que otros accedan o roben los archivos de los usuarios, mientras que el control de acceso se utiliza para controlar cómo acceden los usuarios a los archivos.

Cinco, la realización del archivo.

1. Gestión de bloques no libres de disco: método de asignación de archivos

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

2. Gestión de bloques de disco libres: gestión del espacio de almacenamiento de archivos

Sáltelo primero.

6. Organización y gestión de discos

1. La estructura del disco

Inserte la descripción de la imagen aquí

2. Tiempo de lectura y escritura en disco

  Tiempo de operación de lectura y escritura de un disco = tiempo de búsqueda + tiempo de retardo + tiempo de transmisión.

  • Tiempo de búsqueda (mayor impacto) : el tiempo necesario para mover la cabeza a la pista. Ts = m * n + s. Hay un total de n pistas, y el tiempo requerido para cada pista es m, y s es el tiempo para iniciar el brazo magnético.
  • Tiempo de retardo: el tiempo necesario para que el cabezal se ubique en un sector de una determinada pista, generalmente media vuelta. Tr = 1 / r / 2. r es la velocidad de rotación del disco.
  • Tiempo de transmisión: el tiempo necesario para leer del disco o escribir en el disco, que está determinado por el número de bytes by la velocidad de rotación r. Tt = b / (rN). N es el número de bytes en una pista. El tiempo de procesamiento de los datos del sector tiene un mayor impacto.
    Inserte la descripción de la imagen aquí

3. Algoritmo de programación de disco

  Varios algoritmos de programación comunes son los siguientes:

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

4. Medidas para reducir el tiempo de retardo: numeración alterna de paneles

Inserte la descripción de la imagen aquí

  El disco es un dispositivo de rotación continua. Después de que el cabezal lee / escribe un bloque físico, se necesita un tiempo de procesamiento corto para comenzar a leer / escribir un bloque. La numeración alterna puede reducir efectivamente el tiempo de retardo del acceso continuo.
  El tiempo de transmisión lo determina el propio disco, y el sistema operativo puede optimizar el tiempo de búsqueda y el tiempo de retardo mediante la programación del algoritmo.


Adjunto: Notas de preguntas de opción múltiple de Kingway

1. En el sistema operativo UNIX, los dispositivos de entrada / salida se consideran (archivos especiales).

2. La estructura lógica del archivo está diseñada para la conveniencia de los usuarios, y la estructura física está diseñada para la conveniencia de las características de los medios de almacenamiento y la administración del sistema operativo.

3. Si un proceso de usuario lee los datos en un archivo de disco a través de la llamada al sistema de lectura, en la siguiente descripción de este proceso, el correcto es (AB).
A. Si los datos del archivo no están en la memoria, el proceso ingresa al estado de espera de suspensión (bloqueo)
B. Solicitar la llamada al sistema de lectura hará que la CPU cambie del modo de usuario al modo de núcleo
C.Los parámetros de la llamada al sistema de lectura debe contener el nombre del archivo (abrir Los parámetros en incluyen el nombre de la ruta y el nombre del archivo, y solo lectura necesita usar el descriptor de archivo devuelto por abrir)

4. En el sistema operativo UNIX, se coloca la estructura de índice del archivo (nodo de índice).
El sistema UNIX utiliza una estructura de directorios de árbol.

5. Establezca el recuento de referencia actual del archivo F1 en 1, primero establezca un enlace simbólico (enlace suave) del archivo F1, el archivo F2 y luego cree un archivo de vínculo físico F3 del archivo F1 y luego elimine el archivo F1. En este momento, los valores de recuento de referencia del archivo F2 y del archivo F3 son (1, 1) respectivamente.
Cuando se establece un enlace simbólico, el valor del recuento de referencia se copia directamente; cuando se establece un vínculo físico, el valor del recuento de referencia se incrementa en 1. Al eliminar un archivo, la operación de eliminación es invisible para el enlace simbólico, lo que no afecta el sistema de archivos. Cuando el archivo no existe cuando se accede al archivo a través del enlace simbólico en el futuro, el enlace simbólico se elimina directamente; pero para el vínculo físico, el vínculo simbólico no se puede eliminar directamente El valor de recuento se reduce en 1. Si el valor no es 0, este archivo no se puede eliminar porque hay otros vínculos físicos que apuntan a este archivo.
Cuando se establece F2, los valores de recuento de referencia de F1 y F2 son ambos 1. Cuando se crea de nuevo F3, los valores de recuento de referencia de F1 y F3 se vuelven 2. Cuando F1 se elimina más tarde, el valor de recuento de referencia de F3 es 2-1 = 1 y el valor de recuento de referencia de F2 permanece sin cambios.

6. Si el vínculo físico del archivo f1 es 2, los dos procesos abren fl y f2 respectivamente, y los descriptores de archivo correspondientes son fd1 y fd2, entonces el correcto en la siguiente descripción es (BC).
A. Las posiciones de los punteros de lectura y escritura de f1 y f2 siguen siendo las mismas.
B.f1 y f2 comparten el mismo nodo de índice de memoria.
C.fd1 y fd2 respectivamente apuntan a un elemento en la tabla de archivos abiertos del usuario respectivo

7. El acceso a un archivo está restringido conjuntamente por (derechos de acceso del usuario y atributos del archivo).

8. La gestión de la seguridad a nivel del sistema incluye el registro y el inicio de sesión.

9. En un sistema de archivos, para cada archivo, las categorías de usuario se dividen en 4 categorías: administrador de seguridad, propietario del archivo, socio del propietario del archivo y otros usuarios; los permisos de acceso se dividen en 5 tipos: control total, ejecución, modificación y lectura. , Escribir. Si se utiliza una cadena de bits binarios para representar permisos de archivo en el bloque de control de archivo, para representar los permisos de acceso de diferentes tipos de usuarios a un archivo, el número de bits que describen los permisos de archivo debe ser al menos (20).

10. Suponga que hay 7 elementos de dirección en el nodo de índice de archivo, entre los cuales 4 elementos de dirección son índice de dirección directa, 2 elementos de dirección son índice de dirección indirecta de primer nivel y 1 elemento de dirección es índice de dirección indirecta de segundo nivel. Cada elemento de dirección El tamaño es 4B. Si el tamaño del bloque de índice del disco y el bloque de datos del disco son ambos 256B, la longitud máxima de un solo archivo que se puede representar es (1057 KB).
El tamaño de cada bloque de índice de disco y bloque de datos de disco es 256B, y cada bloque de índice de disco tiene 256/4 = 64 elementos de dirección. Por lo tanto, el tamaño del bloque de datos al que apuntan los cuatro índices de direcciones directas es 4 × 256B; el número de índices de direcciones directas contenidos en los dos índices indirectos de primer nivel es 2 × (256/4), es decir, el tamaño del bloque de datos apuntado es 2 × (256/4) × 256B. El número de índices de dirección directa contenidos en un índice indirecto secundario es (256/4) x (256/4), es decir, el tamaño del bloque de datos al que apunta es (256/4) x (256/4) x 256B. Por lo tanto, el tamaño total del bloque de datos al que apuntan los 7 elementos de dirección es 4 × 256 + 2 × (256/4)) × 256 + (256/4) × (256/4) × 256 = 1082368B = 1057KB.

11. En un sistema de archivos, su FCB ocupa 64B, el tamaño de un bloque de disco es 1KB y se utiliza un directorio de primer nivel. Suponga que hay 3200 entradas de directorio en el directorio de archivos. Se necesitan (100) accesos al disco en promedio para encontrar un archivo.
El número de bloques de disco ocupados por 3200 elementos de directorio es 3200 × 64B / 1KB = 200. Debido a que el número promedio de accesos al directorio de primer nivel es la mitad del número de bloques de disco (busque todas las entradas del directorio en la tabla del directorio en orden, cada entrada del directorio es un FCB), por lo que el número promedio de accesos al disco es 200/2 = 100 veces.

12. Una vez completada la búsqueda mediante el método de búsqueda secuencial, se puede obtener la dirección lógica del archivo.

13. Hay un archivo de registro, que adopta el método de distribución de enlaces, la longitud fija del registro lógico es 100B y la tecnología de descomposición del grupo de registros se utiliza cuando se almacena en el disco. La longitud del bloque de disco es 512B. Si la entrada de directorio del archivo se ha leído en la memoria, después de que se haya modificado el 22º registro lógico, el disco se ha iniciado (6) veces.
El 22º registro lógico corresponde a 4 (22 × 100/512 = 4, 152 restantes) bloques físicos, es decir, se lee el quinto bloque físico. Dado que la estructura física del archivo es un archivo de enlace, es necesario señalarlo de la entrada del directorio Se lee el primer bloque físico y se obtiene la dirección física del quinto bloque cuando se lee secuencialmente el cuarto bloque El disco se inicia 5 veces en total. La modificación también requiere una operación de escritura diferida Dado que la dirección física del bloque se obtuvo durante la escritura diferida, solo se requiere un acceso al disco, por lo que es necesario arrancar un total de 6 discos.

14. Almacene 10 punteros de índice directo en el nodo de índice del archivo y 1 puntero de índice primario y secundario cada uno. El tamaño del bloque de disco es de 1 KB y cada puntero de índice ocupa 4B. Si el nodo de índice de un archivo ya está en la memoria, lea el bloque de disco donde el desplazamiento del archivo (direccionado por byte) es 1234 y 307400 en la memoria, y el número de bloques de disco a los que se debe acceder es (1, 3 ).
El tamaño del bloque de datos al que apuntan los 10 punteros de índice directo es 10 × 1 KB = 10 KB. Cada puntero de índice ocupa 4B, cada bloque de disco puede almacenar 1KB / 4B = 256 punteros de índice, el tamaño del bloque de datos apuntado por el puntero de índice primario es 256 × 1KB = 256KB, y el tamaño del bloque de datos apuntado por el El puntero de índice secundario es 256 × 256 × 1 KB = 2 KB = 64 MB.
Direccionamiento por byte, cuando el desplazamiento es 1234, porque 1234B <10KB, la dirección del bloque de disco donde se encuentra se puede obtener mediante puntero de índice directo. El nodo de índice del archivo ya está en la memoria, por lo que la dirección se puede obtener directamente, por lo que solo se requiere un acceso al disco.
Cuando el desplazamiento es 307400, porque 10KB + 256KB <307400B <64 MB, se puede saber que el contenido del desplazamiento está en un determinado bloque de disco al que apunta el puntero de índice secundario, y el nodo de índice ya está en la memoria, por lo que se obtiene accediendo primero al disco dos veces. La dirección del bloque del disco donde se encuentra el archivo se puede leer una vez que se accede al disco nuevamente, y se requieren un total de 3 accesos al disco.

15. El sistema de archivos utiliza un método de mapa de bits para indicar la asignación de espacio en disco. El mapa de bits se almacena en los bloques 32 a 127 del disco. Cada bloque de disco ocupa 1024B. Los bloques de disco y los bytes del bloque se numeran comenzando desde 0. Suponiendo que el número de bloque de disco que se liberará es 409612, el número de bloque de disco donde se encuentra el bit a modificar en el mapa de bits y el número de secuencia de bytes en el bloque son (82, 1) respectivamente.
Número de bloque de disco = número de bloque inicial + [número de bloque de disco / (1024 × 8)] = 32+ [409612 / (1024 × 8)] = 32 + 50 = 82, aquí está el número de byte en el bloque en lugar del número de bit, Por lo tanto, debe dividirse entre 8 (1B = 8 bits), el número de bytes en el bloque = [(número de bloque de disco% (1024 × 8)) / 8] = 1.

16. Entre las siguientes opciones, la estructura de datos que se puede utilizar para la gestión del sistema de archivos de bloques de disco libres es (ACD).
A. Mapa de bits B. Nodo de índice C. Cadena de bloques de disco libre D. Tabla de asignación de archivos (FAT)

17. El disco es un dispositivo compartido de tiempo compartido, pero como máximo un trabajo puede iniciarlo en cada momento.

18. Se puede acceder a CD, discos U y discos magnéticos tanto de forma secuencial como aleatoria.
Solo se puede acceder a la cinta de forma secuencial.

19. El archivo en el disco está en bloque, y la lectura y escritura también están en bloque.

20. El sistema siempre accede a una determinada pista del disco y no responde a las solicitudes de acceso a otras pistas. Este fenómeno se denomina adherencia del brazo magnético. Entre los siguientes algoritmos de programación de disco, el que no hace que el brazo magnético se pegue es (A).
A. Primero en llegar, primero en ser atendido (FCFS)
B. El tiempo de búsqueda más corto primero (SSTF) C.Algoritmo de
escaneo (SCAN)
D. Algoritmo de escaneo cíclico (CSCAN)
Cuando el sistema siempre tiene una solicitud de acceso a la pista, continuará Meet las condiciones de acceso de la prioridad de tiempo de búsqueda más corto, el algoritmo de escaneo y el algoritmo de escaneo cíclico, y siempre atenderá la solicitud de acceso. El servicio por orden de llegada se programa en el orden de las solicitudes, lo que es más justo, así que elija A.

21. Los tamaños de sector de disco y clúster de un sistema de archivos son 1 KB y 512 B, respectivamente. Si el tamaño de un archivo es 1026B, el espacio en disco asignado al archivo por el sistema es (2048B).
Para mejorar el tiempo de acceso al disco, la mayoría de los sistemas operativos asignan espacio en clústeres, por lo que la respuesta es D.

Supongo que te gusta

Origin blog.csdn.net/Tracycoder/article/details/109393972
Recomendado
Clasificación