Sei sulla pagina 1di 54

SISTEMA OPERATIVO

Lic. Hugo Ricardo Flecha Ferreira huflecha@gmail.com huflecha@hotmail.com

FUNDAMENTACION
Esta asignatura tiene relacin directa con el funcionamiento de los programas de aplicacin (Sistemas) desarrollado por un

equipo informtico, dicho sistema debe utilizarse en varias Pcs y para ello es necesario una plataforma, la eleccin adecuada depende de las caractersticas del sistema, as como la herramienta utilizada para el desarrollo y la arquitectura del mismo, de ah la importancia de esta asignatura.

OBJETIVOS ESPECIFICOS
Comprender los conceptos bsicos de los sistemas operativos.
Aprender el funcionamiento bsico de los

diferentes sistemas operativos. Utilizar en forma correcta y prctica los conceptos y herramientas de los sistemas operativos. Desarrollar habilidades para la utilizacin correcta de algunos sistemas operativos.

CONTENIDO PROGRAMATICO

Qu es un Sistema Operativo? Historia de los Sistemas Operativos Conceptos Bsicos Llamadas a los sistemas Estructuras de los sistemas PROCESOS ENTRADA/ SALIDA ADMINISTRACION DE MEMORIA SISTEMAS DE ARCHIVOS BLOQUEOS SISTEMAS DE ESTUDIOS SISTEMAS DISTRIBUIDOS

Bibliografa
SILBERSCHATZ, Abraham; GALVIN, Peter: Sistemas Operativos

Quinta Edicin. Mxico, Addison-Wesley, 1999.


STALLINGS, William: Sistemas Operativos Segunda Edicin. Madrid,

Prentice-Hall, 1998.
TANENBAUM, Andrew; WOODHULL, Albert: Sistemas Operativos:

Diseo e Implementacin Segunda Edicin. Mxico, Prentice-Hall, 1997.


TANENBAUM, Andrew: Sistemas Operativos Modernos Primera

Edicin. Mxico, Prentice-Hall, 1993.

Introduccin Sistema Operativo

UNIDAD I

Definicin de Sistemas Operativos


El Sistema Operativo es un programa o conjunto de programas, residentes en una computadora, que permiten un mejor aprovechamiento de los recursos de la misma y es la base de la escritura de los programas de aplicacin.

Definicin de Sistemas Operativos

Hardware
Sistema Operativo

Los

programas

hacen

que

el

hardware sea usable, es decir, hacen de

Libreras Utilitarios
Interface

interfaz entre el usuario y el hardware.

Definicin de Sistemas Operativos


En resumen, los Sistemas Operativos son un conjunto de programas que crean la interfaz del hardware con el usuario. Estos programas invocan generalmente los servicios del sistema operativo por medio de las llamadas al SO. Hay dos funciones primordiales del SO, que son:

Gestionar el hardware

Facilitar el trabajo al usuario

Definicin de Sistemas Operativos


Un Sistema Operativo es una parte importante de cualquier sistema informtico o de computacin. Un sistema informtico o de computacin puede dividirse en cuatro componentes:

Hardware Sistema Operativo Programas de Aplicacin Usuarios.


10

Definicin de Sistemas Operativos

El Sistema Operativo no es:


Un lenguaje o un compilador.
Un intrprete de comandos (interfaz primaria entre el usuario y el sistema operativo).

Una biblioteca de funciones (funciones preprogramadas para realizar tareas ms comunes). La finalidad es que el usuario se ahorre el trabajo de

desarrollo de estas funciones.

11

Evolucin de los Sistemas Operativos

Como el desarrollo de los sistemas operativos est muy relacionado con el desarrollo de las arquitecturas de las

computadoras, a los sistemas operativos se lo pueden clasificar en generaciones.

12

Sistema Operativo
Historia
Aos 40.- A finales de los aos 40, con la primera

generacin de computadoras, se acceda directamente a la consola de la computadora desde la cual se actuaba sobre una serie de micro interruptores que permitan introducir directamente el programa en la memoria de la computadora.

