Sistemas Operativos

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Sistemas Operativos por Mind Map: Sistemas Operativos

1. Son un Software

1.1. De tipo

1.1.1. Privado

1.1.2. Libre

1.2. Sus estados son

1.2.1. Abandonware

1.2.2. Freeware

1.2.3. Shareware

1.2.4. Dominio Publico

1.3. Conjunto de órdenes y programas que controlan los procesos básicos de una computadora y permiten el funcionamiento de otros programas.

2. Sistemas Pioneros o Base

2.1. UNIX

2.2. BSD

3. Principales Sistemas de la Actualidad

3.1. GNU/Linux

3.1.1. Es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a Unix denominado Linux con el sistema operativo GNU.

3.1.2. Creado por

3.1.2.1. Linus Torvalds

3.2. Windows

3.2.1. Creado por

3.2.1.1. Bill Gates

3.3. Mac

3.3.1. Creado por

3.3.1.1. Steve Jobs

4. FSF (Free Software Foundation)

4.1. Se dedica a eliminar las restricciones sobre la copia, redistribución, entendimiento, y modificación de programas de computadoras.

4.2. Fundada por

4.2.1. Richard Stallman

4.2.1.1. Tambien creador de GNU

4.2.1.1.1. Un sistema operativo de software libre, es decir, respeta la libertad de los usuarios.

5. Licencia GPL (General Public License)

5.1. Derivaciones

5.1.1. AGPL

5.1.1.1. Establece que se debe distribuir el software entre todos los usuarios que sean beneficiarios de un servicio de este.

5.1.2. LGPL

5.1.2.1. Es una licencia derivada de la GPL que dice que las modificaciones que se realicen a un software bajo esta licencia, no están amarrados a ella o a la GPL, entonces permite a los desarrolladores usar software GPL o LGPL sin estar obligados a que el producto final esté bajo dichas licencias.

5.2. Objetivo

5.2.1. Puedes instalar y usar un programa GPL en un ordenador o en tantos como te apetezca, sin limitación. También puedes modificar el programa para adaptarlo a lo que tu quieras que haga. Además, podrás distribuir el programa GPL tal cual o después de haberlo modificado.

6. Procesos

6.1. Un programa en ejecución

6.1.1. Estados

6.1.1.1. Nuevo

6.1.1.2. Inicio

6.1.1.3. Espera

6.1.1.4. Listo

6.1.1.5. Terminado

6.1.2. En memoria

6.1.2.1. Stack

6.1.2.2. Heap

6.1.2.3. Data

6.1.2.4. Text

6.1.3. Control de Procesos

6.1.3.1. Estado

6.1.3.2. Contador

6.1.3.2.1. Localiza la siguiente instruccion

6.1.3.3. Registro CPU

6.1.3.3.1. Contiene el registro de todos los procesos.

6.1.3.4. Prioridades

6.1.3.4.1. Calendario CPU

6.1.3.5. Informacion Manejo de Memoria

6.1.4. Cambio de Contexto

6.1.4.1. Bloque de control del proceso (BCP)

6.1.4.1.1. Programa

6.1.4.1.2. Estado

6.1.4.1.3. PID

6.1.4.1.4. Posición de Memoria

6.1.4.1.5. Controla

6.1.4.2. Cuando la CPU cambia a otro proceso, guarda el estado del anterior proceso y carga el estado guardado del proceso nuevo.

6.1.5. Candelarisadores

6.1.5.1. Largo Termino

6.1.5.1.1. Es el que controla los procesos que están listos en la cola de listos.

6.1.5.2. Corto Termino

6.1.5.2.1. Selecciona los procesos que seran ejecutados o los siguientes en ejecutar, y los que estan alocados en la CPU.

6.1.6. Tipo

6.1.6.1. Activo

6.1.6.2. Pasivo

7. Hilos

7.1. Es un proceso de bajo costo

7.1.1. Programacion multiproceso

7.1.1.1. Paralelismo

7.1.1.1.1. Tareas

7.1.1.1.2. Datos

7.1.1.1.3. Ejecuta varios procesos a la vez, sin ninguna interrupcion

7.1.1.2. Concurrencia

7.1.1.2.1. Ejecuta procesos compartidos en un mismo nucleo

