Está en la página 1de 57

Sistemas Operativos

Elaborado por: M. en I. S. C. Marco Alberto Mendoza Prez.

Page 1

QUE ES UN SISTEMA OPERATIVO?

El sistema operativo es un programa que acta como intermediario entre el usuario y el hardware de una computadora y su propsito es proporcionar un entorno en el cual el usuario pueda ejecutar programas.

Page 2

El sistema operativo es la porcin del software que se ejecuta en modo kernel o modo supervisor, y esta protegido por el hardware contra la intervencin del usuario (olvidndonos por el momento de algunos de los microprocesadores mas viejos que no tienen ninguna proteccin de hardware).

Page 3

El objetivo Principal de un Sistema Operativo Es lograr que el sistema de computacin se use de manera cmoda. El Objetivo Secundario de un Sistema Operativo Es que el hardware de computadora se emplee de manera eficiente.
Page 4

El sistema operativo realiza dos funciones 1. El sistema operativo como maquina extendida. 2. El sistema operativo como administrador de recursos.

Page 5

1. El sistema operativo como maquina extendida

La tarea del sistema operativo es proporcionar a los usuarios una maquina virtual que sea mas cmoda de usar que la maquina real.
En esta vista la funcin del sistema operativo es presentar al usuario el equivalente de una maquina extendida o maquina virtual que es mas fcil de programar que el hardware subyacente.
Page 6

2. El sistema operativo como administrador de recursos La tarea del sistema operativo es administrar con eficiencia las diferentes partes del sistema. En la visin alternativa, la misin del sistema operativo es asegurar un reparto ordenado y controlado de los procesadores, memoria y dispositivos de E/S entre los diferentes programas que compiten por ellos. Page 7

CARACTERISTICAS DE LOS SISTEMAS OPERATIVOS


Conveniencia: Un sistema Operativo hace mas conveniente el uso de una computadora. Eficiencia: Un S.O permite que los recursos de la computadora se usen de la manera mas eficiente posible. Habilidad para evolucionar: Un S.O deber construirse de manera que permita el desarrollo, prueba o introduccin efectiva de nuevas funciones del sistema sin interferir con el servicio. Page 8

Encargado de administrar el hardware: El S.O 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 S.O. se debe encargar de comunicar a los dispositivos perifricos , cuando el usuario as lo requiera.
Page 9

Organizar datos: Para acceso rpido y seguro. Manejar las comunicaciones en red:El S.O. prmite al usuario manejar con alta fcilidad todo lo referente a la instalacin y uso de las redes de computadoras. Procesamiento por bytes de flujo a travs del bus de datos. Facilitar las entradas y salidas: Un S.O. debe hacerle fcil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.
Page 10

HISTORIA

Introduccin En un principio no exista el hardware del computador. Los primeros computadores eran (fsicamente) grandes maquinas que se operaban desde una consola. El programador controlaba los programas directamente de la consola. En primer lugar. El programa se encargaba manualmente en la memoria desde los interruptores del tablero frontal (una instruccin en cada ocasin) desde una cinta de papel o tarjetas perforadas. Page 11

Luego se pulsaban los botones adecuados para establecer la direccin de inicio y comenzar la ejecucin del programa. Mientras este se ejecutaba, el programador-operador lo poda supervisar observando las luces en la consola, si se descubran errores el programador poda detener el programa, examinar el contenido de la memoria y los registros, y depurar el programa directamente desde la consola. La salida del programa se imprima, o se perforaba en cintas de papel o tarjetas para su impresin posterior. Page 12

Conforme transcurri el tiempo, se desarrollaron software y hardware adicionales; empezaron a popularizarse los lectores de tarjetas, impresoras de lneas y cintas magnticas; se disearon ensambladores, cargadores y ligadores para facilitar las tareas de programacin y se crearon bibliotecas de funciones comunes de manera que estas podan copiarse a un nuevo programa sin tener que escribirlas de nuevo.
Page 13

Cada tipo de dispositivo tenia su propio manejador. Una tarea sencilla, como leer un carcter de un lector de cinta de papel, poda conllevar complicadas secuencias de operaciones especificas para el dispositivo. En lugar de tener que escribir cada vez el cdigo necesario, bastaba usar el manejador de dispositivo de la biblioteca.

