gestion de archivo

17
Nombre (s) Y Matriculas: Yeison Guaba 15-SIST-6-048 Tema: Practica No. 4 Trabajo de: Sistema Operativo Sección: 311 Fecha: 15/06/2016 Profesor: Benito Vinicio

description

computo

Transcript of gestion de archivo

Page 1: gestion de archivo

Nombre (s) Y Matriculas:

Yeison Guaba 15-SIST-6-048

Tema:

Practica No. 4

Trabajo de:

Sistema Operativo

Sección:

311

Fecha:

15/06/2016

Profesor:

Benito Vinicio

Page 2: gestion de archivo

El sistema de archivos visto por el usuario del

lenguaje de órdenes

Los lenguajes de órdenes de los sistemas operativos, constituyen

conjuntos de órdenes básicas que cubren las funciones del sistema

operativo, este conjunto de órdenes es específico de cada sistema

operativo, pero a pesar de ello mantienen similitud en las funciones que

realizan.

Si bien es cierto que hoy en día los sistemas operativos usan ambientes

gráficos, para la interacción con el usuario, el lenguaje de ordenes continua existiendo a través de la pulsación de botones o interpretación

de gestos, pero si aun así necesitamos usarlo, aún tenemos disponibles

los entornos de línea de comando en todos ellos, como sería el caso

de la línea de comando de Windows (cmd) o las terminales en los

casos de Mac OS y Linux.

Para el caso de los sistemas operativos móviles como Android, iOS,

Blackberry 10 o Windows Phone estos no poseen una interfaz de línea

de comando como en sus contrapartes para equipos de cómputo pero aun así poseen las mismas clases de ordenes en su interior, solo que

cubiertas por la capa de interfaz gráfica que hace más fáciles de usar

estos dispositivos con la incorporación y popularización de las pantallas

táctiles.

Las sentencias que conforman el lenguaje de órdenes de cualquier

sistema operativo se pueden clasificar en las siguientes clases:

Conexión y mantenimiento

Control de programa

Gestión de archivos

Informe de estado

Administración del sistema

Page 3: gestion de archivo

Conexión y mantenimiento

Esta clase de ordenes incluyen los típicos comandos para iniciar y

cerrar sesiones o cambiar de contraseña, un ejemplo de estas lo

podemos ver en los comandos login, logout y pass de linux, mientras que los sistemas operativos de ambiente gráfico para equipo de

cómputo lo vemos en las ventanas en donde seleccionamos el usuario

y colocamos la contraseña, como la que vemos a continuación en el

caso de Windows.

En el ambiente de los sistemas operativos móviles, si bien son sistemas

monousuario, por motivos de seguridad tienen un solo usuario pero que

mantiene las funciones de inicio y cierre de sesión e incluso de introducir contraseña, solo que con métodos más elaborados, como la

ventana de bloqueo a través de trazos en Android.

Control de programas

Esta clase, se integra por las órdenes para ejecutar, cerrar y abortar

programas; en los ambientes de línea de comando, la orden para

ejecutar un programa se sintetiza en solo escribir el nombre del

programa como ocurría en MS-DOS, pero si aún lo desea puede ver su uso en la línea de comandos de Windows con el comando start o en el

caso de las terminales de Linux y Mac-OS precediendo los símbolos “.

/” (Punto y diagonal) a los nombres de los programas a ejecutar.

En los ambientes gráficos modernos, estas órdenes se generan al hacer

clic o doble clic sobre un acceso directo si usamos el mouse, o hacer

tap (gesto de presionar una vez con el dedo) en una pantalla táctil.

Page 4: gestion de archivo

Gestión de archivos

A esta clase pertenecen las ordenas que nos permiten manipular los

archivos y directorios (carpetas) del sistema operativo, es decir, las

órdenes para crear, copiar, mover o renombrar archivos y carpetas de las unidades de disco, las cuales suelen ser muy comunes en los

lenguajes de órdenes de muchos sistemas operativos como es el caso

de:

Copy (copiar)

Cd (cambio de carpeta)

Md (crear carpeta)

Rd (borrar carpeta)

Del (borrar archivos)

Las cuales son iguales en las líneas de comando de Windows, Linux y Mac-OS, para el caso de los ambientes gráficos estas órdenes se

