You are on page 1of 36

SISTEMAS OPERATIVOS

ING. LEONARDO TORRES ARGOMEDO

CONCEPTOS BSICOS:
Conjunto de programas que se integran con el hardware para
facilitar al usuario, el aprovechamiento de los recursos disponibles.
Algunos de sus objetivos principales son:

Provee de un ambiente conveniente de trabajo.


Hace uso eficiente del Hardware.
Provee de una adecuada distribucin de los recursos.
Las funciones bsicas del Sistema Operativo son administrar los
recursos de la mquina, coordinar el hardware y organizar
archivos y directorios en dispositivos de almacenamiento.
Los Sistemas Operativos ms utilizados son Dos, Windows, Linux y
Mac.

EVOLUCIN HISTRICA DE LOS SISTEMAS OPERATIVOS:

1965: Multics Multics (Multiplexed Information and Computing Service): aport muchas de las ideas presentes en Unix.

1970: Unix Sistema operativo multiusuario, multitarea que ha contado con gran aceptacin en la industria. Unix es a la vez: un sistema operativo, un tipo de
sistemas operativos y una marca comercial.

1973: Se decide reescribir Unix en C: Anteriormente se utilizaba el lenguaje ensamblador para programar los sistemas operativos. Las ventajas de utilizar C
son: portabilidad y facilidad de desarrollo.

1981: MS-DOS v1.0: Capaz de soportar 16KB de memoria RAM y discos flexibles de 5.25 pulgadas de 160KB.

1984: Apple Macintosh utiliza interfaz grfica

Steve Jobs copia de Xerox la idea de utilizar una interfaz grfica de usuario (GUI) en los ordenadores.

1991: Aparece el ncleo Linux y se completa GNU/Linux : El proyecto GNU necesitaba un kernel para completar su sistema operativo. Gracias al desarrollo de
Linux a cargo de Linus Torvalds se pudo contar con un ncleo libre.

1992: Beta de Windows NT 3.1 (primera versin comercial)

Microsoft desarrolla un nuevo sistema operativo multiusuario, multitarea y estable dedicado a competir con los servidores Unix, se trata de Windows NT.

1995: Se lanza al mercado Windows 95

Evolucin del sistema operativo MS-DOS que reemplaza la cnsola y el entorno grfico de las versiones anteriores (Windows 3.x)

2001: Aparece Mac OS X: Apple abandona su obsoleto sistema operativo para presentar un nuevo sistema operativo que forma parte de la famlia Unix.

ARQUITECTURA DEL SISTEMA OPERATIVO

En un Sistema Operativo moderno se aprecian diferentes capas, del ms alto nivel al ms bajo
encontramos:

Aplicaciones de usuario:

Intrprete de comandos/Interfz grfica de usuario:

Llamadas al sistema:

Coleccin de herramientas que utilizan los usuarios en sus quehaceres. (The Gimp, Firefox,
Inkscape, Apache, GCC...)
Permite la comunicacin entre el sistema y el usuario. Existen distintas posibilidades, tanto de
intrprete de comandos (Bash, csh, ksh, ...) como de interfz grfica (X Window, Gnome, KDE, ...)

Se escriben bibliotecas con funciones de uso frecuente, de tal manera que otros componentes
software las puedan utilizar sin tener que volverlas a implementar (funciones matemticas, de
acceso a ficheros, comunicaciones, procesado grfico...).

ARQUITECTURA DEL SISTEMA OPERATIVO


(CONTINUACIN):
Ncleo o kernel:
Controla el hardware y las operaciones bsicas que realiza el sistema operativo. Tpicamente se
encarga de la gestin de procesos, la gestin de memoria y el control de todos los elementos
hardware. Se dice que el software del ncleo se ejecuta en modo ncleo. Un fallo en este software
arruina todo el sistema informtico, por esto, cuanto menor sea la cantidad de cdigo que se
ejecuta en modo ncleo, menores sern las posibilidades de introducir bugs fatales. Se distingue
entre ncleos monolticos (los tradicionales) y los micro ncleos (ms modernos, pretenden incluir en
el ncleo slo lo esencial).

HAL Hardware Abstraction Layer:

Se encarga de independizar los detalles de la arquitectura hardware para el resto de los


componentes. Forma parte del ncleo, de manera que la migracin a una nueva arquitectura no
suponga reescribir todo el ncleo.

TIPOS DE SISTEMAS OPERATIVOS:


