Sie sind auf Seite 1von 7

4.

Administracin de Sistemas Operativos

Estudio de Utilidades del Sistema.

Estudio de las Llamadas del Sistema.

Programacin del Sistema.

Mantenimiento y Gestin.

{
UTILIDADES DEL SISTEMA OPERATIVO
Los sistemas operativos, en su condicin de capa software que posibilita y simplifica el manejo de
la computadora, desempean una serie de funciones bsicas esenciales para la gestin del
equipo. Entre las ms destacables, cada una ejercida por un componente interno (mdulo en
ncleos monolticos y servidor en microkernels), podemos resear las siguientes:

Proporcionar al usuario un entorno cmodo y eficiente para ejecutar sus programas.

Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los
procesos (programas)

Brindar una interfaz al usuario, ejecutando instrucciones (comandos).

Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin
interferir con los servicios que ya se prestaban (evolutividad).

El Software de Sistema es software diseado para operar el hardware de una computadora y


proveer un plataforma para ejecuta aplicaciones.
Los 3 tipos mas bsicos de software de sistema son:

El BIOS de la computadora y el firmware del dispositivo, los cuales proveen la


funcionalidad bsica para operar y controlar el hardware conectado a o integrado en la
computadora.

El sistema operativo.

Software de Utilidades

Las utilidades son un tipo de software del sistema diseado para ayudar a analizar, configurar,
optimizar y mantener la computadora.
Este tipo de software es diferente de los programas de aplicacin, el cual permite por ejemplo crear
documentos de texto, jugar juegos, escuchar msica o navegar en internet, ya que no provee una
funcionalidad enfocada en generar una particular salida, los software de utilidad se concentra en
como la infraestructura de la computadora opera (Incluyendo el hardware de la computadora, el
sistema operativo, los software de aplicacin y los dispositivos de almacenamiento de datos).
Normalmente las utilidades son altamente especializadas y diseadas para realizar una sola tarea,
o un pequeo conjunto de tareas.
La mayora de los sistema operativos vienen con varias utilidades pre-instaladas.
Ejemplos de Utilidades: Desfragmentadores de discos, software que genera back-ups de los datos

en la computadora, administradores de archivos, compresores de datos, etc


LLAMADAS AL SISTEMA
Las llamadas al sistema proveen una interfaz entre los procesos y los servicios del sistema
operativo. Mediante las llamadas al sistema, el usuario solicita los servicios que desea del
sistema operativo.
Las llamadas al sistema comnmente usan una instruccin especial de la CPU que causa que el
procesador transfiera el control a un cdigo privilegiado, previamente especificado por el mismo
cdigo. Esto permite al cdigo privilegiado especificar donde va a ser conectado as como elestado
del procesador.
Cuando una llamada al sistema es invocada, la ejecucin del programa que invoca es interrumpida
y
sus datos son guardados, normalmente en su PCB, para poder continuar ejecutndose luego. El
procesador
entonces comienza a ejecutar las instrucciones de cdigo de alto nivel de privilegio, para realizar la
tarea
requerida. Cuando esta finaliza, se retorna al proceso original, y contina su ejecucin. El retorno al
proceso
demandante no obligatoriamente es inmediato, depende del tiempo de ejecucin de la llamada al
sistema y
del algoritmo de planificacin de cpu
Las llamadas al sistema generalmente estn disponibles como rutinas escritas en C y C++, aunque
determinadas tareas de bajo nivel pueden necesitar escribirse con ensamblador. La mayora de
programadores de aplicaciones disean sus programas utilizando una API (application
programming interface). La API especifica un conjunto de funciones que el programador de
aplicaciones puede usar, indicndose los parmetros que hay que pasar a cada funcin y los
valores
de retorno que el programador debe esperar. Una ventaja de programar usando una API es la
portabilidad (un programa diseado usando una API puede ser compilado y ejecutado en cualquier
sistema que soporte la misma API.
Habitualmente, cada llamada al sistema tiene asociado un nmero y la interfaz de llamadas al
sistema mantiene una tabla indexada segn dichos nmeros. Usando esa tabla, la interfaz de
llamadas al sistema invoca la llamada necesaria del kernel del sistema operativo y devuelve el
estado de la ejecucin de la llamada al sistema y los posibles valores de retorno.
TIPOS DE LLAMADAS AL SISTEMA
Control de procesos
Un programa en ejecucin necesita poder interrumpir dicha ejecucin, bien de forma normal o
bien de forma anormal. En cualquier caso el SO debe transferir el control al intrprete de
comandos que realiz la invocacin para que lea el siguiente comando. En un sistema GUI, una
ventana alertar al usuario del error.
Algunas llamadas al sistema, en cuanto al control de procesos se refiere, son: terminar/abortar;
cargar/ejecutar; crear/terminar procesos; obtener/definir atributos del proceso; asignar/liberar
memoria; esperar/sealizar suceso...
Administracin de archivos
Necesitamos crear y borrar archivos; abrir y cerrar archivos; leer, escribir y reposicionar; obtener
y definir atributos de un archivo, etc. Lo mismo ocurre con directorios.
Administracin de dispositivos
Un proceso puede necesitar varios recursos para ejecutarse: memoria principal, unidades de
disco, acceso a archivos, etc. Si los recursos estn disponibles, pueden ser concedidos, en caso
contrario el proceso tendr que esperar. Puede pensarse en los distintos recursos controlados por
el SO como dispositivos, algunos fsicos (como el espacio en memoria) y otros abstractos (como un
archivo).
En cuanto a la administracin de dispositivos, las principales llamadas al sistema son: solicitar o
liberar dispositivos; leer, escribir y reposicionar; obtener y definir atributos de dispositivos;

conectar y desconectar dispositivos lgicamente.


Mantenimiento de informacin
Muchas llamadas al sistema existen simplemente con el propsito de transferir informacin
entre el programa de usuario y el sistema operativo. Por ejemplo la llamada al sistema para
conocer la hora y la fecha, el nmero actual de usuarios, la versin del sistema operativo,
cantidad de memoria libre, etc. Adems, el SO mantiene informacin sobre todos sus procesos.
Comunicaciones
Existen dos modelos comunes de comunicacin entre procesos:
a) Modelo de paso de mensajes : los procesos se comunican envindose mensajes con
informacin, directa o indirectamente a travs de un buzn de correo comn. La mayora
de los procesos que reciben conexiones son de propsito especial y se denominan
demonios. Los demonios son programas que se mantienen a la espera y despiertan
cuando se establece una conexin. El origen de la comunicacin, denominado cliente, y el
receptor, servidor, intercambian mensajes usando las llamadas al sistema para leer y
escribir.
b) Modelo de memoria compartida : los procesos usan las llamadas al sistema para crear y
obtener acceso a regiones de la memoria que son propiedad de otros procesos.
Normalmente el sistema operativo intentara evitar que un proceso acceda a la memoria
de otro, por ello la memoria compartida entre dos o ms procesos requiere que estos
acuerden eliminar esa restriccin. La forma de los datos y su ubicacin son
determinadas por parte de los procesos y no por el SO.
Interrupciones
Las interrupciones son fundamentales para los sistemas operativos, ya que proporcionan una
manera eficiente de interactuar y reaccionar a su entorno. Los sistemas operativos
"observan"(watch) las diversas fuentes de entrada para los eventos que requieren una accin. La
programacion basada en interrupciones (interrupt-based programming) tiene el soporte directo de
la mayoria de las CPU modernas. Las interrupciones proporcionan al equipo una forma de guardar
localmente los contextos de registro y ejecutar cdigo especfico en respuesta a los eventos en los
mismos. Incluso los ordenadores muy bsicos soportan interrupciones de hardware, y permiten al
programador especificar el cdigo que se ejecutara cuando el evento se lleve a cabo.
Cuando se recibe una interrupcin, el hardware del equipo suspende automticamente cualquier
programa que se est ejecutando, guarda su estado, y se ejecuta el cdigo asociado con la
interrupcin. En los sistemas operativos modernos, las interrupciones son manejadas por el kernel
del sistema operativo. Las interrupciones pueden provenir tanto del hardware como de un
programa en ejecucin.
Cuando un dispositivo de hardware provoca una interrupcin, el kernel del sistema operativo
decide qu hacer con este evento, por lo general mediante la ejecucin de un cdigo de
procesamiento. La cantidad de cdigo a ejecutar depende de la prioridad de dicha interrupcin (por
ejemplo: una persona por lo general responde a una alarma de detector de humo antes de
contestar el telfono).
Un programa tambin puede provocar una interrupcin en el sistema operativo, pero para ello debe
enviar una solicitud al kernel del sistema operativo, el cual debera procesarla para luego hacer o no
dicha interrupcion en el hardware
Ejemplos de causas del por qu un programa genera una interrupcin son: El desbordamiento en
las operaciones aritmticas, la divisin por cero, el intento de ejecutar una instruccin con cdigo
operacin incorrecto o de direccionar una posicin de memoria prohibida.
PROGRAMACIN DEL SISTEMA
Los programas del sistema proporcionan un cmodo entorno para desarrollar y ejecutar
programas. Algunos son simplemente interfaces de usuario para las llamadas al sistema; otros son
ms complejos. Pueden dividirse en:
a) Administracin de archivos : manipulan archivos y directorios.
b) Informacin de estado : algunos solicitan la hora, fecha memoria o espacio en disco
disponible... Otros proporcionan informacin detallada sobre rendimiento, inicios de
sesin y mecanismos de depuracin.
c) Modificacin de archivos : editores de texto para crear y modificar archivos almacenados
en disco, programas para buscar un dato en el contenido de los archivos...
d) Soporte de lenguajes de programacin : compiladores, ensambladores, depuradores e
intrpretes para los lenguajes de programacin ms habituales.