Sistema Operativo
Historia
Aos 50.- A principios de los aos 50 con el objeto

de facilitar la interaccin entre persona y computador, los sistemas operativos hacen una aparicin discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.

Sistema Operativo
Historia
Aos 60.- En los aos 60 se produjeron cambios

notorios en varios campos de la informtica, con la aparicin del circuito cerrado la mayora orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban tcnicas de lo ms diversas:
Multiprogramacin Tiempo compartido Tiempo real Multiprocesador

Sistema Operativo
Historia
Aos 60.- En los aos 60 se produjeron cambios

notorios en varios campos de la informtica, con la aparicin del circuito cerrado la mayora orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban tcnicas de lo ms diversas:
Multiprogramacin Tiempo compartido Tiempo real Multiprocesador

Sistema Operativo
Historia
Aos

70.- Es en los aos 70, se cre especficamente para re-escribir por completo el cdigo del sistema operativo Unix, convirtindolo en uno de los pocos SO escritos en un lenguaje de alto nivel.

Sistema Operativo
Sistemas operativos desarrollados:
MULTICS (Multiplexed Information and Computing Service):

proyecto cooperativo liderado por Fernando Corbato del MIT, con General Electric y los laboratorios Bell, los laboratorios Bell lo abandonaron en 1969 para comenzar a crear el sistema UNIX. MVS (Multiple Virtual Storage): Fue el sistema operativo ms usado en los modelos de mainframes , desarrollado tambin por IBM y lanzado al mercado por primera vez en 1974. Permita ejecucin de mltiples tareas, introdujo el concepto de memoria virtual. CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador8080/85 de Intel y el Zilog Z80, sali al mercado en 1976, distribuyndose en disquetes de ocho pulgadas. Fue el SO ms usado en las computadoras personales de esta dcada. Su xito se debi a que era porttil.

Sistema Operativo
Aos 80.- Un avance importante que se estableci a

mediados de 1980 fue el desarrollo de redes de PC que corran sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS, escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacan uso del Motorola 68000.

Sistema Operativo
MS-DOS .-En 1981 Microsoft compr un sistema

operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirti en la primera versin de MSDOS (Microsoft Disk Operating System).

Sistema Operativo
Aos 90 GNU/Linux.- En 1991 aparece la primera versin del ncleo de Linux. Creado por Linus Torvalds y un sinfn de colaboradores a travs de Internet. Este sistema se basa en Unix, un sistema que en principio trabajaba en modo comandos, estilo MS-DOS.

Evolucin de los Sistemas Operativos


Primera generacin (1945-1955) En esta etapa no existe el concepto de sistema operativo, todo lo debe realizar el programador, no hay un ente software intermedio entre la mquina y el programador.

La tecnologa era de Tubos al vaco y la programacin era en lenguaje de mquina. Los recursos del sistema eran asignados a una sola tarea, no era posible realizar tareas simultneamente. En el ltimo tiempo de esta generacin aparecen las tarjetas perforadas.

22

Evolucin de los Sistemas Operativos


Segunda generacin (1945-1955)

En esta generacin la tecnologa incluye a los transistores. La programacin se ve apoyada por la creacin de lenguajes ensambladores y lenguajes de alto nivel como Fortran y COBOL. Para optimizar el tiempo de utilizacin de la mquina se adopt el Procesamiento por lotes.

Para hacer la transferencia de los datos entre la computadora y la cinta se construy un programa que se conoce como el primer sistema operativo, que minimiz el tiempo ocioso de las computadoras.

23

Evolucin de los Sistemas Operativos


Tercera generacin (1965-1980)

En esta generacin la tecnologa corresponde a los circuitos integrados, que permiti construir mquinas ms baratas y con mejor rendimiento. En esta generacin aparecen los sistemas operativos con multiprogramacin. Tambin aparece la tcnica de Spooling (Operacin simultnea y en lnea de perifricos). A medida que hay espacio en memoria se puede pasar al siguiente trabajo. Aparecen los primeros sistemas de Tiempo Compartido. Se le asigna a cada proceso un tiempo fijo de utilizacin de CPU.
24