7.1.2. Modelos Multihilo

7.1.2.1. Conformados por Hilos de Usuario y Hilos de Kernel

7.1.2.1.1. Uno a Uno

7.1.2.1.2. Muchos a Muchos

7.1.2.1.3. Muchos a Uno

7.1.2.1.4. 2 Nucleos

7.1.3. Señales

7.1.3.1. Se usan para notificar a un procesos sobre algun evento que ocurrio.

8. Estructuras

8.1. Interfaz

8.1.1. Interprete de Comandos

8.1.2. Interfaz Gráfica de Usuario

8.2. Llamadas al Sistema

8.2.1. Es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.

8.2.1.1. Tipos

8.2.1.1.1. Control de Procesos

8.2.1.1.2. Administracion de Archivos

8.2.1.1.3. Administracion de Dispositivos

8.2.1.1.4. Mantenimiento de informacion

8.2.1.1.5. Comunicacion

8.3. Tipo

8.3.1. Simple (Monolíticos)

8.3.1.1. Fue creada para proporcionar una máxima funcionalidad dentro del menor espacio posible.

8.3.2. En Niveles

8.3.2.1. Su organización está dada como una jerarquía de capas donde cada una de ellas ofrece una interfaz clara y bien definida, la capa superior solamente utiliza los servicios y funciones que ofrece la capa inferior, es decir, la capa n sólo se comunica para obtener lo requerido con la capa n-1, donde la capa inferior es la más privilegiada.

8.3.3. MicroKernels

8.3.3.1. En este sistema las funciones centrales son manejadas por el núcleo(kernel) y la interfaz de usuario es manejada por el entorno(shell). El Microkernel se encarga de todo el código de un sistema, y de planificar los hilos(threads) con la finalidad de tener multitareas.

8.3.4. Modulos

8.3.4.1. Lo que caracteriza este tipo de estructura es que el kernel se compone por módulos, y cada uno de estos módulos se encuentra separado de forma independiente, tal que, si alguno falla no afecta a los otros, ni al núcleo,

9. Sincronización de Procesos

9.1. Seccion Critica

9.1.1. Es una porción de código de un programa  en la que se accede a un recurso compartido (estructura de datos o dispositivo) que no debe ser accedido por más de un proceso o hilo en ejecución.

9.1.2. Para solucionar esto, se debe tener en cuenta

9.1.2.1. Exclusion Mutua

9.1.2.1.1. Si el proceso esta ejecutando su seccion critica, ningun otro proceso puede ejecutar su sección critica.

9.1.2.2. Expropiacion

9.1.2.2.1. Decirle que se acabo su tiempo

9.1.2.3. Espera Limitada

9.1.2.3.1. Existe un limite en el numero de veces que se permite que otros procesos entren a su sección critica, después de que el proceso ya haya realizado solicitud para ingresar a su sección critica.

9.1.3. Se gestiona en sistemas operativos por medio

9.1.3.1. Metodo de kernels apropiativos

9.1.3.1.1. Desaloja un proceso mientras se ejecute en modo kernel

9.1.3.2. Metodo de kernels no apropiativos

9.1.3.2.1. Permite que el proceso salga de dicho modo hasta que se bloquee, o hasta que se ceda voluntariamente.

9.1.4. Solucion de Peterson

9.1.4.1. Solucion practica en software

9.2. Semaforos

9.2.1. -Existen dos tipos de semáforos: Binarios y Contadores. -Un semáforo binario es un indicador (S) de condición que registra si un recurso está disponible o no.

9.3. Monitores

9.3.1. -Solo un hilo  puede ejecutarse  dentro del  monitor. -Si un hilo trata  de entrar al  monitor cuando  está ocupado,  entonces se  bloquea hasta  que se desocupe.

9.3.1.1. Los procesos,  cuando desean  comunicarse o  sincronizarse utilizan  los recursos privados  del Monitor,  mediante invocación  de los procedimientos  públicos.

9.4. Mutex

9.4.1. Protege la sección crítica con una cerradura; A continuación, abre la cerradura con una variable booleana, que indica si la seccion critica está disponible o no.

10. Scheduling ( Candelarizacion )

10.1. Criterio

10.1.1. Tiempo de espera

10.1.2. Tiempo de respuesta