e) Carga y ejecucin de programas : cargadores absolutos o reubicables, editores de


montaje, cargadores de sustitucin y sistemas de depuracin.
f) Comunicaciones : mecanismos para crear conexiones virtuales entre procesos, usuarios y
computadoras. Permiten enviar mensajes a las pantallas de otros, explorar pginas web,
enviar mensajes de correo electrnico, iniciar una sesin remota o transferir archivos.
Adems de estos programas de sistema, la mayora de SO se suministran con programas de
utilidad (llamados programas de aplicacin o utilidades del sistema) para resolver problemas
comunes o realizar operaciones frecuentes: exploradores web, procesadores y editores de texto,
hojas de clculo, compiladores, juegos...

Gestor de recursos
Desde el punto de vista del sistema, una computadora tiene muchos recursos que pueden ser
requeridos para solucionar un problema, como el espacio de memoria, almacenamiento de
archivos, dispositivos de E/S o tiempo de CPU.
El sistema operativo acta como administrador de esos recursos, y debe hacer frente a conflictos
( pedidos de recursos especficos ) decidiendo a que usuarios y procesos otorgar dichos recursos.
Esto es esencial en sistemas de ms de un usuario.
Como gestor de recursos, el Sistema Operativo administra:

La CPU (Unidad Central de Proceso, donde est alojado el microprocesador).