Evolucin de los Sistemas Operativos


Cuarta generacin (1990

x)

Con el crecimiento de las redes de computadoras nacen los sistemas operativos de red y sistemas operativos distribuidos. En los sistemas operativos de red cada computa-dora tiene su propio sistema operativo, pero pueden compartir recursos.

En los sistemas operativos distribuidos hay una integracin real de los recursos, la red es transparente a los usuarios, es decir los usuarios no necesaria-mente se dan cuenta que hay otras mquinas co-nectadas a la red.

25

Evolucin de los Sistemas Operativos


Por lotes o Batch

Ejecuta trabajos por lotes. El CPU en las esperas de entradas/salidas no hace nada. Ejemplos: SCOPE y UNIVAC 1107.

Operaciones de entrada/salida
Procesador: elemento de produccin del proceso de datos Las operaciones de E/S son varias rdenes de magnitud ms lentas que las instrucciones del procesador.

Para un procesador de 1 MIPS (un milln de instrucciones por segundo) las equivalencias aproximadas seran:
Leer un registro en el disco instrucciones. (a 25 ms) equivale a 25.000

Grabar un sector de diskette (a 200 ms) equivale a 200.000 instrucciones. Imprimir una lnea de 80 caracteres (a 200 cps) equivale a 400.000 instrucciones.
26

Evolucin de los Sistemas Operativos


Multiprogramacin

La multiprogramacin es una tcnica que intenta incrementar la utilizacin del CPU tratando de tener siempre algo para que el CPU lo ejecute, se reparte el procesador entre mltiples procesos aprovechando los tiempos de espera de E/S. El sistema operativo selecciona un proceso y lo comienza a eje-cutar, si hay una espera por E/S el sistema operativo seleccionar otro proceso y lo ejecutar. Cuando el primer proceso termine su espera obtendr CPU nuevamente. Cada proceso est ejecutndose o en espera de completar una operacin de E/S. Siempre se ejecuta un proceso por vez (o tantos como procesadores tenga la computadora). Ejemplos: Windows 95 y 98, OS/2.

27

Evolucin de los Sistemas Operativos


Tiempo Compartido

Utiliza calendarizacin de CPU y multiprogramacin para proporcionar a cada usuario una pequea porcin de una computadora de tiempo compartido. La computadora atiende a cada usuario durante un tiempo determinado o quantum, cambiando rpidamente de usuario a usuario, dndoles la impresin de que cada uno de ellos tiene el control absoluto de la computadora, mientras que en realidad es compartida entre muchos usuarios. As como en sistemas batch se ejecutaban trabajos, aqu se ejecutan programas de usuarios. Ejemplos: Unix, Linux y Windows NT.
28

Evolucin de los Sistemas Operativos

Tiempo Compartido
Terminal

Procesador

Terminal

Terminal

29

Evolucin de los Sistemas Operativos

Tiempo real

Es una modalidad de multiprogramacin, en la que se necesita pequeos tiempos de respuesta ante cualquier peticin. Ejemplo: Solaris. Caractersticas Principales:

Rapidez en los tiempos de respuesta.


La informacin debe ser contnuamente actualizada. Manejo eficaz de interrupciones. Manejo sencillo de prioridades. Gestin de memoria real.

30

Evolucin de los Sistemas Operativos


P R O C E S O S

A
B

Monoprogramacin

P r o c e s a d o r

Tiempo de proceso
P R O C E S O S

t1

Multiprogramacin

Tiempo de proceso

t2
31

t1 = t2

Evolucin de los Sistemas Operativos

A B
P R O C E S O S

4 Procesadores

Multiproceso
t3

Tiempo de proceso

t3< t1 t3 < t2
32

Sistema Operativo
Concepto
Es un programa o conjunto de programas de

computadora destinado a permitir una gestin eficaz de sus recursos.


Comienza a trabajar cuando se enciende el

