Download Administración de archivos

Document related concepts

Sistema operativo wikipedia , lookup

Proceso de arranque en Linux wikipedia , lookup

Multiprocesamiento wikipedia , lookup

Archivo proyectado en memoria wikipedia , lookup

Núcleo (informática) wikipedia , lookup

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