Los dispositivos de E/S (entrada y salida)

La memoria principal (o de acceso directo).

Los discos (o memoria secundaria).

Los procesos (o programas en ejecucin).

y en general todos los recursos del sistema.

- Gestin de Procesos
Un proceso es un trabajo en ejecucin en un sistema de tiempo compartido. Necesita ciertos recursos: tiempo de CPU,
memoria, archivos y dispositivos E/S. Estos recursos se le proporcionan en el momento de crear el proceso o se le
asignan mientras se est ejecutando. Cuando el proceso termina, el SO reclama todos los recursos utilizables. Cada

sistema consta de una coleccin de procesos, algunos del SO y el resto de los usuarios. El SO es responsable de: a) Crear
y borrar procesos b) Suspender y reanudar procesos c) Proporcionar mecanismos de sincronizacin de procesos d)
Proporcionar mecanismos para la comunicacin entre procesos e) Proporcionar mecanismos para el tratamiento de los
interbloqueos
- Gestin de MemoriaLa memoria principal es fundamental, y es compartida por la CPU y los dispositivos de E/S. Para que
la CPU procese unos datos de disco, dichos datos deben transferirse primero a la memoria principal. Para mejorar tanto la
utilizacin de la CPU como la velocidad de respuesta de la computadora, sta puede mantener varios programas en
memoria, lo que crea la necesidad de mecanismos de gestin de la misma. El SO es responsable de: a) Controlar las partes
de la memoria en uso y por parte de quin b) Decidir qu datos y procesos aadir o extraer de memoria c) Asignar y liberar
espacio en memoria segn sea necesario