En funcin de su estructura:
Estructura monoltica.
Es la estructura de los primeros

sistemas
operativos constituidos fundamentalmente por
un solo programa compuesto de un conjunto de
rutinas entrelazadas de tal forma que cada una
puede llamar a cualquier otra.

Estructura jerrquica:
A medida que fueron creciendo las necesidades de los
usuarios y se perfeccionaron los sistemas, se hizo necesaria
una mayor organizacin del software, del sistema
operativo, donde una parte del sistema contena subpartes
y esto organizado en forma de niveles.

Se dividi el sistema operativo en pequeas partes, de tal


forma que cada una de ellas estuviera perfectamente
definida y con un claro interface con el resto de elementos.

Se constituy una estructura jerrquica o de niveles en los


sistemas operativos, el primero de los cuales fue
denominado THE (Technische Hogeschool, Eindhoven), de
Dijkstra, que se utiliz con fines didcticos.

Mquina Virtual:
Se trata de un tipo de sistemas operativos
que presentan una interface a cada
proceso, mostrando una mquina que
parece idntica a la mquina real
subyacente. Estos sistemas operativos
separan dos conceptos que suelen estar
unidos en el resto de sistemas: la
multiprogramacin y la mquina extendida.
El objetivo de los sistemas operativos de
mquina virtual es el de integrar distintos
sistemas operativos dando la sensacin de
ser varias mquinas diferentes.

SISTEMAS OPERATIVOS POR SERVICIOS

Monousuarios

Multiusuarios

Monotareas

Los sistemas operativos monousuarios son aqullos que soportan a un usuario a la vez, sin
importar el nmero de procesadores que tenga la computadora o el nmero de procesos o
tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras
personales tpicamente se han clasificado en este rengln.
Los sistemas operativos multiusuarios son capaces de dar servicio a ms de un usuario a la vez,
ya sea por medio de varias terminales conectadas a la computadora o por medio de sesiones
remotas en una red de comunicaciones. No importa el nmero de procesadores en la mquina ni
el nmero de procesos que cada usuario puede ejecutar simultneamente.
Los sistemas monotarea son aquellos que slo permiten una tarea a la vez por usuario.
Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios
usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

Multitareas

Un sistema operativo multitarea es aqul que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo,
puede estar editando el cdigo fuente de un programa durante su depuracin mientras compila otro programa, a la vez que
est recibiendo correo electrnico en un proceso en background. Es comn encontrar en ellos interfaces grficas orientadas al
uso de mens y el ratn, lo cual permite un rpido intercambio entre las tareas para el usuario, mejorando su productividad.

Uniproceso
Un sistema operativo uniproceso es aqul que es capaz de manejar solamente un procesador de la computadora, de manera
que si la computadora tuviese ms de uno le sera intil. El ejemplo ms tpico de este tipo de sistemas es el DOS y MacOS.

Multiproceso
Un sistema operativo multiproceso se refiere al nmero de procesadores del sistema, que es ms de uno y ste es capaz de
usarlos todos para distribuir su carga de trabajo.

Generalmente estos sistemas trabajan de dos formas: simtrica o asimtricamente.

Cuando se trabaja de manera asimtrica, el sistema operativo selecciona a uno de los procesadores el cual jugar el papel de
procesador maestro y servir como pivote para distribuir la carga a los dems procesadores, que reciben el nombre de
esclavos. Cuando se trabaja de manera simtrica, los procesos o partes de ellos (threads: es la parte activa en memoria y
corriendo de un proceso, lo cual puede consistir de un rea de memoria, un conjunto de registros con valores especficos, la pila y
otros valores de contexto. ) son enviados indistintamente a cualesquiera de los procesadores disponibles, teniendo, tericamente,
una mejor distribucin y equilibrio en la carga de trabajo bajo este esquema.

SISTEMAS OPERATIVOS POR LA FORMA DE


OFRECER SUS SERVICIOS

Sistemas Operativos de Red

Sistemas Operativos Distribuidos

Los sistemas operativos de red se definen como aquellos que tiene la capacidad de
interactuar con sistemas operativos en otras computadoras por un medio de transmisin con el
objeto de intercambiar informacin, transferir archivos, ejecutar comandos remotos y un sin fin
de otras actividades.

Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar
recursos (impresoras, unidades de respaldo, memoria, procesos, unidades centrales de
proceso) en una sola mquina virtual que el usuario accede en forma transparente.

