Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
2Activity
0 of .
Results for:
No results containing your search query
P. 1
so2

so2

Ratings: (0)|Views: 141|Likes:
Published by shabedekam

More info:

Published by: shabedekam on May 17, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

04/04/2014

pdf

text

original

 
Pag. 1. CAP. 2: SERVICIOS QUE BRINDA UN SO
Dijimos que un SO provee el ambiente para que los programas puedan ser ejecutados.Como el SO es el único que puede realizar operaciones de E/S, el usuario debe pedir larealización de las mismas al SO. Veremos qué servicios brinda el SO y cómo los realiza.
2.1. TIPOS DE SERVICIO
El SO brinda ciertos servicios al usuario y a sus programas. Los servicios variarán de unSO a otro, pero hay cierta clase común de servicios que podemos identificar. Estasfunciones están para conveniencia del programador.
* Ejecución de programas:
Los usuarios desearán ejecutar programas. El SO debecargar esos programas a memoria y ejecutarlos. El programa debe terminar su ejecución,ya sea normal o anormalmente.
* Operaciones de E/S:
Un programa en ejecución puede requerir operaciones de E/S,que involucrarán a archivos o a cualquier otro dispositivo. Para dispositivos específicos puede necesitarse funciones especiales ( tales como rebobinar una cinta, limpiar la pantalla, etc.).
* Manipulación del sistema de archivos:
Es obvio que los programas necesitarán leer y escribir archivos; también podremos necesitar crear y borrar archivos por su nombre.
* Detección de errores:
El SO necesita permanentemente estar alerta sobre posibleserrores. Pueden ocurrir en el hardware de
cpu o memoria
(error de direccionamiento ofalla de alimentación), en
dispositivos de E/S
(error de paridad en cintas, falta de papelen impresoras) o en
programas de usuario
(overflow en operaciones aritméticas,intento de acceder a locaciones de memoria prohibidas o exceso en uso de cpu). Paracada tipo de error, el SO debe tomar las acciones necesarias para asegurar una operacióndel sistema correcta y consistente.
Adicionalmente
 ,
existe otro conjunto de funciones del SO no destinadas directamente alusuario, sino para una eficiente operación del SO propiamente dicho.
* Asignación de recursos:
cuando existen múltiples usuarios o trabajos corriendo almismo tiempo, los recursos deben repartirse entre ellos. (ciclos de cpu, memoria principal, almacenamiento de archivos, códigos de pedido y liberación de periféricos).
* Contabilidad:
se desea siempre saber qué tipos de recursos y cuánto usa cada usuario.Estos datos pueden necesitarse para su cobro posterior o solo a efectos estadísticos.Estos datos son muy útiles para mejorar la performance del sistema
* Protección:
 No debe permitirse que un trabajo interfiera con otros. Además, demandasde varios dispositivos pueden entrar en conflicto, el cual debe resolverse con una planificación razonable.Todas estas tareas, el SO las realiza con administradores, que como vimos inicialmenteson:
1) Administrador de memoria:
* Llevar registro del recurso (memoria). Cuántos componentes están usados, quién las
 
Sistemas Operativos - I.S.I.
Servicios del Sistema Operativo - Página
1
Prof. Exp. Mario R. Iribas
 
usa. Qué bloques de memoria están libres.* En multiprogramación, decidir el proceso que obtiene el control de la memoria, cuándoy cómo.* Asignar el recurso cuando los procesos lo solicitan, de acuerdo a una potica predeterminada.* Recuperar el recurso cuando el proceso ya no lo necesita o ha abortado.* Llevar control de los procesos y de su estado. Al programa se lo llama controlador detráfico.
2) Administrador de cpu:
* Decidir quién tendrá la oportunidad de utilizar la cpu; el planificador de trabajosescoge uno y decide a quién se le permite entrar al sistema. En multiprogramacióndecidir el proceso que obtiene la cpu, cuándo y cuánto: a este programa se lo llama planeador de procesos.* Asignar el recurso de proceso posicionando los registros necesarios de hardware; aeste programa a menudo se lo llama despachador.* Recuperar el recurso cuando el proceso cede el uso del procesador, aborta si excede lacantidad permisible de utilización.
3) Administrador de dispositivos (o de E/S):
* Mantener el control del recurso (dispositivo, canales y unidades de control)típicamente se le llama el controlador de trafico de E/S.* Decidir cuál es la forma eficiente de asignar el recurso. En caso de compartirse, decidir quién lo recibe y cuanto recibirá; se lo llama planificador d E/S.* Asignar el recurso y arrancar la operación de E/S.* Recuperar el recurso. En la mayoría de los casos la E/S termina automáticamente.
4) Administrador de información (o de archivos).
* Mantener el control del recurso, su posición, estado, etc. A estas facilidades se llamasistema de archivos.* Decidir qun utiliza los recursos, imponer los procedimientos de proteccn y proporcionar rutinas de acceso.* Asignar el recurso, por ejemplo abrir archivo.* Desasignar el recurso, por ejemplo cerrar archivo.
Sistemas Operativos - I.S.I.
Servicios del Sistema Operativo - Página
2
Prof. Exp. Mario R. Iribas
 