computador, y gestiona el hardware de la mquina desde los niveles ms bsicos, permitiendo tambin la interaccin con el usuario.

Funciones bsicas
Proporcionar comodidad en el uso de un

computador. 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).

Interfaces de usuario
Es la parte del sistema operativo que permite

comunicarse con l de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas.

Caractersticas del Sistema Operativo


Administracin de tareas

Administracin de usuario
Manejo de recursos

Sistema Operativo
Tipos Existen diversos tipos de Sistemas operativos entre estos se encuentran: Sistemas Operativos de multiprogramacin (o Sistemas Operativos de multitarea). Sistemas Operativos distribuidos. Sistemas Operativos de red.

Sistema Operativo
Sistemas Operativos de multiprogramacin (o Sistemas

Operativos de multitarea).

Proporcionan facilidades para mantener el entorno de

usuarios individuales.
Requieren validacin de usuario para seguridad y

proteccin.
Sistemas Operativos como UNIX, Windows 95, Windows 98,

Windows NT, MAC-OS, OS/2, soportan la multitarea.

Sistema Operativo
Sistemas Operativos de multiprogramacin (o Sistemas Operativos de multitarea).
Se distinguen por sus habilidades para poder

soportar la ejecucin de dos o ms trabajos activos al mismo tiempo. Mejora productividad del sistema y utilizacin de recursos.
Generalmente soportan mltiples usuarios

(multiusuarios).

Sistema Operativo
Sistemas Operativos distribuidos
Objetivo clave es la transparencia. Generalmente proporcionan medios para la

comparticin global de recursos.


Entre los diferentes Sistemas Operativos

distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.

Sistema Operativo
Sistemas Operativos distribuidos
Permiten distribuir trabajos, tareas o procesos,

entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, en este caso es transparente para el usuario. Coleccin de sistemas autnomos capaces de comunicacin y cooperacin mediante interconexiones hardware y software

Sistema Operativo
Sistemas Operativos de red Son aquellos sistemas que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema.
El primer Sistema Operativo de red estaba enfocado a equipos con

un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware.
Los Sistemas Operativos de red mas ampliamente usados son:

Novell Netware, Personal Netware, LAN Manager, Windows NT Server, UNIX, LANtastic.

Tipos de Sistemas Operativos


Sistemas Operativos por su estructura.

Se deben tener en cuenta 2 requisitos:


1.

Requisitos de usuarios: sistema fcil de usar y de aprender, seguro, rpido y adecuado al uso que se le

quiere destinar.
2.

Requisitos del Software: se engloban aspectos para el mantenimiento, forma de operacin, restricciones de uso,

tolerancia a fallos, flexibilidad.

43

Tipos de Sistemas Operativos


Sistemas Operativos por Servicios.

En esta clasificacin se tiene en cuenta al nmero de usuarios, la cantidad de tareas que atiende y al nmero de procesadores del servidor

Sistemas Operativos por la Forma de Ofrecer sus Servi-

cios. Aqu se refiere a una visin desde el punto de vista del usuario, a como el accede a los servicios.

44

Tipos de Sistemas Operativos Sistemas Operativos por su estructura


Estructura Monoltica.

Es la estructura de los primeros sistemas operativos, constitudos generalmente por un solo programa compuesto de un conjunto de mdulos entrelazados, de manera que cada uno puede llamar a otro. Carecen de protecciones y privilegios al entrar a rutinas que manejan los distintos recursos.

Por lo general carecen de flexibilidad para soportar diferentes


ambientes de trabajo o tipos de aplicaciones

45

Tipos de Sistemas Operativos Sistemas Operativos por su estructura


Estructura Jerrquica.

Al perfeccionarse los sistemas operativos fue necesario organizar el software, donde una parte contena subpartes y esto est organizada en forma de niveles. Se dividi el sistema operativo en pequeas partes, de tal forma que cada una de ellas estuviera bien definida y con una clara interface con los otros elementos.
Capa 5 Capa 4 Capa 3 Capa 2 Capa 1 Capa 0 Programas de los Usuario Buffers para dispositivos Entrada/Salida Manejador de consola del operador Administracin de Memoria Gestin CPU Hardware