CARACTERSTICAS:

En general, se puede decir que un Sistema Operativo tiene las siguientes caractersticas:

Habilidad para evolucionar. Un Sistema Operativo deber construirse de manera que permita el desarrollo,
prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio.

Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los
recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del
procesador para poder compartir los recursos.

Relacionar dispositivos (gestionar a travs del kernel). El Sistema Operativo se debe encargar de comunicar a
los dispositivos perifricos, cuando el usuario as lo requiera.

Conveniencia. Un Sistema Operativo hace ms conveniente el uso de una computadora.


Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera ms eficiente
posible.

Organizar datos para acceso rpido y seguro.

Procesamiento por bytes de flujo a travs del bus de datos.

Tcnicas de recuperacin de errores.

Generacin de estadsticas.

Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta
facilidad todo lo referente a la instalacin y uso de las redes de computadoras.

Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fcil al usuario el acceso
y manejo de los dispositivos de Entrada/Salida de la computadora.

Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen
entre ellos, informndoles si esa aplicacin esta siendo ocupada por otro usuario.

Permite que se puedan compartir el hardware y los datos entre los usuarios.

COMPONENTES DEL SISTEMA OPERATIVO:


Un sistema operativo crea el entorno en el que se ejecutan los programas.
Podemos crear un sistema tan grande y complejo como un sistema operativo
slo si lo dividimos en porciones ms pequeas. Cada una de estas partes
deber ser un componente bien delineado del sistema, con entradas, salidas
y funciones cuidadosamente definidas.

GESTIN DE PROCESOS:
Un programa no puede hacer nada si la CPU no ejecuta sus instrucciones. Podemos
pensar en un proceso como un programa en ejecucin.

Un proceso necesita ciertos recursos, incluidos tiempo de CPU, memoria, archivos y


dispositivos de E/S, para llevar a cabo su tarea. Estos recursos se otorgan al proceso
en el momento en que se crea, o bien se le asignan durante su ejecucin.

Un proceso es la unidad de trabajo de un sistema. El sistema consiste en una


coleccin de procesos, algunos de los cuales son procesos del sistema operativo (los
que ejecutan cdigo del sistema), siendo el resto procesos de usuario (los que
ejecutan cdigo de algn usuario).

Los tipo de llamadas al sistema referidas a los procesos, que un


sistema operativo normalmente ofrece son:

Finalizar, abortar
Cargar, ejecutar.
Crear proceso, terminar proceso
Obtener atributos de proceso, establecer atributos de proceso.
Esperar un lapso de tiempo.
Esperar suceso, indicar la ocurrencia del suceso.
Asignar y liberar memoria.

Estados de un proceso: En su ciclo de vida el proceso pasa por


diferentes estados bsicamente:

Nuevo (new).
Ejecutndose (running)
En espera (waiting)
Listo para ejecutar (ready)
Terminado (terminated)

Bloque de control de procesos: Cada


proceso se representa en el sistema
operativo con un bloque de control de
proceso (PCB, process control block)
tambin llamado bloque de control de
tarea.

Donde:
Estado del proceso: El estado puede ser: nuevo, listo, en ejecucin, en espera,
detenido, etctera.

Contador de programa: El contador indica la direccin de la siguiente instruccin


que se ejecutar para este proceso.

Registros de CPU: El nmero y el tipo de los registros vara dependiendo de la


arquitectura del computador. Los registros incluyen acumuladores, registros ndice,
punteros de pila y registros de propsito general, as como cualquier informacin de
cdigos de condicin que haya. Junto con el contador de programa, esta informacin
de estado se debe guardar cuando ocurre una interrupcin, para que el proceso
pueda continuar correctamente despus.

Informacin de planificacin de CPU: Esta informacin incluye una prioridad del


proceso, punteros a colas de planificacin y cualquier otro parmetro de
planificacin que haya.

Informacin de gestin de memoria: Esta informacin puede incluir datos tales como
el valor de los registros de base y lmite, las tablas de pginas o las tablas de
segmentos, dependiendo del sistema de memoria empleado por el sistema
operativo.

Informacin contable: Esta informacin incluye la cantidad de tiempo de CPU y


tiempo real consumida, lmites de tiempo, nmeros de cuenta, nmeros de trabajo o
proceso, y dems.

Informacin de estado de E/S: La informacin incluye la lista de dispositivos de E/S


asignadas a este proceso, una lista de archivos abiertos, etctera.