Page 14

Mas tarde aparecieron los compiladores de FORTRAN, COBOL y otros lenguajes, lo que facilito la tarea de programacin, pero hizo mas complejo el funcionamiento el computador. Por ejemplo: Al preparar la ejecucin de un programa en FORTRAN, el programador primero necesitaba cargar en el computador el compilador de FORTRAN, que generalmente se conservaba en una cinta magntica, por lo que haba que montar la cinta adecuada a la unidad correspondiente.
Page 15

El programa se lea a travs del lector de tarjetas y se escriba en otra cinta. El compilador FORTRAN produca una salida en lenguaje ensamblador, que luego tenia que ensamblarse para esto era necesario montar otra cinta con el ensamblador, y su salida deba enlazarse con las rutinas de apoyo de las bibliotecas. Finalmente, el programa objeto, en cdigo binario, estaba listo para ejecutarse; se cargaba en memoria y depuraba desde la consola como antes.
Page 16

HISTORIA POR GENERACIONES Primera Generacin (1945-1955): Tubos de vacio y tableros de conmutacin. Toda la programacin se realizaba en lenguaje de mquina absoluto, a menudo alambrando tableros de conmutacin para controlar las funciones bsicas de la mquina. No existan los lenguajes de programacin (ni siquiera los de ensamblador).
Page 17

En esos primeros das, un solo grupo de personas diseaba, construa, programaba, operaba y mantena a cada mquina. Nadie haba odo hablar de los sistemas operativos.

A principios de la dcada de 1950, la rutina haba mejorado un poco con la introduccin de las tarjetas perforadas.
Page 18

Segunda Generacin (1955-1965): Transistores y sistemas por lote.

La introduccin del transistor a mediados de los 50s alter el panorama radicalmente. Se crearon maquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados.
Por primera vez, haba una separacin clara entre diseadores, constructores, operadores, programadores y personal de Page 19 mantenimiento.

Estas mquinas generalmente se programaban en FORTRAN y lenguaje ensamblador. Los sistemas operativos tpicos eran FMS (el Fortran Monitor System) e IBSYS, el sistema operativo de IBM para la 7094. Sistema por lotes:

Page 20

Tercera Generacin (1965-1980): Circuitos integrados y multiprogramacin. La caracterstica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramacin y los principios de los multiprocesamientos.

Page 21

En los sistemas de multiprogramacin varios programas de usuario se encuentran al mismo tiempo en la RAM y el procesador se cambia rpidamente de un trabajo a otro.

En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional con la finalidad de incrementar el poder de procesamiento de la maquina. Page 22

IBM inicia en 1964, la introduccin de la familia de computadores System/360. Adems, la 360 estaba diseada para manejar computacin tanto cientfica como comercial. La 360 fue la primera en usar (a pequea escala) circuitos integrados (IC), ofreciendo as una ventaja de precio/rendimiento considerable respecto a las mquinas de la segunda generacin, que se armaban con Page 23 transistores individuales.

A pesar de su enorme tamao y de sus problemas, OS/360 y los sistemas operativos de tercera generacin parecidos a l producidos por otros fabricantes de computadoras lograron satisfacer a sus clientes en un grado razonable. El primer sistema serio de tiempo compartido (cTss) fue creado en el M.I.T. en una 7094 especialmente modificada.
Page 24

Con objeto de que fuera posible escribir programas susceptibles de ejecucin en cualquier sistema UNIX, el IEEE cre un estndar para UNIX, llamado posix, que casi todas las versiones actuales de UNIX reconocen. POSIX define una interfaz mnima de llamadas al sistema que los sistemas UNIX deben reconocer. De hecho, algunos otros sistemas de programacin ya reconocen la interfaz POSIX.
Page 25

Cuarta Generacin (1980-presente): Computadoras personales. Los sistemas de la cuarta generacin constituyen el estado actual de la tecnologa. Con la ampliacin del uso de redes de computadores y del procesamiento en lnea los usuarios obtienen acceso a computadores alejados geogrficamente a travs de varios tipos de terminales.
Page 26

Con la invencin de los circuitos integrados a gran escala (LSI), chips que contienen miles de transistores en un cm2 de silicio.