2.2. PUNTO DE VISTA DEL USUARIO
Los servicios de SO se proveen de muchas formas. Dos métodos básicos de dar serviciosson las
llamadas al sistema
y los
programas del sistema
. Cada método tiene susventajas.
2.2.1. Llamadas al Sistema:
El nivel fundamental de servicios se maneja a través del uso de llamadas al sistema. Estas proveen una
interfaz
entre el programa del usuario y el SO. Estas generalmente estándisponibles como instrucciones en assembler y puede agruparse básicamente en 3categorías:
control de trabajos o procesos, manejo de archivos y dispositivos ymantenimiento de información
.
Control de trabajos y procesos
Un programa en ejecución necesita terminar normalmente (
end
) o anormalmente(
abort
). Si el programa encuentra un error en sus entradas y debe terminar anormalmente, puede ser necesario definir un nivel de error o gravedad. Errores másseveros, por ejemplo, pueden indicarse con un nivel mayor. Es común definir el fin de un programa en forma normal como error de nivel cero. Un proceso o trabajo ejecutando un programa puede requerir cargar y ejecutar otros programas. Para esto tenemos llamadasal sistema especificas como ser 
create process o submit job
.Si creamos nuevos trabajos o procesos debemos controlar su ejecución.Esto requiere la posibilidad de determinar atributos de un trabajo, prioridad, máximotiempo de ejecución permitido, etc. (
get process attributes y set process attributes
).Podremos también terminarlos cuando ya no sean necesarios (
terminate process
).Luego de crearlos podemos desear esperar su terminación por un cierto tiempo (waittime) o por la ocurrencia de un cierto evento (
wait event
). Llamadas de este tipo loveremos al estudiar Procesos Concurrentes.Otro conjunto de llamadas son útiles para la depuración de programas. Muchos sistemas poseen llamadas para realizar un vuelco (dump) de memoria. Esto es útil en assembler.Otros sistemas permiten visualizar cada instrucción a medida que se ejecuta (trace).
Manejo de archivos
Lo que primero necesitaremos son llamadas al sistema para crear y borrar archivos. Paraello usaremos nombre del archivo y quizás algún atributo. Un vez creado el archivo sedebe abrir para su uso. Luego podremos leer, escribir o reposicionar. (ir al comienzo ofinal del archivo). Finalmente debemos cerrar el archivo para indicar que no lo usaremosmás. Necesitaremos el mismo conjunto de llamadas al sistema para directorios si estamos enun sistema con estructura de directorios. Los atributos de directorio y archivos incluyen
nombre, tipo, códigos de protección, información de contabilidad, etc
. Necesitamos2 llamados para esto:
get file attribute y set file attribute.Manejo de dispositivos
Los archivos pueden tratarse como dispositivos virtuales o abstractos. Por lo tantomuchas de las llamadas al sistema para archivos también son necesarias para el manejo dedispositivos. Si existen varios usuarios en el sistema primero debemos pedir (request) eldispositivo. Luego debemos liberar (release).Una vez obtenido el dispositivo podremos leer, escribir o reposicionar, igual que enmanejo de archivos. Las similitudes entre archivos y dispositivos son tan grandes (en su
Sistemas Operativos - I.S.I.
Servicios del Sistema Operativo - Página
3
Prof. Exp. Mario R. Iribas

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->