realizan de múltiples maneras, ya sea presionando botones con el

mouse o con atajos de teclado.

Informe de estado

Estas órdenes son muy variadas en todos los sistemas operativos pero

se consideran dentro de esta categoría incluye las utilidades para listar

los programas o procesos que se están ejecutando o ver la lista de

usuarios conectados, mientras que en los sistemas de ambiente gráfico se incluyen utilidades como el “administrador de tareas de Windows” o

el “monitor de sistema” de Mac-OS.

ORGANIZACIÓN DEL DISCO DURO

Page 5: gestion de archivo

Disco duro

El disco duro es el dispositivo principal para el almacenamiento y

recuperación de grandes cantidades de información. Constituyen el

elemento fundamental de almacenamiento secundario (la memoria

principal sería la memoria RAM). El disco duro es un elemento de memoria no volátil y de tipo magnético

Respecto al estudio de su estructura podemos tomar dos puntos de

vista: el físico y el lógico.

Estructura física de un disco duro

Desde el punto de vista físico, un disco duro está compuesto por un

conjunto de discos que se encuentran en una carcasa cerrada herméticamente junto con una parte mecánica que soporta las cabezas

lectoras (parecidas a las de un tocadiscos). Cada uno de esos discos

cuenta a su vez con dos caras o superficies sobre las cuales se puede

almacenar información. Estas superficies están magnetizadas y están

compuestas por millones de pequeños elementos capaces de ser magnetizadas de forma positiva o negativa. Así, es posible representar

los dos valores que forman un bit (0's y 1's). Sin embargo, esto no

quiere decir que siempre las dos caras sean utilizables ya que eso

depende del número de cabezas lectoras/escritoras disponibles. El conjunto de cabezales se puede desplazar linealmente desde el exterior

hasta el interior de la pila de platos mediante un brazo mecánico que

los transporta. Por último, para que los cabezales tengan acceso a la

totalidad de los datos, es necesario que la pila de discos gire. Este giro se realiza a velocidad constante y no cesa mientras esté encendido el

ordenador.

A la hora de hacer referencia a las partes del disco, diferenciamos entre:

Plato: cada uno de los discos de los que están compuesto el disco

duro.

Cara: cada uno de los lados de un plato.

Cabeza: número de cabezales para la lectura/escritura de información.

Pista: una circunferencia dentro de una cara.

Page 6: gestion de archivo

Cilindro: conjunto de varias pistas; son todas las circunferencias que

están alineadas verticalmente.

Sector: unidad mínima de información que se puede leer o escribir en un disco duro. Generalmente, cada sector almacena 512 bytes de

información.

El número total de sectores de un disco duro se puede calcular a través de esta fórmula (no es necesario saberla ya que puede deducirse

si se conoce la estructura de un disco duro)

A la hora de contar cada uno de los componentes, hay que tener en cuenta que las cabezas y los cilindros se comienzan a enumerar desde

el 0, mientras que los sectores lo hacen desde el 1. Un bloque de

información vendrá determinado por su cabeza, su cilindro y por el

sector que ocupa; por ejemplo 0-0-1.

Proceso de lectura/escritura

El proceso de lectura o escritura en el disco duro está compuesto por

los siguientes pasos:

Desplazar los cabezales de lectura/escritura hasta el lugar donde

empiezan los datos

Esperar a que el primer dato, que gira con los platos, llegue al lugar

donde están los cabezales

Leer el dato con el cabezal correspondiente.

Estructura lógica

La estructura lógica de un disco duro está formada por:

El sector de arranque o Master Boot Record, que contiene la tabla de

particiones.

Las particiones, necesarias para poder colocar los sistemas de archivos.

El sector de arranque es el primer sector del disco duro, referenciado

por la cabeza 0, cilindro 0 y sector 1. En él se almacena la tabla de particiones y un pequeño programa master de inicialización, llamado

también Master Boot. Este programa es el encargado de leer la tabla de

particiones y ceder el control al sector de arranque de la partición

activa. Si no existiese partición activa, mostraría un mensaje de error.

Page 7: gestion de archivo

Una partición de disco es el nombre que recibe cada una de las

divisiones presentes en una unidad física de almacenamiento de datos.

Cada partición representa una unidad lógica de información. Toda