- >Memoria virtual
Muchos sistemas operativos pueden "engaar" a los programas en el uso de memoria utilizando
parte del disco duro y memoria RAM como si fuera un pedazo continuo de la memoria, llamada
memoria virtual.
El uso del direccionamiento de memoria virtual(tales como la paginacin o segmentacin) significa
que el kernel puede elegir que memoria y que cantidad utiliza cada programa en un momento
dado, permitiendo que el sistema operativo pueda utilizar los mismos segmentos de memoria para
multiples tareas.
Si un programa intenta acceder a memoria que no est en su rea de distribucin actual(permitida
por el kernel), el kernel se interrumpir en la misma forma que lo hara si el programa exediera la
memoria total disponible(gestin de memoria).
En los sistemas operativos modernos, la memoria que se accede con menor frecuencia puede ser
almacenada temporalmente en el disco u otros medios para hacer que el espacio de memoria real
almacenado pueda ser utilizado por otros programas. Esto se conoce como
"swapping"(intercambio).
- Kernel
El Kernel conecta el software de aplicacin con el hardware de una computadora.
Con la ayuda de los controladores y el firmware del dispositivo, el sistema operativo proporciona el
nivel ms bsico de control sobre todos los dispositivos de hardware de la computadora. Se
gestiona el acceso de memoria para los programas en la memoria RAM, que determina qu
programas tienen acceso a que los recursos de hardware, en ella se establece o restablece los
estados de funcionamiento de la CPU para un funcionamiento ptimo en todo momento, y organiza
los datos para el almacenamiento no voltil a largo plazo con sistemas de archivos en soportes
tales como discos, memoria flash, etc.
- Modos
Las CPU modernas soportan varios modos diferentes.Por lo general, utilizan al menos dos modos:
modo seguro/protegido y modo supervisor. El modo de supervisor se utiliza por el kernel del
sistema operativo para las tareas de bajo nivel que necesitan un acceso sin restricciones al
hardware, tales como el control de la cantidad de memoria que se escribe y se borra, y la
comunicacin con dispositivos como tarjetas grficas. El modo protegido, por el contrario, se utiliza
para casi todo lo dems. Las aplicaciones funcionan en modo protegido, y slo puede usar el
hardware mediante la comunicacin con el kernel, que controla todo en el modo de supervisor.
Cuando un equipo se inicia por primera vez, automticamente se ejecuta en modo supervisor. Los
priemros programas en ejecutarse, siendo el BIOS, gestor de arranque y el sistema operativo
tienen un acceso ilimitado a un hardware - y esto es necesario porque, por definicin, la
inicializacin de un entorno protegido slo puede llevarse a cabo desde afuera de la proteccion -.
Sin embargo, una vez que el sistema operativo pase el control a otro programa,ya podra hacerse
en modo protegido.
En modo protegido, los programas tienen acceso a un conjunto ms limitado de instrucciones de la
CPU. Un programa de usuario puede desprenderse del modo protegido slo mediante la activacin
de un control de la interrupcin, pasando por el kernel. De esta manera el sistema operativo (mas
especificamente el kernel) puede mantener el control exclusivo sobre cosas como el acceso al
hardware y la memoria.
- Interfaz de usuario
Cada equipo que recibe algn tipo de intervencin humana necesita una interfaz de usuario, que le
permita interactuar con el sistema operativo. Mientras que los dispositivos como teclados, ratones y
pantallas tctiles conforman el lado hardware de esta tarea, la interfaz de usuario abarca el
software que se utiliza para ello. Las dos formas ms comunes de una interfaz de usuario han sido
histricamente: la interfaz de lnea de comandos, comandos de la computadora donde se escriben