10.1.3. Utilizacion CPU

10.1.4. Turnaround Time

10.1.4.1. Es el intervalo de tiempo desde que un proceso es cargado hasta que este finaliza su ejecución.

10.1.5. Rendimiento

10.1.5.1. Es el número de procesos que ejecutaron completamente por unidad de tiempo

10.2. Efecto Convoy

10.2.1. Los procesos pequeños esperan a los procesos largos.

10.3. Tipos

10.3.1. Proceso enviado, proceso iniciado

10.3.1.1. Los procesos son ejecutados en el orden que llegan a la cola de procesos listos.

10.3.2. Primero los procesos pequeños (SJF)

10.3.2.1. El algoritmo asocia a los procesos el largo de su próximo CPU-burst

10.3.2.2. Cuando el procesador queda disponible se le asigna al proceso que tenga el menor CPU-burst.

10.3.2.3. – No expropiativo: una vez que se le asigna el procesador a un proceso no se le podrá quitar. – Expropiativo: Si un nuevo proceso aparece en la lista de procesos listos con menor CPU-burst, se le quita la CPU para asignarla al nuevo proceso.

10.3.3. Prioridad

10.3.3.1. A la CPU se le asigna el proceso con las mas alta prioridad

10.3.3.2. SJF se puede ver como un algoritmo de prioridad donde la prioridad esta dada por el próximo CPU-burst.

10.3.3.3. Se utiliza en general un esquema expropiativo ya que si un proceso con mayor prioridad que el que esta ejecutando arriba a la lista de procesos listos , será asignado al procesador.

10.3.4. Round Robin

10.3.4.1. Ejecuta cada proceso en un determinado tiempo (Quantum), entre 10 -100 milisegundos. Este tiempo hay que calcularlo para evitar perdida de tiempo con algunos procesos.

10.3.4.2. El quantum debe ser bastante mayor a lo que lleva realizar un cambio de contexto, sino se tendrá mucho overhead. A su vez, el tiempo de quantum incide en los tiempos de retorno.

10.3.4.3. Cambio de contexto

10.3.4.3.1. Cambio de contexto: Salvar registros del procesador en PCB del proceso saliente. Cargar los registros con los datos del PCB del proceso entrante.

10.4. Colas Multinivel

10.4.1. Cada cola puede tener su algoritmo de candelarizacion

10.4.2. Cada cola puede tener un proceso y estos colas pueden tener relacion

10.5. Distribución de periodos CPU (bursts)

11. DeadLocks - Bloqueos

11.1. Caracteristicas

11.1.1. Exclusion Mutua

11.1.1.1. Los procesos reclaman control exclusivo de los recursos que piden

11.1.1.1.1. Se previene

11.1.2. No expropiacion

11.1.2.1. Los recursos no pueden ser extraídos de los procesos que los tienen hasta su completa utilización

11.1.2.1.1. Se previene

11.1.3. Hold and Wait (Tome y Espere)

11.1.3.1. Los procesos mantienen los recursos que ya les han sido asignados mientras esperan por recursos adicionales

11.1.3.1.1. Se previene

11.1.4. Espera Circular

11.1.4.1. Existe una cadena circular de procesos en la que cada uno mantiene a uno o más recursos que son requeridos por el siguiente proceso de la cadena

11.1.4.1.1. Se previene

11.2. Atender

11.2.1. Prevenirlos

11.2.1.1. Atacar Condiciones

11.2.1.1.1. 1 Instancia

11.2.1.1.2. Muchas Instancias

11.2.1.2. Tener Cuidado

11.2.2. Solucionarlos (Curar)

11.2.2.1. 1 Instancia

11.2.2.1.1. Solucion: Grafo

11.2.2.2. Muchas Instancias

11.2.2.2.1. Solucion: Algoritmo del Banquero

11.2.3. Nada (Avestruz)

11.3. Cuando los recursos son compartidos entre usuarios. Pueden producirse bloqueos en los cuales los procesos de algunos usuarios nunca podrán llegar a su término.

11.3.1. Los recursos pueden ser “apropiativos”, como la cpu y la memoria principal.

11.3.1.1. La secuencia de eventos necesarios para utilizar un recurso es la siguiente.

11.3.1.1.1. Solicitar el recurso.