partición tiene su propio sistema de archivos (formato). Cada sistema operativo interpreta, utiliza y manipula cada partición como un disco

físico independiente, a pesar de que dichas particiones estén en un solo

disco físico

El espacio particionado de un disco es aquel que ha sido asignado a

alguna partición, mientras que el espacio no particionado, es el espacio

no accesible del disco ya que todavía no ha sido asignado a ninguna

partición.

Un disco duro, por ejemplo, podría tener dos particiones (dos unidades

lógicas dentro de una misma unidad física) y trabajar de la misma

manera que si tuviésemos dos discos duros. Como mínimo, un disco duro debe tener una partición que sea la que albergue el sistema

operativo.

Las razones que nos pueden llevar a crear más de una partición en un disco son:

Organizativas. Por ejemplo, cuando hay dos usuarios que utilizan un

mismo ordenador y, con objeto de lograr una mejor organización y seguridad de sus datos, deciden utilizar particiones separadas.

Instalación de más de un sistema operativo. Cada sistema operativo

requiere una partición por lo que si queremos usar varios será necesario particional el disco.

Razones de eficiencia. Por ejemplo, suele ser preferible tener varias

particiones FAT pequeñas antes que una gran partición FAT. Esto es debido a que cuanto mayor es el tamaño de una partición, mayor es el

tamaño del clúster (conjunto de sectores). y, por consiguiente, se

desaprovecha más espacio de la partición.

Tipos de particiones

El formato o sistema de archivos de las particiones (p. ej. NTFS) no

debe ser confundido con el tipo de partición (p. ej. partición primaria).

Independientemente del sistema de archivos de una partición (FAT, ext3,

NTFS, etc.), existen 3 tipos diferentes de particiones:

Page 8: gestion de archivo

Partición primaria: Son las divisiones crudas o primarias del disco, solo

puede haber 4 de éstas o 3 primarias y una extendida. Depende de una

tabla de particiones. Un disco físico completamente formateado consiste,

en realidad, de una partición primaria que ocupa todo el espacio del disco y posee un sistema de archivos. A este tipo de particiones,

prácticamente cualquier sistema operativo puede detectarlas y asignarles

una unidad, siempre y cuando el sistema operativo reconozca su

formato (sistema de archivos).

Partición extendida: También conocida como partición secundaria es

otro tipo de partición que actúa como una partición primaria; sirve para

contener infinidad de unidades lógicas en su interior. Fue ideada para

romper la limitación de 4 particiones primarias en un solo disco físico. Solo puede existir una partición de este tipo por disco, y solo sirve

para contener particiones lógicas. Por lo tanto, es el único tipo de

partición que no soporta un sistema de archivos directamente.

Partición lógica: Ocupa una porción de la partición extendida o la

totalidad de la misma, la cual se ha formateado con un tipo específico

de sistema de archivos (FAT32, NTFS, ext2,...) y se le ha asignado una

unidad, así el sistema operativo reconoce las particiones lógicas o su sistema de archivos. Puede haber un máximo de 23 particiones lógicas

en una partición extendida.

Tabla de particiones

La tabla de particiones es una estructura de 64 bytes que se encuentra

almacenada en el Master Boot Record (MBR) a partir del byte 446. La

tabla de particiones almacena toda la información básica sobre la

partición: si es arrancable, si no lo es, el formato, el tamaño y el sector de inicio.

Sistemas de archivos

El sistema de archivos es la estructura que utiliza una partición de

disco para almacenar la información con la finalidad de facilitar su acceso. El proceso de asignar un sistema de archivos a una partición

se denomina formateo.

Page 9: gestion de archivo

Los sistemas operativos suelen tener su propio sistema de archivos,

aunque hay sistemas operativos que funcionan en diferentes entornos. El

software del sistema de archivos se encarga de organizar los archivos y

directorios, manteniendo un registro de los bloques que pertenecen a cada archivo, los bloques no utilizados, etc.

Gestión de archivos vista por el sistema operativo

Gestión de archivos: es la administración de los archivos esto se realiza

a través del sistema operativo permitiendo que los usuarios tengan acceso directo con los archivos y tengan control de ellos, así como

también se puede enviar y compartir archivos con otros usuarios,

brindarles seguridad y protección a estos. De modo que le permite al