Los sistemas de seguridad se han incrementado mucho ahora que la informacin pasa a travs de varios tipos vulnerables de lneas de comunicacin. La clave de cifrado esta recibiendo mucha atencin; ha sido necesario codificar los datos personales para que; aun si los datos son expuestos, no sea de utilidad a nadie mas que a los receptores adecuados. Page 27

Las computadoras personales ms potentes empleadas por empresas, universidades e instalaciones del gobierno suelen llamarse estaciones de trabajo, pero en realidad slo son computadoras personales grandes.
Dos sistemas operativos dominaron inicialmente el campo de las computadoras personales y las estaciones de trabajo: MS-DOS y UNIX.
Page 28

Procesos
Un proceso es bsicamente un programa en ejecucin. Cada proceso tiene asociado un espacio de direcciones, una lista de posiciones de memoria desde algn mnimo hasta un mximo, que el proceso puede leer y escribir.
Page 29

MINIX El sistema operativo MINIX es el cdigo que ejecuta las llamadas al sistema. Los archivos y directorios en MINIX se protegen asignando a cada uno un cdigo de proteccin binario de 9 bits.

Page 30

Shell
Es la interfaz primaria entre un usuario sentado ante su terminal y el sistema operativo. Cuando un usuario ingresa en el sistema, se inicia un Shell. El Shell tiene la terminal como entrada estndar y salida estndar, y lo primero que hace es exhibir la indicacin (prompf), un carcter como un signo de dlar, que le indica al usuario que el Shell esta esperando para aceptar un comando. Page 31

Los cuatros diseos de los sistemas operativos son: 1. 2. 3. 4. Sistemas monolticos Sistemas por capas Las maquinas virtuales Sistemas cliente-servidor

Page 32

1. Sistemas monolticos La estructura consiste en que no hay estructura. El sistema operativo se escribe como una coleccin de procedimientos, cada uno de los cuales puede invocar a cualquiera de los otros cuando necesita hacerlo.

Page 33

2. Sistemas por capas

Consiste en organizar el sistema operativo como una jerarqua de capas, cada una construida sobre la que esta debajo de ella.

Page 34

3. Las maquinas virtuales El Monitor de maquina virtual, se ejecuta en el hardware solo y realiza la multiprogramacin, proporcionando no una, sino varias maquinas virtuales a la siguiente capa superior . Sin embargo, a diferencia de otros sistemas operativos, estas maquinas virtuales no son maquinas extendidas, con archivos y otras caractersticas bonitas: mas bien son copias exactas del hardware solo, incluido el modo de kernel /usuario, E/S, interrupciones y todo Page 35 lo dems que la ,maquina real tiene.

Puesto que cada maquina virtual es idntica al verdadero hardware, cada una puede ejecutar cualquier sistema operativo que se ejecutara directamente en el hardware solo.

Diferentes maquinas virtuales pueden, y con frecuencia lo hacen, ejecutar diferentes sistemas operativos.
Page 36

4. Sistemas cliente-servidor El enfoque usual consiste en implementar la mayor parte de las funciones del Sistema Operativo en procesos de usuario. Para solicitar un servicio, como leer un bloque de un archivo, un proceso de usuario(ahora llamado proceso cliente) enva la solicitud a un proceso servidor el cual realiza el trabajo y devuelve la respuesta.
Page 37

Lo nico que el kernel hace es manejar la comunicacin entre los clientes y los servidores. Al dividir el sistema operativo en partes, cada una de las cuales solo se encarga de una faceta del sistema, como el servicio de archivos, de procesos, de terminales o de memoria, cada parte puede ser pequea y manejable.
Page 38

Adems dado que todos los servidores se ejecutan como procesos en modo de usuario, y no en modo de kernel, no tiene acceso directo al hardware. Por tanto, si se activa un error en el servidor de archivos, es posible que el servidor de archivos se caiga, pero normalmente esto no har que se caiga toda la maquina.

Page 39

El S.O. tiene cuatro componentes principales:

1. 2. 3. 4.

Administracin de procesos Administracin de dispositivos de E/S Administracin de memoria Administracin de archivos

Page 40

Page 41

Page 42

Page 43

Page 44

Page 45

Page 46

Page 47

Page 48

Page 49

Page 50

Page 51

Page 52

Page 53

Page 54

Page 55

Page 56

Page 57