Introduccin
En este tema se desarrolla la unidad I de sistemas operativos y para comenzar
podemos dar como breve informacin que es un programa que administra el
hardware de una computadora.
Que tambin nos proporciona las bases para los programas de aplicacin, y que
acta como intermediario entre el usuario y el hardware. Estas son algunas de las
tareas, que se pueden ser llevadas a cabo de varias formas, lo que permite que
algunos sistemas Operativos se diseen para ser prcticos, otros eficientes y otros
para ser ambas cosas.
Los sistemas operativos como el primer software que necesita cargar en la
computadora en el arranque y que tiene la responsabilidad de gestionar y
coordinar el confinamiento tanto de hardware como del software de la
computadora.
A lo largo del tema, veremos que no slo Microsoft tiene la exclusiva de los
sistemas operativos en el mundo; tambin Linux y Max OS, entre otros
1
Unidad I: Introduccin a los sistemas operativos
1.1 Definicin y concepto
El sistema operativo es el programa (o software) ms importante de un ordenador.
Para que funcionen los otros programas, cada ordenador de uso general debe
tener un sistema operativo. Los sistemas operativos realizan tareas bsicas, tales
como reconocimiento de la conexin del teclado, enviar la informacin a la
pantalla, no perder de vista archivos y directorios en el disco, y controlar los
dispositivos perifricos tales como impresoras, escner, etc.
En sistemas grandes, el sistema operativo tiene incluso mayor responsabilidad y
poder, es como un polica de trfico, se asegura de que los programas y usuarios
que estn funcionando al mismo tiempo no interfieran entre ellos.
El sistema operativo tambin es responsable de la seguridad, asegurndose de
que los usuarios no autorizados no tengan acceso al sistema. Clasificacin de los
Sistemas Operativos Los sistemas operativos pueden ser clasificados de la
siguiente forma:
Multiusuario: Permite que dos o ms usuarios utilicen sus programas al
mismo tiempo. Algunos sistemas operativos permiten a centenares o
millares de usuarios al mismo tiempo.
Multiprocesador: soporta el abrir un mismo programa en ms de una CPU.
Multitarea: Permite que varios programas se ejecuten al mismo tiempo.
Multigrano: Permite que diversas partes de un solo programa funcionen al
mismo tiempo.
Tiempo Real: Responde a las entradas inmediatamente. Los sistemas
operativos como DOS y UNIX, no funcionan en tiempo real.
2
Cmo funciona un Sistema Operativo? Los sistemas operativos proporcionan
una plataforma de software encima de la cual otros programas, llamados
aplicaciones, puedan funcionar.
Las aplicaciones se programan para que funcionen encima de un sistema
operativo particular, por tanto, la eleccin del sistema operativo determina en gran
medida las aplicaciones que puedes utilizar. Los sistemas operativos ms
utilizados en los PC son DOS, OS/2, y Windows, pero hay otros que tambin se
utilizan, como por ejemplo Linux.
Cmo se utiliza un Sistema Operativo ?Un usuario normalmente interacta con el
sistema operativo a travs de un sistema de comandos, por ejemplo, el sistema
operativo DOS contiene comandos como copiar y pegar para copiar y pegar
archivos respectivamente.
Los comandos son aceptados y ejecutados por una parte del sistema operativo
llamada procesador de comandos o intrprete de la lnea de comandos. Las
interfaces grficas permiten que utilices los comandos sealando y pinchando en
objetos que aparecen en la pantalla.
1.2 Funciones y caractersticas
Gestiona los recursos del ordenador en sus niveles ms bajos. -Dispone de una
interface (elemento que hace posible la fcil comunicacin usuario maquina)
liberando al usuario del conocimiento del hardware. El SO Windows se basa en
una interface grficas, GUI (Interface Grfica de Usuario), permitiendo al usuario
interactuar con el hardware de una forma sencilla y rpida. -Sobre el SO funcionan
el resto de programas y aplicaciones del software.
3
Sus generaciones:
-Generacin 0: dcada de los 40 los sistemas informticos no disponan de SO
con lo que los usuarios de estos deban introducir las instrucciones en cdigo
binario lo que haca su uso restringido a personas de mucho conocimiento en esa
materia. -Generacin 1: dcada de los 50. Aparece el primer SO para lograr la
fluidez en la trasmisin de informacin. Aparece el JLC (lenguaje de control de
trabajo), se usaban tarjetas perforadas y eran controladas por operadores
(personas con cierto conocimiento). Posteriormente se pasaron de las tarjetas a
las cintas perforadas y estas iban mucho ms rpido. En el primer SO haba en
ocupaba en memoria 64 KB (bastante en funcin de la capacidad total de la
memoria en aquella poca).
Grafico interno de un sistema operativo de la poca y en parte en la actualidad.
Generacin 2: Se dan los primeros pasos de la multiprogramacin es decir varios
programas de usuario. El SO reparte tiempos del procesador. Aparece la llamada
tecnologa DMA usa buffers entre terminales: impresora, etc. Qu es un buffer?:
Es una fuente de almacenamiento temporal que reside en el propio dispositivo ya
sea de entrada, o de salida. Aparece el trmino spooding: viene a ser como lo que
gestiona la cola de instrucciones en el buffer.
1.3 Evolucin histrica
La primera computadora digital real fue diseada por el matemtico ingls
Charles Babbage (1792 - 1871). Aunque Babbage gasto la mayor parte de su vida
y de su fortuna intentando construir su maquina analtica , nunca la hizo
funcionar adecuadamente porque era un diseo puramente mecnico y la
tecnologa de su poca no poda producir las ruedas, el engranaje, levas y otras
partes mecnicas con la alta precisin que el necesitaba. Sin tener que decirlo, la
maquina analtica no tuvo un sistema operativo.
4
Generacin cero 1940
La generacin cero abarca la dcada de los aos cuarenta y se caracteriza porque
no existan los sistemas operativos, el usuario deba codificar manualmente en
lenguaje mquina las instrucciones que le permitan usar los recursos de la
computadora y controlar as la ejecucin de sus programas.
Primera generacin 1950
La primera generacin abarca los aos cincuenta. Surge el concepto de sistema
operativo cuando los laboratorios de investigacin de la General Motors
desarrollaron el primer sistema operativo para su computadora IBM 701.
En 1955 General Motors y North American Aviation desarrollan el sistema
operativo para la computadora IBM704, bsicamente lo nico que haca era
comenzar la ejecucin de un programa cuando terminaba el anterior; para 1957 ya
se haban desarrollado, de manera particular, distintos sistemas operativos para
ese modelo de computadora.
Los primeros sistemas operativos tenan como objetivo eliminar el tiempo perdido
entre el trmino de un proceso y el inicio de otro, esto se logr desarrollando un
sistema operativo que realizara procesos por lotes, en donde los programas se
ejecutaban uno despus del otro hasta analizar el lote completo, o si antes se
produca un error, el programa en ejecucin tena control total de la mquina
Segunda generacin 1960
La segunda generacin abarca la primera mitad de los aos sesenta. El elevado
costo de operacin de las computadoras de esos tiempos oblig a buscar formas
de optimizar el tiempo de ejecucin de los programas, mejorando el rendimiento
de las computadoras y aumentando el nmero de procesos en ejecucin por
5
unidad de tiempo. Aparecen conceptos como multiprogramacin y
multiprocesamiento.
Cuando un programa se ejecutaba y produca una operacin de e/s, el programa
se detena hasta que esta operacin culminara, estos tiempos de espera
originaban tiempos muertos de uso del procesador; sin embargo, con la
multiprogramacin varios programas podan residir a la vez en memoria y el
procesador poda conmutar entre ellos, de esta forma, al compartir el procesador
(tiempo de procesamiento) y los dems recursos hardware, se pueden ejecutar
varios procesos a la vez.
El multiprocesamiento signific que se utilizaban varios procesadores en una
misma computadora Durante esta generacin aparecen tambin los primeros
sistemas de tiempo real dedicados al control de procesos industriales y monitoreo
de miles de puntos con fines militares, la prioridad en estos sistemas era obtener
una velocidad de respuesta en tiempo real.
Por ejemplo, el incremento de la temperatura en un reactor nuclear deba
comunicarse rpidamente para tomar las acciones necesarias y evitar una
catstrofe nuclear.
Tambin surge Master Control Program (MCP) y SABRE de IBM de Burroughs
diseado para su computadora B5000. MCP fue desarrollado con lenguaje de alto
nivel e incorpor muchas de las caractersticas de los sistemas actuales:
multiprogramacin, multiproceso, memoria virtual y capacidad de depurar el
cdigo fuente. Mientras que SABRE era un sistema de tiempo compartido con
terminales remotas que poda interactuar directamente con el usuario.
El primer sistema de tiempo compartido de propsito general fue el Compatible
Time-Sharing System (CTSS), desarrollado para la IBM 709/7090, sus
caractersticas ms relevantes fueron: Empleo de numerosas terminales, cada
terminal pareca tener disponible todos los recursos hardware y software de la
computadora, alta velocidad de procesamiento y dispona de varios compiladores,
utilidades y aplicaciones
6
Tercera Generacin 1970
La tercera generacin abarca hasta mediados de los aos setenta. Comienza con
la familia de computadoras IBM/360 y el sistema operativo OS/360 que
incorporaba una mayor gama de utilidades que facilitaban el uso de la
computadora y se podan adquirir actualizaciones para el mismo SO.
En esta generacin surgen grandes y costosos sistemas operativos. Los sistemas
operativos aumentan sus prestaciones y gestionan eficientemente los recursos del
ordenador y el usuario experimenta mayor facilidad para su manejo.
IBM separa los costos de hardware y software, por lo que el sistema operativo se
puede adquirir en independencia del hardware.
Cuarta Generacin 1980
La cuarta generacin comprende hasta mediados de los aos ochenta. Los
sistemas operativos aumentan sus prestaciones y gestionan e cientemente los
recursos del ordenador. Es en esta poca donde el usuario experimenta una
mayor facilidad para su manejo.
Surgen sistemas operativos tales como: Honeywell, VMS y VM/370 de IBM y el
Scope de Control Data, todos ellos disponan de multiprogramacin, tiempo
compartido, memorial virtual, procesos secuenciales que operan por medio de
semforos, sistema jerrquico de archivos y e/s independiente del dispositivo
.En esta generacin surge el sistema operativo UNIX, desarrollado en lenguaje de
alto nivel (lenguaje C) que le otorga una alta portabilidad, desde grandes
computadoras hasta computadoras personales.
En los aos 80 se desarrolla una gran cantidad de sistemas operativos para
computadoras personales (de 8 y 16 bits) entre los que destacan: MS-DOS, Xenix,
Apple-DOS y CP/M
7
Los sistemas operativos incorporan programas de comunicaciones y evolucionan
hasta adaptarse para gestionar redes de computadoras. Sun desarrolla el sistema
de archivos distribuidos NFS (Network File System) que ofreca un espacio nico
de nombres de archivos para los nodos de una red
Quinta Generacin
La quinta generacin abarca de los aos noventa a la fecha. Cobran importancia
los entornos grficos o GUIs (Interfaces Gr cas de Usuario - Graphical User
Interface) colocndose como las ms populares la de Windows,Linux y Mac,
desplazando a los sistemas operativos con interfaz en modo consola originados en
la segunda generacin.
En esta generacin se explota al mximo el concepto de multitareas para
mantener trabajando al procesador con ms de un proceso a la vez, es decir, el
procesador puede correr parte de un proceso A y mientras se realizan operaciones
de e/s de este proceso, el procesador puede ejecutar un proceso B. Tambin se
desarrollan sistemas operativos que permiten realizar procesamientos en paralelo,
permitiendo la comunicacin y sincronizacin de procesos extremadamente
rpidos.
Sexta Generacin
Los sistemas operativos en red no son fundamentalmente diferentes de los
sistemas operativos unos procesadores. Sin duda necesitan un controlador de
interfaz en red y algn software de bajo nivel para impulsarlo, as como programas
para lograr un ingreso remoto al sistema y un acceso remoto del archivo. Los
sistemas operativos distribuidos reales requieren ms que simplemente agregar
un poco de cdigo a un sistema operativo un procesador, ya que los sistemas
operativos distribuidos y centralizados difieren de manera decisiva.
8
Historia de Minis Cuando UNIX era joven (versin 6), el cdigo fuente se
encontraba en todas partes, con autorizacin de AT&T, y se estudiaba
frecuentemente, John Linos, llego a escribir un pequeo folleto que describa su
operacin, lnea por lnea, este folleto se utiliz como libro de texto en muchos
cursos universitarios.
Cuando AT&T entrego la versin 7, empez a comprender que UNIX era un
valioso producto comercial, as que emiti la versin 7 con una licencia que
prohiba el estudio del cdigo fuente en cursos con el objeto de evitar poner en
peligro su condicin como secreto comercial, muchas universidades se quejaron
simplemente descartando el estudio de UNIX y enseando solo teora.
Por desgracia, el solo ensear teora deja al estudiante con una visin
desproporcionada de lo que en realidad es un sistema operativo.
Para remediar esta situacin, decid escribir un nuevo sistema operativo que sera
compatible con UNIX desde el punto de vista del usuario, pero completamente
diferente en el interior.
El nombre MINIX surge de mini-UNIX porque es lo suficientemente pequeo que
hasta alguien que no sea maestro puede entender la forma en que trabaja. MINIX
tiene otra ventaja sobre UNIX, se escribi una dcada despus que UNIX y se ha
estructurado en forma ms modular.
El sistema de archivo de MINIX, por ejemplo, no es parte del sistema operativo en
absoluto, pero corre como un programa de usuario. Otra diferencia es que UNIX
se dise para ser eficiente; MINIX se dise para ser legible, el cdigo de MINIX,
por ejemplo, tiene ms de 3000 comentarios en l. MINIX se ha diseado para ser
compatible con la versin 7 de UNIX. AL igual que UNIX, MINIX se escribe en
lenguaje de programacin C.
La implementacin inicial se hizo en la IBM PC, MINIX no requiere un disco duro
para correr, con lo cual se ajusta a los presupuestos de muchos estudiantes.
9
1.4 Clasificacin
Sistemas Operativos de multitarea:
Con este sistema operativo es que la computadora procesa diferentes tareas al
mismo tiempo. Existen varios tipos de multitareas. Estos sistemas Se distinguen
por sus habilidades para poder soportar la ejecucin de dos o ms trabajos activos
(que se estn ejecutado) al mismo tiempo.
Esto trae como resultado que la Unidad Central de Procesamiento (UCP) siempre
tenga alguna tarea que ejecutar, aprovechando al mximo su utilizacin.
Los sistemas operativos que soportan estas multitareas son: UNIX, Windows 95,
Windows 98, Windows NT, MAC-OS, OS/2.
Sistema Operativo Monotareas:
Los sistemas operativos monotareas son ms primitivos y es todo lo contrario a
los de multitareas es decir, solo pueden manejar un proceso en cada momento o
que solo puede ejecutar las tareas de una en una. Por ejemplo cuando la
computadora est imprimiendo un documento, no puede iniciar otro proceso ni
responder a nuevas instrucciones hasta que se termine la impresin. El sistema
operativo que soporta el monotareas es DOS.
Sistema Operativo Monousuario:
Los sistemas monousuarios son aquellos que nada ms puede atender a un solo
usuario, gracias a las limitaciones creadas por el hardware, los programas o el tipo
de aplicacin que se est ejecutando.
10
Estos tipos de sistemas son muy simples, porque todos los dispositivos de
entrada, salida y control dependen de la tarea que se est utilizando, esto quiere
decir, que las instrucciones que se dan, son procesadas de inmediato; ya que
existe un solo usuarios. Los sistemas operativos que soportan el monousuario son
DOS e incluso en el actual Windows XP y sus predecesores.
Sistema Operativo Multiusuario:
Es todo lo contrario a monousuario; y en esta categora se encuentran todos los
sistemas que cumplen simultneamente las necesidades de dos o ms usuarios,
que comparten mismos recursos. Este tipo de sistemas se emplean especialmente
en redes.
1.5 Estructura: niveles o estratos de diseo
Nivel 1. Gestin de Memoria: Proporciona las facilidades de bajo nivel para la
gestin de memoria secundaria necesaria para la ejecucin de procesos.
Nivel 2. Procesador: Se encarga de activar los quantums de tiempo para cada
uno de los procesos, creando interrupciones de hardware cuando no son
respetadas.
Nivel 3. Entrada/Salida: Proporciona las facilidades para poder utilizar los
dispositivos de E/S requeridos por los procesos.
Nivel 4. Informacin o Aplicacin o Intrprete de Lenguajes: Facilita la
comunicacin con los lenguajes y el sistema operativo para aceptar las rdenes en
cada una de las aplicaciones. Ejecutando un programa el software de este nivel
crea el ambiente de trabajo e invoca a los procesos correspondientes.
11
Nivel 5. Control de Archivos: Proporciona la facilidad para el almacenamiento a
largo plazo y manipulacin de archivos con nombre, va asignando espacio y
acceso de datos en memoria.
El ncleo o cerner realiza diferentes funciones tales como:
Manejo de interrupciones.
Creacin y destruccin de procesos.
Cambio de estado de los procesos.
Despacho
Suspensin y reanudacin de procesos.
Sincronizacin de procesos.
Comunicacin entre procesos.
Manipulacin de los bloques de control de procesos.
Apoyo para las actividades de entrada/salida.
Apoyo para asignacin y liberacin de memoria.
Apoyo para el sistema de archivos.
Apoyo para el mecanismo de llamada y retorno de un procedimiento.
Apoyo para ciertas funciones de contabilidad del sistema.
1.6 Ncleo
Una definicin ms especfica de lo que es el nucleo ( Kernel ) de un sistema
operativo es: un conjunto de rutinas cuya mision es la de gestionar el procesador,
la memoria, la entrada/salida y el resto de procesos disponibles en la instalacion.
Toda esta gestin la realiza para atender al funcionamiento y peticiones de los
trabajos que se ejecutan en el sistema.
12