usuario realizar ciertas operaciones con ellos, las cuales son:

1) Puedes crear un archivo, identificándolo con un nombre y determinar

el espacio de este.

2) Abrir el archivo, aquí se realiza distintas operaciones como su

ejecución, leerlo, escribir en el.

3) Borrarlo de modo que puedes liberar el espacio que ocupa este archivo.

4) Cerrar el archivo, finaliza la ejecución de este.

5 Modificarlo permite hacer cambios al archivo como cambiar su

nombre.

Generalización de los servicios de archivos

La gestión de archivos maneja los datos que residen en el

almacenamiento secundario

Tipos de Archivos:

Físico.- La información vista desde la perspectiva del hardware

Lógico.- Su significado está definido por el usuario.

El Sistema de Archivos

Page 10: gestion de archivo

El sistema de archivos de un SO lo conforman todas aquellas rutinas

encargadas de administrar todos los aspectos relacionados con el

manejo de Archivos.

Está formado por:

Métodos de acceso.- Se ocupan de la manera en que se tendrá acceso

a la información almacenada en el archivo.

Ejemplo: Secuencial, Directo, indexado, etc.

Administración de archivos.- Se ocupa de ofrecer los mecanismos para

almacenar, compartir y asegurar archivos, así como para hacer

referencia a ellos.

Administración de almacenamiento secundario.- Se ocupa de asignar

espacio para los archivos en los dispositivos de almacenamiento

secundario.

Mecanismos de integridad.- Se ocupan de garantizar que no se

corrompa la información de un archivo, de tal manera que solo la

información que deba estar en el, se encuentre ahí.

Son responsabilidades del sistema de archivos:

-La transferencia de peticiones de acceso desde el espacio de dirección

de archivo lógico al físico

-La transmisión de elementos entre el almacenamiento principal y

secundario

-La gestión de almacenamiento secundario

-Brindar soporte para protección y compartimiento

Perspectiva de los usuarios del lenguaje de órdenes

Los usuarios del lenguaje de órdenes invocan los servicios de gestión

mediante órdenes del sistema operativo. Pueden listar (List) directorios,

copiar (copy) archivos, Crear (Create), borrar (Delete) y cambiar el

nombre (Rename) de los archivos.

Categorías de Directorios:

Plano.- Contiene todos los archivos del sistema o de un volumen dado.

Page 11: gestion de archivo

Jerárquico.- Agrupa los archivos en subdirectorios. El acceso a los

archivos requiere una especificación de vía de Acceso completa.

Ventajas

El directorio jerárquico presenta las siguientes ventajas:

- Nombre único de archivo facilitado

- Soporte para el compartimiento selectivo, protección y uso de alias o

enlaces de archivo.

- Manipulación cómoda de directorios.

Perspectiva del Programador

Los programadores invocan los servicios del sistema mediante llamadas

en tiempo de ejecución. Estas sirven para acceder (Open, Read); desplazarse lógicamente (Seek); modificar porciones de archivo (write) y

cerrar (close) archivos.

Gestor de archivos

El gestor de Archivos proporciona medios para creación, manipulación y

acceso a los archivos con ninguna o poca interpretación: El SO

considera los archivos como series de bits. Suelen permitir un acceso

secuencial o directo a los archivos.

Organización del Disco.

- Los datos se almacenan en la superficie del disco magnético en

círculos concéntricos llamados pistas

- La colección de pistas de todas las superficies que se encuentran a

la misma distancia del eje se llama cilindro.

- Un número de bloques de datos llamados sectores se graba en cada

pista.

Tipos de Discos

- Extraíbles o fijos si se pueden extraer o no

- De cabeza fija o móvil, según el número de cabezas. Controlador de disco Convierte las órdenes de nivel alto (Seek, read); en secuencias

Page 12: gestion de archivo

temporizadas de órdenes de unidad (lectura, escritura, etc); proporciona

conversión serie/paralela y el control de errores.

Gestión del espacio en Disco

Determina la manera en que un Sistema Operativo controla los lugares del disco ocupados por cada archivo de datos. Se debe controlar

básicamente la identificación del archivo, sector de inicio y sector final.

Modos de Asignación de Espacio

Asignación contigua.- Asigna áreas contiguas en disco. Los archivos se

colocan en bloques consecutivos de disco. Su ventaja es el acceso