Sistema Jerrquico

46

Tipos de Sistemas Operativos Sistemas Operativos por su estructura


Estructura Jerrquica.
Otra forma de ver la estructura jerrquica es la denominada de anillos concntricos. Las capas internas son ms privilegiadas que las externas, por lo que estarn ms protegidas de accesos indeseados.
Aplicaciones de Usuario Gestin de Informcin Gestin Memoria Gestin Gestin CPU Entr/Salida Spool Intrprete de Comandos

47

Tipos de Sistemas Operativos Sistemas Operativos por su estructura


Mquina Virtual.
El objetivo de los sistemas operativos de mquina virtual es el de integrar distintos sistemas operativos dando la sensacin de ser mquinas diferentes. Estas mquinas virtuales son simulaciones del hardware, con su modo ncleo/usuario, E/S, interrupciones, etc.

UNIX

MS-DOS

Hardware Virtual

Hardware Virtual

Hardware
48

Tipos de Sistemas Operativos Sistemas Operativos por su estructura


Cliente/Servidor (Microkernel).
Se traslada cdigo a capas superiores dejando un ncleo o kernel mnimo. La mayor parte de las funciones del sistema operativo las convierte en procesos de usuario.

Proceso Cliente

Proceso Cliente

Servidor Servidor de Procesos de Terminales

..........

Servidor Servidor de Archivos de Memoria

Modo de Usuario

Modo de Kernel Kernel o Ncleo

49

Tipos de Sistemas Operativos Sistemas Operativos por Servicios


Por el nmero de Usuarios Monousuarios Multiusuarios

Sistemas operativos Por Servicios

Por el nmero de Tareas

Monotareas

Multitareas

Por el nmero de Procesadores

Uniproceso Multiproceso Simtricos Asimtricos

50

Tipos de Sistemas Operativos


Sistemas Operativos por la Forma de Ofrecer sus Servicios
Esta clasificacin se refiere a la forma en que el usuario accede a los distintos servicios y son:

Sistemas Operativos de Red: interactan con sistemas operativos de otras com-

putadoras por medio de un medio de transmisin con el objeto de compartir y transferir archivos, y compartir recursos.

Sistemas Operativos Distribuidos: los sistemas operativos distribuidos abarcan los

servicios de los de red, pero integrando a los recursos en una sola mquina virtual que el usuario accede en forma transparente.

51

Funciones de los Sistemas Operativos

Uso Eficiente de los Recursos


Evitar cuellos de botella que afectan el rendimiento. Mantener todos los componentes lo ms ocupados posible, es decir, Administracin de los recursos. El usuario cuesta ms que la mquina (Hombre=inteligencia). Funcionar lo ms eficiente posible. Los sistemas son crticos, pero deben ordenar accesos y conflictos. Un sistema fallado puede significar una compaa fallada.

Conveniencia y Productividad para los usuarios


Disponibilidad y Confiabilidad

52

Funciones de los Sistemas Operativos

Ejecucin de programas El sistema deber estar habilitado para cargar un programa en la memoria y ejecutarlo. Operaciones de Entrada/Salida El sistema debe proveer los mecanismos necesarios para realizarlas. Manejo de Sistemas de Archivos Los Sistemas de Archivos permiten el almacenamiento de la informacin en forma estructurada, utilizando dispositivos de almacenamiento secundario.

53

Funciones de los Sistemas Operativos

Asignacin de Recursos Cuando existen mltiples usuarios ejecutando mltiples tareas al mismo tiempo, los recursos deben ser asignados para que cada tarea satisfaga sus requerimientos de ellos. Administracin de los Procesos Crear y Destruir procesos. Suspender y reanudar procesos. Proveer mecanismos para la sincronizacin de procesos. Proveer mecanismos para la comunicacin entre proce-sos. Administracin de Memoria Asignar y desasignar espacio de memoria cuando se requiera. Mantener informacin de los procesos en memoria y sus propietarios.

54