fuera de lnea por lnea, y la interfaz grfica de usuario, en un entorno visual (ms comnmente con
ventanas, botones e iconos )
- Gestin de Almacenamiento
Gestin del sistema de archivos
Un archivo es una coleccin de informacin relacionada definida por su creador. Comnmente,
los archivos representan programas (tanto en formato fuente como objeto) y datos. El SO
implementa el abstracto concepto de archivo gestionando los medios de almacenamiento
masivos. Asimismo, los archivos normalmente se organizan en directorios para hacer ms fcil
su uso. El SO es responsable de:
a) Creacin y borrado de archivos
b) Creacin y borrado de directorios para organizar los archivos
c) Soporte de primitivas para manipular archivos y directorios
d) Asignacin de archivos a los dispositivos de almacenamiento secundario.
e) Copia de seguridad de los archivos en medios de almacenamiento no voltiles
Gestin de almacenamiento masivo
Como la memoria principal es demasiado pequea para almacenar los datos y programas, y
adems de voltil, la mayora de los sistemas informticos modernos usan discos como principal
medio de almacenamiento. Por tanto, la apropiada gestin del almacenamiento en disco tiene
una importancia crucial. El SO es responsable de:
a) Gestin del espacio libre
b) Asignacin del espacio de almacenamiento
c) Planificacin del disco
Las unidades de cinta magntica y de CD/DVD son dispositivos de almacenamiento terciario.
Este almacenamiento no es crucial, pero tambin necesita ser gestionado (montar y desmontar
medios, asignar y liberar los dispositivos, y migrar datos de almacenamiento secundario al
terciario). Algunos SO realizan esta tarea, mientras que otros lo dejan en manos de programas
de aplicacin.
Almacenamiento en cach
La cach es un sistema de almacenamiento muy rpido, y de mucho menor tamao que la RAM.
Cuando necesitamos alguna informacin particular, primero comprobamos si est almacenada
en cach, si lo est usamos dicha informacin, en caso contrario utilizamos la informacin
original, colocando una copia en la cach bajo suposicin de que pronto la necesitaremos. La
mayora de los sistemas disponen de una cach de instrucciones para almacenar las siguientes
instrucciones en espera de ser ejecutadas. Sin una cach, la CPU tendra que esperar varios
ciclos mientras las instrucciones son extradas de la RAM. Tambin la mayora de sistemas
disponen, por la misma razn, de una cach de datos o ms. La transferencia de datos del disco
duro a la memoria principal es una funcin controlada por el SO, por el contrario, el paso de
datos de la cach a los registros de la CPU normalmente no.
En un entorno donde slo se ejecuta un proceso al tiempo, un acceso a un dato (por ejemplo un
nmero entero A) siempre se realiza a la copia situada en el nivel ms alto de la jerarqua de
memoria (registros). Sin embargo, en un entorno multitarea, en el que la CPU conmuta entre
varios procesos, hay que tener cuidado para asegurar que, si varios procesos quieren acceder a A,
cada uno obtenga el valor ms reciente. La situacin se complica en un entorno multiprocesador,
donde A puede encontrarse en varias cachs al tiempo. En ese caso debemos asegurarnos de que
una actualizacin de A en una cach se vea reflejada en el resto. Esto se denomina coherencia de
cach. El caso ms complejo es en un entorno distribuido, donde varias copias del mismo archivo
pueden estar en diferentes computadoras.
Sistemas de E/S
Uno de los propsitos de un SO es ocultar al usuario las peculiaridades de los dispositivos
hardware. El subsistema de E/S consta de varios componentes:
a) Un componente de gestin de memoria que incluye almacenamiento en bfer, gestin de
cach y gestin de colas.
b) Una interfaz general para controladores de dispositivo.
c) Controladores para dispositivos hardware especficos.

Principio del software de E/S.


Hay 4 capas:

Manejadores de interrupciones. Es el nivel ms bajo.

Manejadores de dispositivos. Controladores del dispositivo. Es la nica capa que est en


contacto con el dispositivo. Reciben solicitudes del tipo quiero el bloque fsico 20 y tiene
que traducirlo al cilindro, pista y sector correspondiente.

Software independiente del dispositivo. Es el software que se encarga de las funciones


comunes para todos los dispositivos. Funciones:

Interfaz uniforme para los manejadores.

Nombre de los dispositivos: que se reconozcan por un nombre simblico.

Proteccin de los dispositivos.

Uso de buffers: Dispositivos de bloques: cache de disco. Y dispositivos de caracteres:


tcnicas de buffering.

Das könnte Ihnen auch gefallen