Download Administración de archivos
Document related concepts
Transcript
Capítulo 3: Estructuras de los sistemas operativos Componentes del sistema Servicios del sistema operativo Llamadas al sistema Programas del sistema Sistemas Operativos 6a. edición 3.1 Silberschatz, Galvin y Gagne ©2003 Componentes del Sistema Administración de procesos. Administración de la memoria principal. Administración de archivos. Administración del sistema de entrada/salida. Administración del almacenamiento secundario. Operación en red. Sistema de protección. Sistema interprete de comandos. Sistemas Operativos 6a. edición 3.2 Silberschatz, Galvin y Gagne ©2003 Administración de procesos Un proceso es un programa en ejecución. Un proceso necesita recursos, incluyendo tiempo de CPU, memoria, archivos y dispositivos de E/S, para realizar su tarea. El sistema operativo es responsable de las siguientes actividades relacionadas con la administración de procesos: Crear y eliminar procesos de usuario y procesos del sistema. Suspender y reanudar procesos. Proporcionar mecanismos para: Sincronización de procesos. Comunicación entre procesos. Manejo de bloqueos mutuos entre procesos. Sistemas Operativos 6a. edición 3.3 Silberschatz, Galvin y Gagne ©2003 Administración de la memoria principal La memoria principal es un arreglo de palabras o “bytes” cada uno con su propia dirección. El CPU tiene acceso directo a cada una de las palabras en la memoria principal y ejecuta los programas que se encuentran cargados en ella. El CPU lee y escribe datos en la memoria principal. El DMA también tiene acceso para leer y escribir datos en la memoria principal. Para mejorar el uso del CPU, varios programas se pueden encontrar al mismo tiempo en la memoria principal. El sistema operativo es responsable de las siguientes actividades relacionadas con la administración de la memoria: Llevar un registro de las partes de la memoria que están siendo utilizadas y quién las está utilizando. Decidir que procesos se van a cargar en la memoria cuando exista espacio disponible en ella. Asignar y liberar espacio de la memoria según sea necesario. Sistemas Operativos 6a. edición 3.4 Silberschatz, Galvin y Gagne ©2003 Administración de archivos Un archivo es un conjunto de información relacionada definida por su creador. Normalmente, los archivos representan a programas ( tanto código fuente como código ejecutable ) y datos. Los archivos pueden ser almacenados en diferentes medios físicos. El sistema operativo proporciona una vista lógica uniforme del almacenamiento de la información haciendo una abstracción del medio físico en el cual se almacenan los archivos. El sistema operativo es responsable de las siguientes actividades relacionadas con al administración de archivos: Crear y eliminar archivos. Crear y eliminar directorios. Dar soporte a primitivas para la manipulación de archivos y directorios. LLevar un registro de los archivos en almacenamiento secundario. Respaldar archivos en medios de almacenamiento secundario ( no volátiles ). Sistemas Operativos 6a. edición 3.5 Silberschatz, Galvin y Gagne ©2003 Administración del sistema de E/S El sistema operativo oculta al usuario las peculiaridades de los dispositivos del hardware y presenta una interfaz de fácil uso. El sistema de entrada/salida consta de: Un componente de administración de memoria que incluye manejo de buffers, asignación de caché y spooling ( operación simultánea de periféricos en línea ). Una interfaz general de fácil uso para manejadores de dispositivos. Controladores para dispositivos de hardware específicos. Sistemas Operativos 6a. edición 3.6 Silberschatz, Galvin y Gagne ©2003 Administración de almacenamiento secundario Debido a la volatilidad de la memoria principal y su relativamente pequeño tamaño, el sistema de cómputo debe incluir un sistema de almacenamiento secundario de gran volumen y no volátil como respaldo a la memoria principal. La mayoría de los sistemas de cómputo emplean discos magnéticos y discos ópticos como sistemas de almacenamiento secundario. El sistema operativo es responsable de las siguientes actividades relacionadas con la administración de discos: Administración del espacio libre. Asignación del almacenamiento. Planificación del disco. Esto se refiere a las estrategias utilizadas para el movimiento de los cabezales magnéticos en la búsqueda de datos sobre la superficie del disco. Sistemas Operativos 6a. edición 3.7 Silberschatz, Galvin y Gagne ©2003 Operación en red Un sistema distribuido en un conjunto de procesadores que no comparte memoria, dispositivos periféricos o un reloj. Cada procesador tiene su propia memoria y reloj local. Los procesadores en un sistema distribuido están conectados entre ellos mediante una red de comunicación. Un sistema distribuido le permite al usuario el acceso a diversos recursos que se encuentran en el sistema. El acceso a recursos compartidos en el sistema trae como consecuencia: Aceleración del cómputo. Disponibilidad de datos. Mejora en la confiabilidad. Los protocolos establecen normas de comunicaciones que permiten el acceso y transferencia de datos a través del sistema distribuido. Por ejemplo: ftp, tftp, http, NFS. Sistemas Operativos 6a. edición 3.8 Silberschatz, Galvin y Gagne ©2003 Sistema de protección Un sistema con múltiples usuarios ejecutando procesos concurrentes debe establecer mecanismos para proteger a un proceso de los demás. La Protección se refiere a cualquier mecanismo para controlar el acceso de programas, procesos o usuarios a los recursos presentes en un sistema de cómputo. El mecanismo de protección debe: Distinguir entre uso autorizado o no autorizado de los recursos. Especificar los controles a establecer. Proveer los medios para cumplir con los controles. Sistemas Operativos 6a. edición 3.9 Silberschatz, Galvin y Gagne ©2003 Sistema intérprete de comandos El intérprete de comandos es la interfaz entre el usuario y el sistema operativo. Algunos sistemas operativos lo incluyen en el kernel, otros sistemas operativos lo incluyen en un programa especial. Muchos comandos son dados al sistema operativo por medio de sentencias de control para: Creación y administración de procesos. Manejo de entrada/salida. Administración del almacenamiento secundario. Administración de la memoria principal. Acceso a los archivos. Manejo de los sistemas de protección. Uso de la red. Sistemas Operativos 6a. edición 3.10 Silberschatz, Galvin y Gagne ©2003 Sistema intérprete de comandos El programa que lee e interpreta las sentencias de control se le llama de varias maneras: Interpretador de línea de comando - command-line interpreter ( CLI ). shell (en UNIX). Cuando este programa es gráfico, se le denomina Interfaz gráfica de usuario – graphical user interface ( GUI ). Por ejemplo: Windows. Sistemas Operativos 6a. edición 3.11 Silberschatz, Galvin y Gagne ©2003 Servicios del sistema operativo El sistema operativo proporciona el ambiente para la ejecución de programas. Los servicios que presta al usuario para lograr este objetivo, son los siguientes: Ejecución de programas. El sistema debe ser capaz de cargar un programa en memoria principal y ejecutarlo. Operaciones de entrada/salida. El usuario no puede tener acceso directo a los dispositivo de entrada/salida, el sistema operativo debe suministrarle los medios para lograr este objetivo. Manipulación del sistema de archivos. El sistema operativo debe suministrar los medios para que el usuario pueda crear, eliminar, abrir y cerrar archivos. Comunicaciones. La comunicación entre procesos puede establecerse dentro de una misma computadora o entre computadoras separadas por un medio de comunicación. Esta comunicación puede ser mediante paso de mensajes o mediante memoria compartida. Detección de errores. El sistema operativo debe ser capaz de detectar y tomar las correspondientes acciones correctivas al ocurrir un error de hardware o de software. Sistemas Operativos 6a. edición 3.12 Silberschatz, Galvin y Gagne ©2003 Servicios del sistema operativo El sistema operativo presta otros servicios que no son directamente para ayudar al usuario sino para asegurar la operación eficiente del sistema: Asignación de recursos – cuando existen varios usuarios o trabajos usando el sistema, los recursos limitados deben distribuirse eficientemente entre todos ellos. Contabilidad – el sistema operativo debe llevar un registro de los recursos utilizados por los usuarios o trabajos para la correspondiente facturación u optimización del sistema. Protección – el sistema operativo debe asegurar que el acceso a los recursos esté controlado. Sistemas Operativos 6a. edición 3.13 Silberschatz, Galvin y Gagne ©2003 Llamadas al sistema Las llamadas al sistema proporcionan la interfaz entre un proceso y el sistema operativo. Las llamadas al sistema operativo están disponibles como instrucciones en lenguaje ensamblador. Desde lenguajes de alto nivel se pueden realizar llamadas al sistema. Por ejemplo el sistema operativo Windows tiene la interfaz para programación de aplicaciones API ( Application Programmer Interface, API ). Además de realizar la llamada al sistema, generalmente el proceso debe pasar parámetros adicionales. Tres métodos son generalmente utilizados para pasar parámetros entre el proceso y el sistema operativo Paso de parámetros por medio de los registros del CPU. Si la cantidad de parámetros supera la cantidad de registros disponibles, los parámetros se almacenan en un bloque o tabla de memoria. La dirección del bloque en memoria se pasa como parámetro por medio de un registro. El proceso coloca ( Push ) los parámetros en la pila. El sistema operativo retira ( Pop ) los parámetros de la pila ( stack ). Sistemas Operativos 6a. edición 3.14 Silberschatz, Galvin y Gagne ©2003 Paso de parámetros como una tabla Sistemas Operativos 6a. edición 3.15 Silberschatz, Galvin y Gagne ©2003 Tipos de llamadas al sistema Control de procesos. Administración de archivos. Administración de dispositivos de entrada/salida. Mantenimiento de información. Comunicaciones. Sistemas Operativos 6a. edición 3.16 Silberschatz, Galvin y Gagne ©2003 Tipos de llamadas al sistema Control de procesos. Cargar o ejecutar un proceso. Crear o eliminar proceso. Obtener o establecer atributos del proceso. Esperar un tiempo. Esperar un evento, señalar un evento. Asignar o liberar memoria. Obtener o establecer atributos del archivo. Administración de archivos. Crear o borrar un archivo. Abrir o cerrar un archivo. Leer o escribir de o en un archivo. Obtener o establecer atributos del archivo. Sistemas Operativos 6a. edición 3.17 Silberschatz, Galvin y Gagne ©2003 Tipos de llamadas al sistema Administración de dispositivos de entrada/salida. Solicitar un dispositivo, liberar un dispositivo. Leer de un dispositivo, escribir en un dispositivo. Obtener o establecer atributos de un dispositivo. Conectar o desconectar logicamente un dispositivo. Mantenimiento de información. Obtener hora, fecha. Establecer hora, fecha. Obtener datos del sistema. Establecer datos del sistema. Obtener atributos de proceso, archivo o dispositivo. Comunicaciones. Crear o eliminar canal de comunicación. Enviar o recibir un mensaje. Transferir información de estado. Conectar o desconectar dispositivos remotos. Sistemas Operativos 6a. edición 3.18 Silberschatz, Galvin y Gagne ©2003 Control de procesos bajo MS-DOS Al arranque del sistema Sistemas Operativos 6a. edición 3.19 Ejecutando un programa Silberschatz, Galvin y Gagne ©2003 UNIX ejecutando varios programas Sistemas Operativos 6a. edición 3.20 Silberschatz, Galvin y Gagne ©2003 Modelos de comunicación La comunicación entre procesos se puede establecer mediante paso de mensajes o memoria compartida. Paso de mensajes Sistemas Operativos 6a. edición Memoria compartida 3.21 Silberschatz, Galvin y Gagne ©2003 Programas del sistema Los programas del sistema suministran un ambiente conveniente para el desarrollo y ejecución del sistema. Pueden dividirse en las siguientes categorias: Administración de archivos – crean, borran, copian, cambian el nombre de archivos y directorios. Información de estado – fecha, cantidad de memoria, número de usuarios, espacio en disco, etc. Modificación de archivos – editores de texto para crear y modificar el contenido de archivos. Soporte para lenguajes de programación – compiladores, ensambladores, interpretadores. Carga y ejecución de programas – cargadores absolutos, cargadores relocalizable, enlazadores. Comunicaciones – navegadores, correo electrónico, etc. La visión del sistema operativo que tienen la mayoría de los usuarios está definida por los programas del sistema, más que por las llamadas al sistema operativo. Sistemas Operativos 6a. edición 3.22 Silberschatz, Galvin y Gagne ©2003 Final del capítulo 3 – parte a Sistemas Operativos 6a. edición 3.23 Silberschatz, Galvin y Gagne ©2003