11.3.1.1.2. Utilizar el recurso.

11.3.1.1.3. Liberar el recurso.

12. Memoria Principal

12.1. BackGround

12.1.1. El programa debe ser llevado desde el disco a la memoria y dentro de un proceso para que se ejecute.

12.1.2. La cache se encuentra entre la memoria principal y los registros de la CPU

12.1.3. La memoria principal puede tomar muchos ciclos, causando una parada

12.2. Cuando se inicia un proceso, se le define su espacio en memoria, donde la base  y el límite definen el espacio de las direcciones lógicas.

12.2.1. En memoria se guardan los registros del proceso, para lo cual el procesador tendrá una serie de direcciones para acceder rápidamente a ellos.

12.3. Pasos procesamiento de un programa de usuario.

12.3.1. Tiempo de Carga

12.3.2. Tiempo de Compilacion

12.3.3. Tiempo de Ejecucion

12.4. Direcciones

12.4.1. CPU

12.4.1.1. Direccion Logica (Virtual)

12.4.1.1.1. MMU - Pasa de logico a fisico

12.4.2. Memoria

12.4.2.1. Direccion Fisica

12.4.2.1.1. Los programas usan direcciones logicas, y el hardware de conversion (mapeo) de memoria, las convierte en direcciones fisicas.

12.5. Carga Dinamica

12.5.1. Un rutina no sera cargado en memoria, hasta que sea invocada por otra rutina o por el programa.

12.5.2. Las rutinas estaran guardas en disco, solo estaran en memoria cuando sean invocadas.

12.6. Montaje Dinamico

12.6.1. Enlace estático: bibliotecas de sistema y código de programa combinados Cargador en la imagen del programa binario

12.6.2. Enlace dinámico: se retrasa la conexión hasta el tiempo de ejecución

12.6.3. Stub

12.6.3.1. Pequeño trozo de código, utilizado para localizar la rutina

12.6.3.2. Se sustituye por la dirección de la rutina y ejecuta la rutina

12.6.4. Swapping (Intercambio)

12.6.4.1. Un proceso puede enviarsa temporalmente fuera de la memoria a un almacen de respaldo  y luego volver a la memoria para su ejecución.

12.6.4.2. La mayor parte del tiempo de swap es el tiempo de transferencia; El tiempo de transferencia total es directamente Proporcional a la cantidad de memoria intercambiada.

12.6.4.3. Los cambios normalmente tienen establecidos un quantum de tiempo aceptable para una regular ejecucion.

12.7. Asignacion de Memoria Contigua

12.7.1. La memoria siempre esta dividida en 2

12.7.1.1. El espacio para el SO

12.7.1.1.1. Ubicado en baja memoria, normalmente con el vector de interrupcion.

12.7.1.2. El espacio para los procesos del usuario

12.7.1.2.1. Ubicada en alta memoria

12.8. Asignacion de memoria

12.8.1. Se realiza una asignación de particiones múltiples.

12.8.1.1. Se encontraran agujeros de varios tamaños en la memoria.

12.8.1.2. Cuando llega un proceso, se le asigna memoria desde un agujero lo suficientemente grande para acomodarlo.

12.8.2. Formas de ajustar la memoria

12.8.2.1. Primer ajuste: Establecer el proceso en el agujero que sea lo suficientemente grande.

12.8.2.2. Mejor ajuste: asigne el agujero más pequeño que sea lo suficientemente grande.

12.8.2.3. Lo peor: ajustarlo en el agujero mas grande.

12.8.3. A medida que se cargan procesos en memoria y se los elimina, el espacio de memoria libre se descompone en una serie de fragmentos pequeños.

12.9. Fragmentacion

12.9.1. Fragmentación externa - el espacio de memoria total existe para satisfacer una solicitud, pero no es contigua.

12.9.1.1. Reducir la fragmentación externa por compactación.

12.9.1.1.1. Mueva el contenido de la memoria para colocar toda la memoria libre en un bloque grande.

12.9.1.1.2. Es posible si la reubicacion es dinamica

12.9.2. Fragmentación interna: la memoria asignada puede ser ligeramente mayor que la memoria solicitada; Esta diferencia de tamaño hace perder un pequeño espacio de memoria sin utilizar.