El PCB sirve como depsito de cualquier informacin que pueda variar de un proceso
a otro.

Gestin de la memoria principal:


La memoria principal es crucial para el funcionamiento de un sistema de
computacin moderno. La memoria principal es una matriz grande de
palabras o bytes, cuyo tamao va desde cientos de miles hasta cientos de
millones. Cada palabra o byte tiene su propia direccin. La memoria
principal es un depsito de datos a los que se puede acceder rpidamente y
que son compartidos por la CPU y los dispositivos de E/S. El procesador
central lee instrucciones de la memoria principal durante el ciclo de obtencin
de instrucciones, y lee y escribe datos de la memoria principal durante el ciclo
de obtencin de datos.

Gestin de archivos
Un archivo es una

coleccin de informacin relacionada definida por su


creador. Por lo regular, los archivos representan programas (en forma tanto
fuente como objeto) y datos. Los archivos de datos pueden ser numricos,
alfabticos o alfanumricos. Los archivos pueden ser de forma libre, como los
de texto, o tener un formato rgido. Un archivo consiste en una secuencia de
bits, lneas o registros, cuyos significados han sido definidos por su creador. El
concepto de archivo es muy general.

Gestin del sistema de E/S

Gestin de almacenamiento secundario

Uno de los objetivos de un sistema operativo es ocultar las peculiaridades de dispositivos de


hardware especficos de modo que el usuario no las perciba. Por ejemplo, en Unix, el subsistema
de E/S oculta las peculiaridades de los dispositivos de E/S del resto del sistema operativo mismo.
El propsito principal de un sistema de computador es ejecutar programas. Estos programas, junto
con los datos a los que acceden, deben estar alojados en la memoria principal (almacenamiento
primario) durante la ejecucin. Dado que la memoria principal es demasiado pequea para dar
cabida a todos los datos y programas, y que pierde su informacin cuando deja de recibir
corriente elctrica, el sistema de computacin debe contar con algn almacenamiento secundario
para respaldar la memoria principal. La mayor parte de los sistemas de computador modernos
utiliza discos como principal medio de almacenamiento.

El sistema operativo se encarga de las siguientes actividades


relacionadas con la gestin de discos:

Administracin del espacio libre


Asignacin del almacenamiento
Planificacin del disco

Trabajo con redes


Un sistema distribuido

es una coleccin de procesadores que no comparten


memoria, dispositivos perifricos ni el reloj. Ms bien, cada procesador tiene
su propia memoria local y su propio reloj, y se comunica con los otros
procesadores a travs de distintas lneas de comunicacin, como buses de alta
velocidad o lneas telefnicas.

Sistema de proteccin
Es preciso proteger cada proceso de las actividades de los dems. El
hardware de direccionamiento de memoria asegura que un proceso slo
pueda ejecutarse dentro de su propio espacio de direcciones. El
temporizador cuida que ningn proceso pueda controlar y monopolizar la
CPU indefinidamente. Los registros que controlan los dispositivos no estn
accesibles a los usuarios, a fin de proteger la integridad de los diferentes
perifricos.

Sistema de interpretacin de rdenes

Uno de los programas del sistema ms importantes de un sistema operativo es el


intrprete de rdenes o de comandos, que es la interfaz entre el usuario y el sistema
operativo.

Algunos sistemas operativos incluyen el intrprete de rdenes en el ncleo; otros,


como MS-DOS y Unix, tratan el intrprete de rdenes como un programa especial
que se est ejecutando cuando se inicia un trabajo, o cuando un usuario ingresa en
un sistema de tiempo compartido. La funcin del intrprete de lnea de comandos o
shell es muy sencilla: obtener la siguiente orden y ejecutarla.

Servicios del sistema operativo


Un sistema operativo crea un entorno para la ejecucin de programas. El sistema
operativo proporciona ciertos servicios a los programas y a los usuarios de dichos
programas. Desde luego, los servicios especficos varan de un sistema operativo a
otro, pero podemos identificar algunas clases comunes. Podemos describir a un
sistema operativo a partir de los servicios que presta:

Controlar la ejecucin de procesos (creacin, terminacin, suspensin y comunicacin).


Planificar el uso de la CPU
Asignar memoria principal en ejecucin.
Asignar memoria secundaria.
Permitir acceso controlado desde los procesos a los dispositivos.
Todo esto de manera eficiente y transparente al usuario.

You might also like