secuencial y directo rápido. Su desventaja es que produce mucha

fragmentación:

Interna.- Son los bloques libres al final del archivo

Externa.- Son los bloques libres que son muy pequeños para ser asignados.

Estrategias de asignación

El primero que encuadre.- requiere menos búsqueda en disco

El mejor que encuadre.- Busca coincidencia entre el espacio pedido y el

espacio asignado. Reduce la fragmentación interna.

Asignación no contigua.- Utiliza dos estrategias básicas:

El Encadenamiento.- Unos pocos bytes de cada bloque de disco se reserva para señalar el próximo bloque en secuencia. El acceso

secuencial es bueno, el directo es lento. Su ventaja es que no produce

fragmentación externa, su desventaja es que no permite transferencia

multisectorial.

La Indexación.- Reúne punteros en bloques de índices. La n-ésima

entrada en el bloque índice apunta al n-ésimo bloque que conforma el

archivo. En el directorio se controla la dirección del bloque índice de cada archivo. Sus ventajas son la mejora de velocidad en el acceso

directo, y evita la fragmentación externa. Sus desventajas son el acceso

Page 13: gestion de archivo

a disco necesario para recuperar una dirección y el espacio necesario

para almacenar la información de direccionamiento.

Implementación del gestor de archivos:

Para implantar el gestor de archivos de un SO, los diseñadores utilizan:

Niveles de Abstracción de dispositivo:

Hay tres niveles:

1.- El primero es cómo el usuario ve los archivos: la información es

dirigida en archivos en términos de direcciones lógicas.

2.- El segundo considera cada volumen de almacenamiento como un

conjunto lineal de bloques lógicos.

3.- La tercera es la proporcionada por las controladoras de dispositivos.

Generalización de los servicios de archivo.

La E/S independiente de dispositivo ofrece gran comodidad y

flexibilidad. Para proporcionar una abstracción común de muchos tipos distintos de dispositivos de E/S, es habitual considerar todos los

dispositivos como archivos, en los que se puede escribir y leer bytes en

serie y estructurados en bloques, permitiendo que accedan a un mismo

grupo de servicios como READ, WRITE, OPEN y CLOSE.

Un sistema de E/S suele incluir una planificadora, que asigna los

procesadores y canales de E/S, un controlador de tráfico, que lleva un

control del estado del dispositivo, y un número de conductoras de dispositivo, que convierten las órdenes genéricas de E/S como READ o

WRITE en señales de control de dispositivo.

E/S Síncrona.- Cuando una petición de E/S suspende el proceso invocante hasta que se complete la operación.

E/S Asíncrona.- Cuando la petición de E/S permite que procedan

paralelamente el proceso invocante y la rutina de E/S llamada.

Page 14: gestion de archivo

Distribución de la memoria en disco La memoria física de un sistema se divide en dos categorías:

• Memoria de acceso aleatorio: comprende circuitos integrados y es, en consecuencia, muy veloz.

• Memoria de almacenamiento masivo: comprende dispositivos magnéticos (disco duro, cintas magnéticas, etcétera) y es mucho más

lenta. Los mecanismos de distribución de memoria La memoria central se puede distribuir de tres maneras:

• Segmentación: los programas se dividen en paquetes de longitudes variadas conocidos como "segmentos".

• Paginación: consiste en dividir la memoria en bloques y los programas

en páginas de longitud fija.

• una combinación de segmentación y paginación: algunas partes de la

memoria se segmentan y otras se paginan.

TIPOS DEINTERRUPCION

Manejando interrupciones.

En el mapa de memoria del PC podemos encontrar dos tipos de

interrupciones, las de software y las de hardware. En este tutorial solo se explicaran interrupciones de hardware. En un PC, las interrupciones

externas son manejadas por el controlador de prioridad de

interrupciones 8259A. Cuando el 8259A recibe una señal de interrupción

a través de las señalesIRQ2 a IRQ7, envía una señal de petición de interrupción a la entrada INTR del uP. Entonces el 8086 envía una señal

INTA (interrupt-acknowledge) al 8259A. El uP puede luego leer el tipo de

Page 15: gestion de archivo

interrupción del dispositivo externo. El 8086 usa el tipo de interrupción

leído desde el dispositivo externo para obtener la dirección de la rutina