12.10. Segmentacion

12.10.1. Esquema de administración de memoria que admite la vista de usuario de la memoria

12.10.1.1. Un programa es una colección de segmentos

12.10.1.2. Un segmento es una unidad lógica tal como: Programa principal, procedimiento, función, Método.

12.10.1.3. Base - contiene la dirección física inicial donde los segmentos van a residir en la memoria.

12.10.1.3.1. El registro de longitud de la tabla de segmentos (STLR) indica el número de segmentos utilizado por un programa.

12.10.1.3.2. El registro base de la tabla de segmentos (STBR) apunta a la tabla de segmentos de la ubicación en memoria.

12.10.1.4. Limit - especifica la longitud del segmento

12.11. Paginacion

12.11.1. Es un esquema de gestión de memoria, que permite que el espacio de direcciones físicas de un proceso pueda ser no contiguo.

12.11.1.1. Metodo basico

12.11.1.1.1. Divida la memoria física en bloques de tamaño fijo llamados marcos

12.11.1.1.2. Y dividir la memoria logica en bloques llamados paginas.

12.11.1.1.3. Se necesita configurar una tabla de páginas para traducir direcciones lógicas a físicas, este se encarga de llevar el control de los procesos en memoria.

12.11.1.1.4. Para ejecutar un programa de tamaño N páginas, necesita encontrar N marcos libres

12.11.2. Evita la fragmentación externa Evita el problema de trozos de memoria de tamaño variable

12.12. Tabla de Paginas

12.12.1. La tabla de páginas se guarda en la memoria principal

12.12.2. El registro base de la tabla de páginas (PTBR) apunta a la tabla de páginas

12.12.3. El registro de longitud de la tabla de páginas (PTLR) indica el tamaño de la tabla de páginas

13. Memoria Virtual

13.1. Paginacion por demanda

13.1.1. se busca disminuir los tiempos de respuesta y aumentar la cantidad de programas en memoria.

13.1.1.1. intercambiador perezoso - Es un sistema paginado con intercambio en donde se intercambia paginas cuando no son necesarias

13.1.2. El proceso que se sigue es el siguiente:

13.1.2.1. Si la página requerida ya esta en memoria, simplemente se lee.

13.1.2.2. Si no está en memoria, revisa si la referencia es válida. Si la referencia es inválida, se aborta. Si la referencia es válida, se intenta cargar la página.

13.2. Segmentacion por demanda

13.2.1. Solamente se cargan los segmentos que se necesiten en una ejecucion

13.2.1.1. El SO controla los segmentos por medio de un descriptor

13.2.1.2. Un proceso no necesita todos sus segmentos en memoria para ser ejecutado, el descriptor lleva un control de todos los segmentos por medio de un bit validez, el cual revisa si esta en memoria.

13.3. Es una tecnica de gestion de la memoria que permite que el SO disponga de mayor cantidad de memoria que este disponible fisicamente.

13.4. Algoritmos de reemplazo de página y marco

13.4.1. FIFO

13.4.2. Optimal Algoritmo

13.4.2.1. Implementación del contador

13.4.2.1.1. Cada entrada de página tiene un contador; Cada vez que se hace referencia a la página

13.4.2.2. Implementación de la pila

13.4.2.2.1. Mantenga una pila de números de página en un formulario de doble enlace:

13.4.3. LRU

13.4.3.1. LRU necesita hardware especial y aún lento

13.4.3.2. Bit de referencia

13.4.3.3. Algoritmo de segunda oportunidad

13.4.4. Algoritmos de conteo

13.4.4.1. Mantenga un contador del número de referencias que se han hecho a cada página

13.4.5. Algoritmos de búfer de página

13.4.5.1. Mantenga una piscina de marcos libres siempre

14. Sistemas de Archivos

14.1. Estructura

14.1.1. Dispositivos

14.1.2. Control de E/S

14.1.3. Sistema basico de archivos

14.1.4. modulo de organizacion

14.1.5. sistema logico de archivos

14.1.6. Programas

14.2. Implementacion

14.2.1. El bloque de control de arranque contiene información que el sistema necesita para arrancar. Normalmente es un volumen.

14.2.2. Bloque de control de volumen: contiene detalles del volumen, número total de bloques, número de bloques libres, tamaño de bloque.

14.2.3. El bloque de control de archivos por archivo (FCB) contiene muchos archivos_ Número de inode, permisos, tamaño, fechas.

14.3. Particiones y montajes

14.3.1. La partición puede ser un volumen que contenga un sistema de archivos en bruto. Una secuencia de bloques sin sistema de archivos

14.3.2. La partición raíz contiene el sistema operativo, otras particiones pueden contener otros OS

14.4. Sistema de Archivos Virtuales (VFS)

14.4.1. VFS permite que se use la misma interfaz de llamada de sistema (la API) para diferentes tipos de sistemas de archivos

14.5. Implementacion directorio

14.5.1. Lista lineal : Nombres de archivo con puntero a los bloques de datos

14.5.1.1. Simple de programar Demora en ejecutar Tiempo de búsqueda lineal

14.5.2. Tabla hash: lista lineal con estructura de datos hash

14.5.2.1. Disminuye el tiempo de búsqueda en el directorio

14.5.2.2. Colisiones: situaciones en las que dos nombres de archivo tienen el mismo nombre ubicación

14.6. Metodos de Asignacion

14.6.1. Un método de asignación se refiere a cómo se asignan los bloques de disco para los archivos

14.6.1.1. Asignación contigua - cada archivo ocupa un conjunto de bloques contiguos

14.6.1.1.1. Mejor rendimiento en la mayoría de los casos