de servicio de la interrupción de la tabla de vectores de interrupción en

la memoria. Note que las señales INTR y INTA no están presentes en el bus ISA, estas señales solo son utilizadas por el uP y el 8259A.

Programando las interrupciones.

El objetivo básico de una interrupción es ejecutar una función que

responda a la petición de un dispositivo de hardware. Un vector interrupción contiene la dirección de esta función. En un sistema basado

en el 8086 el primer Kbyte de memoria (desde 00000H a 003FFH) es

utilizado como una tabla de vectores de interrupción. Para apuntar a

cualquier dirección del mapa de memoria son necesarios cuatro bytes. 16 bits para el desplazamiento y 16 bits para el el segmento. Luego, un

Kbyte de memoria permite almacenar 256 vectores de interrupción.

Algunos de los 256 vectores de interrupción son utilizados por el

sistema, otros están libres para ser usados por los programas de usuario. Para instalar una rutina de interrupción de usuario es posible

utilizar un programa como el del ejemplo.

El programa instala una rutina de interrupción en el canal de

interrupción IRQ1, que es el reloj de sistema. Este timer genera una

interrupción 18.2 veces por segundo. En la rutina de servicio de la

interrupción, se incrementa una variable global. Cuando esta variable es

igual a 18 se presenta en la pantalla. Luego obtendremos un contador de segundos (aprox.). TIPOS DE PUERTOS

Los puertos de comunicación

Los puertos de comunicación, como su nombre indica, son una serie de puertos que sirven para comunicar nuestro ordenador con los

periféricos u otros ordenadores. Se trata en definitiva de dispositivos

I/O (Imput/Output, o Entrada/Salida)

Page 16: gestion de archivo

PUERTO SERIE (RS-232). Los puertos RS-232, también conocidos como puertos serie y como

puertos COM son uno de los primeros puertos de comunicaciones

incorporados a los PC, pero también uno de los más ineficaces.

El interface de este tipo de puerto suele ser de dos tipos, de 9 pines

(normalmente señalado como COM1) y de 25 pines(normalmente

señalado como COM2), siendo estos conectores de tipo MACHO en la parte del PC. En un principio todas las placas base contaban con

ambos tipos de puerto serie.

PUERTO PARALELO.

El puerto paralelo más conocido es el puerto de impresora, también

conocido como Puerto LPT. A veces se le denomina Centronic, que es

el nombre que recibe el conector del extremo correspondiente a la impresora, siendo él.

Métodos de asignación de memoria

La asignación de memoria consiste en el proceso de asignar memoria para propósitos específicos, ya sea en tiempo de compilación o de ejecución. Si es en tiempo de compilación es estática, si es en tiempo de ejecución es dinámica y si son variables locales a un grupo de sentencias se denomina automática.

Asignación estática de memoria

La Asignación estática de memoria consiste en el proceso de asignar memoria en tiempo de compilación antes de que el programa asociado sea ejecutado, a diferencia de la asignación dinámica o la automática donde la memoria se asigna a medida que se necesita en tiempo de ejecución.

Page 17: gestion de archivo

Una aplicación de esta técnica conlleva que un módulo de programa (por ejemplo función o subrutina) declara datos estáticos de forma local, de forma que estos datos son inaccesibles desde otros módulos a menos que se les pasen referenciados como parámetros o que les sean devueltos por la función. Se mantiene una copia simple de los datos estáticos, accesible a través de llamadas a la función en la cual han sido declarados.

El uso de variables estáticas dentro de una clase en la programación orientada a objetos permite que una copia individual de tales datos se comparta entre todos los objetos de esa clase.

Las constantes conocidas en tiempo de compilación, como literales de tipo cadena, se asignan normalmente de forma estática. En programación orientada a objetos, el método usual para las tablas de clases también es la asignación estática de memoria.

Asignación automática de memoria

Las variables automáticas son variables locales a un bloque de sentencias (subrutina, función o procedimiento). Pueden ser asignadas automáticamente en la pila de datos cuando se entra en el bloque de código. Cuando se sale del bloque, las variables son automáticamente desasignadas. Las variables automáticas tendrán un valor sin definir cuando son declaradas, por tanto es buena práctica de programación inicializarlas con un valor válido antes de usarlas.