14.6.1.2. Sencilla - sólo ubicación inicial (bloque #) y longitud (número de Bloques)

14.6.1.2.1. fragmentación

14.7. Extensiones

14.7.1. Los sistemas de archivos basados en extensiones asignan bloques de disco en extensiones

14.7.2. Una extensión es un bloque contiguo de discos

14.7.2.1. Un archivo consta de una o más extensiones

14.7.3. Las extensiones se asignan para la asignación de archivos

14.8. Gestión del Espacio Libre

14.8.1. Agrupamiento

14.8.1.1. Modifique la lista enlazada para almacenar la dirección de los siguientes n-1 bloques libres en la primera libre

14.8.2. Contando

14.8.2.1. Mantener la dirección del primer bloque libre y contar los siguientes bloques libres

14.8.2.1.1. Debido a que el espacio es frecuentemente utilizado y liberado contiguamente, con  asignación contigua, extensiones o agrupación

15. Interfaz de sistema de archivos

15.1. Concepto de archivo

15.1.1. Espacio de direcciones lógicas contiguas

15.1.2. Tipos: Datos - Numerico, Byte Programa

15.1.2.1. Depende su extension, el tipo de archivo

15.1.3. Contenido definido por el creador del archivo

15.1.4. Archivo logico mas pequeño

15.2. Atributos de los archivos

15.2.1. Nombre,  identificador, tipo, ubicacion, fecha, proteccion

15.2.1.1. La información sobre los archivos se mantiene en la estructura de directorios, que es Mantenido en el disco

15.3. Operaciones con archivos

15.3.1. Crear, escribir, leer, truncar, abrir, cerrar

15.3.1.1. Para abrir un archivo se necesita

15.3.1.1.1. Tabla de archivos abiertos: pistas de archivos abiertos

15.3.1.1.2. Puntero a la última ubicación de lectura / escritura

15.3.1.1.3. File-open count: contador del número de veces que un archivo está abierto

15.3.1.1.4. Ubicación del disco del archivo: caché de información de acceso a datos

15.3.1.2. Abrir un archivo con bloqueo

15.3.1.2.1. Tipos

15.4. Estructura de Registro de Archivos

15.4.1. Simple

15.4.1.1. Líneas Longitud fija Longitud variable

15.4.2. Complejo

15.4.2.1. Documento con formato  Archivo de carga reubicable

15.5. Estructura de un disco

15.5.1. El disco se puede subdividir en particiones

15.5.2. El disco o la partición se pueden utilizar sin procesar - sin un sistema de archivos

15.5.3. Entidad que contiene el sistema de archivos conocido como un volumen

15.6. Tipos de Sistemas de Archivos

15.6.1. Ejemplos en Solaris

15.6.1.1. Ufs, zfs - sistemas de archivos de propósito general

15.6.1.2. Ctfs - para la gestión de demonios

15.6.1.3. Tmpfs -  memoria para E / S rápida y temporal

15.7. Organizacion directorio

15.7.1. El directorio se organiza lógicamente para obtener

15.7.1.1. Eficiencia: localizar rápidamente un archivo

15.7.1.2. Nombrar - conveniente para los usuarios

15.7.1.3. Dos usuarios pueden tener el mismo nombre para archivos diferentes

15.7.1.4. El mismo archivo puede tener varios nombres diferentes

15.7.2. Tipos de Estructuras de directorios

15.7.2.1. Un nivel

15.7.2.2. Dos Niveles

15.7.2.3. Arbol

15.7.2.4. Grafo Aciclico

15.7.2.5. Grafo General

15.8. Comparticion de Archivos

15.8.1. El intercambio de archivos en sistemas multiusuario es deseable

15.8.2. La compartición puede hacerse mediante un esquema de protección

15.8.2.1. El propietario / creador del archivo debe ser capaz de controlar:

15.8.2.1.1. Tipos de acceso

15.8.2.1.2. por quién

15.8.2.1.3. Qué se puede hacer

15.8.2.1.4. Ej: 710 Cada digito define el acceso a un tipo de usuario

15.8.3. En sistemas distribuidos, los archivos pueden ser compartidos a través de una red

15.8.4. Network File System (NFS) es un sistema común de distribución compartida de archivos

16. Sistemas de almacenamiento masivo

16.1. Discos Magneticos

16.1.1. Los discos pueden ser removibles

16.1.2. El tiempo de posicionamiento (tiempo de acceso aleatorio) es el tiempo para mover el brazo del disco a la posición deseada.

16.1.3. Las unidades giran de 60 a 250 veces por segundo

16.1.4. Los discos magnéticos proporcionan la mayor parte del almacenamiento

16.2. Discos Estado Solido

16.2.1. Memoria no volátil utilizada como un disco duro

16.2.2. Muchas variaciones tecnológicas

16.2.3. Más caro por MB

16.2.4. Menos capacidad, Pero mucho más rápido

16.3. Cintas Magneticas

16.3.1. Relativamente permanente y contiene gran cantidad de datos

16.3.2. Acceso aleatorio ~ 1000 veces más lento que el disco

16.3.3. Se utiliza principalmente para copias de seguridad, almacenamiento de datos de uso infrecuente, transferencia

16.3.4. Se mantiene en el carrete y se enrolla o rebobina la cabeza de lectura / escritura

16.4. Estructura del Disco

16.4.1. Las unidades de disco se tratan como grandes matrices 1-dimensionales de bloques lógicos,

16.4.2. La matriz 1-dimensional de bloques lógicos se mapea en los sectores de

16.4.3. El mapeo continúa en orden a través de esa pista, entonces el resto de la En ese cilindro, y luego a través del resto de los cilindros desde.

16.4.4. La dirección lógica a física debe ser fácil

16.5. Calendarizacion en Disco

16.5.1. El sistema operativo es responsable de utilizar el hardware de manera eficiente Para las unidades de disco, esto significa tener un tiempo de acceso rápido y un ancho de banda de disco.

16.5.2. Minimizar tiempo de búsqueda

16.5.3. Tiempo de búsqueda ≈ distancia de búsqueda

16.5.4. El ancho de banda del disco es el número total de bytes transferidos, dividido por El tiempo total entre la primera solicitud de servicio y la finalización de la transferencia.

16.5.5. Tipos de Calendarizacion

16.5.5.1. FCFS

16.5.5.1.1. Orden en que llegaron, en ese orden se atieden

16.5.5.2. SSTF

16.5.5.2.1. El que gaste menos tiempo o el mas cercano

16.5.5.3. SCAN

16.5.5.3.1. Algoritmo del Ascensor

16.5.5.4. C-SCAN

16.5.5.4.1. Solo atiende en una direccion

16.5.5.5. C-LOOK

16.5.5.5.1. No va hasta los extremos

16.6. Estructura RAID

16.6.1. RAID - matriz redundante de discos económicos

16.6.2. Múltiples unidades de disco proporciona confiabilidad a través de la redundancia

16.6.3. Tengo muchos discos, y mi sistema operativo lo ve como un solo disco.