Está en la página 1de 8

SISTEMAS OPERATIVOS

1. INTRODUCCION
Un sistema de computacin tiene una o ms Unidades Centrales de Procesamiento (CPU), memoria principal,
discos, impresoras, interfaz de red y otros dispositivos de E/S. Con el transcurrir del tiempo surgi la necesidad
de proteger al programador de la complejidad del hardware. Una solucin que ha evolucionado gradualmente
consiste en poner una capa de software encima del hardware solo, que se encargue de administrar todas las
partes del sistema y presente al usuario una interfaz o mquina virtual que sea ms fcil de entender y
programar. Esta capa de software es el Sistema Operativo.
Esta situacin se muestra en la siguiente figura:

Almacn

Planilla

Navegador

Programas de Aplicacin

Compiladores

Editores

Interprete de

Programas del Sistema

Comandos
Sistemas Operativos
Lenguaje de mquina
Microprogramacin

Hardware

Dispositivos fsicos

Que es un Sistema Operativo.?

Es un programa...

Es el software que controla el hardware.

Es la interfaz entre el usuario y el hardware.

Es el programa que administra los recursos de software y hardware de un sistema computacional.

Funciones principales de un sistema operativo.

El sistema operativo como una mquina extendida (Mquina virtual).

El sistema operativo como administrador de recursos.

Historia y evolucin de los Sistemas Operativos


A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas o instituciones que podan
pagar su alto precio, y no existan los sistemas operativos. En su lugar, el programador deba tener un
conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, deba
examinar los valores de los registros y pneles de luces indicadoras del estado de la computadora para
determinar la causa del fallo y poder corregir su programa, adems de enfrentarse nuevamente a los
procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc; para volver a
correr su programa, es decir, enfrentaba el problema del procesamiento serial ( serial processing ) [Stal92].
Ing. Mario Borja B.

SISTEMAS OPERATIVOS

La importancia de los sistemas operativos nace histricamente desde los 50's, cuando se hizo evidente que el
operar una computadora por medio de tableros enchufables en la primera generacin y luego por medio del
trabajo en lote en la segunda generacin se poda mejorar notoriamente, pues el operador realizaba siempre una
secuencia de pasos repetitivos, lo cual es una de las caractersticas contempladas en la definicin de lo que es un
programa. Es decir, se comenz a ver que las tareas mismas del operador podan plasmarse en un programa, el
cual a travs del tiempo y por su enorme complejidad se le llam "Sistema Operativo". As, tenemos entre los
primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS [Tan92].
Posteriormente, en la tercera generacin de computadoras nace uno de los primeros sistemas operativos con la
filosofa de administrar una familia de computadoras: el OS/360 de IBM. Fue este un proyecto tan novedoso y
ambicioso que enfrent por primera vez una serie de problemas conflictivos debido a que anteriormente las
computadoras eran creadas para dos propsitos en general: el comercial y el cientfico. As, al tratar de crear un
solo sistema operativo para computadoras que podan dedicarse a un propsito, al otro o ambos, puso en
evidencia la problemtica del trabajo en equipos de anlisis, diseo e implantacin de sistemas grandes. El
resultado fue un sistema del cual uno de sus mismos diseadores patentiz su opinin en la portada de un libro:
una horda de bestias prehistricas atascadas en un foso de brea.
Surge tambin en la tercera generacin de computadoras el concepto de la multiprogramacin, porque debido al
alto costo de las computadoras era necesario idear un esquema de trabajo que mantuviese a la unidad central de
procesamiento ms tiempo ocupada, as como el encolado (spooling) de trabajos para su lectura hacia los lugares
libres de memoria o la escritura de resultados. Sin embargo, se puede afirmar que los sistemas durante la tercera
generacin siguieron siendo bsicamente sistemas de lote.
En la cuarta generacin la electrnica avanza hacia la integracin a gran escala, pudiendo crear circuitos con
miles de transistores en un centmetro cuadrado de silicn y ya es posible hablar de las computadoras personales
y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando as atraer al pblico en
general al uso de las computadoras como herramientas cotidianas. Se hacen populares el MS-DOS y UNIX en
estas mquinas. Tambin es comn encontrar clones de computadoras personales y una multitud de empresas
pequeas ensamblndolas por todo el mundo.
Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas operativos
en red y sistemas operativos distribuidos. La red mundial Internet se va haciendo accesible a toda clase de
instituciones y se comienzan a dar muchas soluciones ( y problemas ) al querer hacer convivir recursos
residentes en computadoras con sistemas operativos diferentes. Para los 90's el paradigma de la programacin
orientada a objetos cobra auge, as como el manejo de objetos desde los sistemas operativos. Las aplicaciones
intentan crearse para ser ejecutadas en una plataforma especfica y poder ver sus resultados en la pantalla o
monitor de otra diferente (por ejemplo, ejecutar una simulacin en una mquina con UNIX y ver los resultados
en otra con DOS ). Los niveles de interaccin se van haciendo cada vez ms profundos.

Ing. Mario Borja B.

SISTEMAS OPERATIVOS

EVOLUCION DE LOS SISTEMAS OPERATIVOS


Con el fin de motivar la necesidad de ciertos tipos de servicios que cada uno de estas variantes presentan,
podemos esquematizar brevemente el camino evolutivo del desarrollo de los sistemas operativos, en
particular describiremos el procesamiento en serie, el procesamiento por lote y la multiprogramacin.

1.-PROCESAMIENTO EN SERIE:
En los sistemas informticos primitivos la programacin de la Maquina desnuda, fue muy habitual. Una
versin mas avanzado a este modo de operaciones con la tarjeta de evaluacin simple.
Los programas se arrancan cargando el registro del contador del programa con la direccin de la primera
instruccin, la ejecucin se obtienen examinando los registros relevantes y las posiciones de memoria.
La programacin de mquina desnuda, resulta ser de baja productividad para los usuarios y para el hardware. El
siguiente paso de la evolucin en el uso del sistema de informtico vino con la llegada de dispositivos de entrada
y salida tales como la tarjeta perforada, cintas de papel y con los traductores de lenguajes.
El mecanismo de desarrollo y preparacin de programa en esos entornos eran bastante lentos y fragosos debido
a la ejecucin en serie de los programas y los numerosos operaciones manuales en el proceso.
Los traductores de lenguajes mltiples de paso puede requerir que se introduzca en cdigo fuente, durante cada
paso cuando se usan dispositivos de entrada en serie,como la lectora de tarjetas .
En esta segunda etapa de procesamiento por lotes se tienen las siguientes caractersticas (1.955- 1.965)
Hardware:

Se utilizan transistores aumentndose la fiabilidad.

El diseador del hardware, los programadores y los operadores ya no son la misma persona. Hay una
especializacin.

Metodologa:

Se eliminan los tiempos muertos debido a operaciones manuales.

Se agrupan las tareas correspondientes a varios trabajos en una cinta de entrada.

Se utiliza una cinta de sistema que contiene los programas del sistema: compiladores, linkadores, libreras.
-Montar la cinta de entrada.
-Mientras hayan trabajos lectura del prximo trabajo y ejecucin
(se realiza el clculo asociado a cada trabajo y se deja la salida en la cinta de salida)
-Desmontar la cinta de entrada.
-Desmontar la cinta de salida.

La cinta de entrada es generada off-line utilizando un ordenador satlite.

Sistema Operativo:

Monitor batch.

Ing. Mario Borja B.

SISTEMAS OPERATIVOS

Cdigo residente en la mquina que interpreta y ejecuta las tarjetas de control incluidas entre las tarjetas de
trabajo.

Control de buffering y spooling

Planificacin de la CPU a largo tiempo.

Problemas:

Trabajo no interactivo.

Correccin de los errores de ejecucin a partir de volcados de memoria.

Tiempo de retorno muy largo.

La CPU es muy rpida y los dispositivos de entrada / salida muy lentos.

Durante la ejecucin de un programa los tiempos de CPU son del orden de nanosegundos y los de entrada /
salida del orden de milisegundos. Seguimos teniendo la CPU mucho rato ociosa. Para mejorar la velocidad
hay dos posibilidades:

2.-PROCESAMIENTO POR LOTES:


Debido a la reduccin de tiempos de inactividad, debido a las lentas operaciones manuales, el procesamiento por
lotes ofrece un mayor potencial para aumentar la utilizacin de recursos del sistema y la productividad que los
procesamiento serie sencillos.
Si se agrupan varios programas en una cinta nica de entrada para que las operaciones auxiliares se realicen una
sola vez el tiempo de preparacin por programa se reduce correlativamente(seguido).
Por ejemplo. Agrupando, en lotes varios trabajos de compilacin Fortran; el compilador Fortran solo necesita ser
cargado una vez para procesarlo a todos de golpe.
Para sacar provecho al potencial de utilizacin de recursos del procesamiento de lotes ,un lote de trabajo debe
de ejecutarse automticamente sin la lenta intervencin humana.
Una parte residente en Memoria de sistema operativo por lotes a veces llamado Monitor de Lotes , lee,
interpreta y ejecuta estas rdenes. En respuesta a ellos los trabajos de lotes se ejecuta uno cada vez.

1.-MULTIPROGRAMACION:
La multiprogramacin designa a un sistema operativo que adems de soportar multitareas proporciona formas
sofisticadas de proteccin de memoria y fuerza el control de la concurrencia cuando los procesos acceden a los
dispositivos de E/S y archivos compartidos. Para aumentar la utilizacin de recursos, los sistemas de
multiprogramacin reales permite generalmente que ms de dos programas compitan por los recursos de los
sistemas al mismo tiempo.
El nmero de programas activos en competencia por los recursos de un sistema informtico multiprogramado, se
denomina grado de multiprogramacin.
La multiprogramacin ha sido tradicionalmente empleada para aumentar la utilizacin de los recursos de un
sistema informtico y para soportar mltiples usuarios simultneamente,
Se caracteriza por, una multitud de programas activos simultneamente que compiten por los recursos del
sistema como: procesador, Memoria y dispositivos de E/S.
Un sistema operativo de multiprogramacin vigila el estado de todos los programas activos y de todos los
recursos del sistema.
Ing. Mario Borja B.

SISTEMAS OPERATIVOS

Tercera etapa: Multiprogramacin y tiempo compartido.


La principal desventaja de un sistema de cola nica es la total dedicacin de la mquina a la ejecucin de una
sola tarea, no importa lo larga o lo corta que sea. Este inconveniente puede superarse mediante la
multiprogramacin, o sea, la ejecucin simultnea de varios programas que residen en la memoria principal,
dividiendo el procesador central su tiempo entre ellos de acuerdo con los recursos (tal como canales o
dispositivos) que necesite en cada momento cada uno de ellos. De esta forma es posible, teniendo almacenado
un conjunto adecuado de tareas en cada momento, obtener una utilizacin ptima de los recursos disponibles.
Ello incluye la utilizacin del procesador central, ya que en tanto que una tarea est esperando el final de una
transferencia de E/S, este procesador puede pasar a trabajar en alguna otra tarea que est pendiente en la
mquina. La carga que recae sobre el sistema operativo consiste en el control de los recursos, as como la
proteccin de cada tarea frente a las actividades de las otras. Un sistema operativo de este tipo recibe el nombre
de monitor de batch de varios flujos.
En el estadio actual de la progresin que hemos llevado a cabo tenemos un sistema notablemente sofisticado
que hace bastante buen uso de la electrnica disponible. Sin embargo, desde el punto de vista del usuario el
sistema adolece de falta de interactividad, tan necesaria en el proceso de desarrollo de programas, y til tambin
para desarrollar programas interactivos que respondan instantneamente a las peticiones del usuario. Para hacer
posible esta interaccin, el sistema de batch de varios flujos debe modificarse con el fin de que pueda adquirir la
informacin que le suministren los usuarios desde los respectivos terminales: es decir, debe convertirse en un
sistema multiusuario. Un sistema de este tipo, en el cual existen varios usuarios con un terminal en lnea
(usuarios interactivos), se llama sistema de tiempo compartido. En estos sistemas se divide el tiempo del
procesador central, y de los dems recursos del ordenador, de forma que cada usuario tiene la ilusin de que todo
el ordenador se le dedica exclusivamente a l, al recibir unos tiempos de respuesta aceptables. En un sistema de
tiempo compartido los usuarios suelen ejecutar programas cortos (por ejemplo, compilar un programa), frente a
los programas largos (por ejemplo, ordenar una cinta de un milln de datos) que se suelen dar en los sistemas
batch.
Por ltimo hay que indicar que algunos sistemas operativos permiten tanto usuarios interactivos como lotes de
trabajos batch. En estos sistemas se atiende a los usuarios interactivos con mayor prioridad, ejecutndose los
programas batch cuando no hay programas de usuario.

Cuarta etapa: redes de ordenadores.


En una red de ordenadores se tiene una configuracin de varios ordenadores conectados fsicamente. Los
ordenadores de una red pueden tener sistemas operativos de red o sistemas operativos distribuidos.
En un sistema operativo de red los usuarios son conscientes de la existencia de varios ordenadores, y pueden
conectarse con mquinas remotas para, por ejemplo, copiar ficheros. Cada mquina ejecuta su propio sistema
Ing. Mario Borja B.

SISTEMAS OPERATIVOS

operativo local y tiene su propio usuario (o grupo de usuarios). Los sistemas operativos de red no difieren de los
sistemas operativos tradicionales de un slo procesador. Necesitan un controlador de red, algunas rutinas de E/S
para utilizar dicho controlador, y programas que permitan la conexin y el acceso a ordenadores remotos, pero
esas caractersticas adicionales no modifican la estructura esencial del sistema operativo.
En un sistema distribuido los ficheros que utiliza un usuario (as como el procesador en el que se ejecutan sus
programas) pueden estar situados en cualquier ordenador de la red. Adems, esto es transparente al usuario. Los
sistemas operativos distribuidos requieren algo ms que aadir un poco de cdigo a un sistema operativo de un
nico procesador, ya que los sistemas distribuidos difieren en aspectos crticos de los sistemas centralizados.

TERMINOLOGIAS USADAS EN SISTEMAS OPERATIVOS


SISTEMAS OPERATIVOS
Puede ser contemplado como una coleccin organizada de de extensiones Software del Hardware, consistentes en rutinas de control que
hacen funcionar un computador y proporcionan un entorno para la ejecucion de los programas.
MULTIPROGRAMACION
Capacidad para ejecutar multiples programas de forma intercalada. Ha sido tradicionalmente empleada para aumentar la utilizacion de los
recursos de un sistema informatico y para soportar multiples usuario simultaneamente activos.
MULTIPROCESAMIENTO
Habilidad que posee un sistema operativo para utilizar ms de una unidad central de procesamiento en una misma computadora. Por su
parte, el multiprocesamiento simtrico se refiere a la habilidad que posee el sistema operativo de asignar dinmicamente las tareas al
siguiente procesador que est disponible, mientras que el multiprocesamiento asimtrico, requiere que quien disee el programa
original, al momento de escribirlo, elija el procesador que ser utilizado para una tarea dada.
CARGADOR
Automatiza el proceso de cargar en memoria los programas ejecutables, el usuario coloca sus programas y sus datos de entrada en un
dispositivo de entrada y el cargador transfiere la informacion desde el dispositivo a la memoria.
KERNEL O NCLEO
Parte fundamental de un sistema operativo. Este ncleo permanece residente en la memoria todo el tiempo, frecuentemente escondido del
usuario, y administra la memoria del sistema, el sistema de archivos y las operaciones del disco.
SHELL O INTEGRADOR DE PROGRAMAS
Software utilizado como interfaz entre el usuario y el sistema operativo. El procesador de comandos del DOS es una de las formas que
toma un integrador de programas pero adems, el DOS ofrece el programa DOSSHELL, mientras que Microsoft Windows ofrece el
Administrador de programas y la Macintosh ofrece el Finder.
Los dos integradores de programas ms comunes del sistema operativo UNIX son el integrador de programas C y el integrador de
programas de Bourne [C shell y Bourne shell].
BUFFER O MEMORIA INTERMEDIA
Area de memoria reservada para el almacenamiento provisional de los datos. Frecuentemente, los datos permanecen en la memoria
intermedia hasta que algn evento externo finalice. Muchos perifricos, tales como las impresoras, tienen su propia memoria intermedia.
La computadora transfiere los datos a ser impresos desde la memoria (convencional) hasta la memoria intermedia; despus, la impresora
procesa esa informacin directamente desde la memoria intermedia para liberar as a la computadora para que realice otras tareas.
TAREAS MLTIPLES CON TIEMPO FRACCIONADO

Ing. Mario Borja B.

SISTEMAS OPERATIVOS
Forma de tareas mltiples en las que el sistema operativo asigna, a su vez, el mismo y pequeo lapso a cada proceso.
TAREAS MLTIPLES APROPIATIVAS (POR ANTICIPADO)
Forma de tareas mltiples en la que el sistema operativo ejecuta una aplicacin durante un tiempo especfico, de acuerdo con la prioridad
que tiene asignada. En ese momento se dice que la aplicacin est anticipada, y se da acceso a otra tarea de la unidad central de
procesamiento para que se ejecute durante el tiempo que le ha sido asignado. Aun cuando una aplicacin puede dejar el control antes de
que finalice su tiempo de ejecucin asignado, tal como durante la espera por la entrada y (o) salida [input/output] de datos, a ninguna
tarea se le autoriza para que se ejecute por ms tiempo del que le ha sido asignado. El OS/2, UNIX, Windows NT, todos utilizan tareas
mltiples apropiativas (por anticipado).
SISTEMA EN TIEMPO REAL
Cualquier sistema de cmputo diseado para responder de inmediato, a medida que ocurren los acontecimientos en la vida real. Los
sistemas de cmputo utilizados en los pilotos automticos de los aviones, en los sistemas de monitoreo de los pacientes, en el control de
proceso, o en los sistemas de control de trfico, son todos sistemas que funcionan en tiempo real; las computadoras que realizan
operaciones de procesamiento por lotes [batch processing operations] no lo son.
INPUT/OUTPUT O ENTRADA/SALIDA
Abreviado I/O. Transferencia de datos [data] entre la computadora y sus dispositivos perifricos [peripheral], unidades de disco,
terminales e impresoras [disk drives, terminals y printers].
INTERFACE O INTERFAZ
Punto donde se efecta una conexin entre dos dispositivos de hardware, entre un usuario y un programa o el sistema operativo, o
simplemente entre dos programas de aplicacin. En el hardware, el trmino interfaz describe las conexiones lgicas y fsicas utilizadas,
tal como la RS-232-C, y a menudo se le considera sinnimo del trmino transportar.
Una interfaz de usuario [user interface] consta de mecanismos mediante los cuales un programa se comunica con el usuario, incluyendo la
interfaz de lnea de comandos [command line], mens, cuadros de dilogo, sistemas de ayuda en lnea, y as sucesivamente. Las interfaces
de usuario se pueden clasificar como: basadas en caracteres, controladas por men, o grficas. Las interfaces de software son Interfaces
de programas de aplicacin [Application Program Interfaces (APIs)] y constan de los cdigos y mensajes que utilizan los programas para
comunicarse en el trasfondo.
SISTEMA DISTRIBUIDO
Coleccin de sistemas informaticos autonomos de comunicacin y cooperacion mediante interconexiones hardware y software.
Proporcionan generalmente medios para la comparticion global de los recursos del sistema.
BIOS
Acrnimo de basic input/output system [sistema bsico de entrada/salida]. En una computadora personal, el BIOS es un conjunto de
instrucciones almacenadas en la memoria de slo lectura [read-only memory] que le permite al hardware de la computadora, y al sistema
operativo, comunicarse con los programas de aplicacin y con los dispositivos perifricos, tales como los discos duros, las impresoras y
los adaptadores de vdeo.
Estas instrucciones estn almacenadas en la memoria no voltil como parte permanente de la computadora. Siempre estn disponibles en
direcciones especficas en la memoria, de modo que todos los programas puedan tener acceso a ellas para que desempeen su funcin
bsica de entrada/salida [input/output].
HOST O ANFITRIN
En un entorno interconectado [networked environment] o en un entorno de procesamiento distribuido [distributed processing],
computadora central o computadora controladora. El anfritin [host] ofrece servicios a los que pueden tener acceso otras computadoras o
terminales, a travs de la red [network]. Las computadoras conectadas a Internet tambin se conocen como anfitriones [hosts], y se puede
tener acceso ellas utilizando el ftp, telnet, Gopher, o un ojeador de la red mundial Web [Web browser].
CILINDRO
Trmino que identifica a todas las pistas [tracks] en la misma posicin concntrica en un disco duro [hard disk]. Un disco duro consta de
dos o ms platos [platters], cada uno con dos lados. Cada lado est dividido en crculos concntricos conocidos como pistas, y todas las
pistas en la misma posicin concntrica en el disco se conocen, colectivamente, como cilindro.

Ing. Mario Borja B.

SISTEMAS OPERATIVOS
REENTRANT O REENTRANTE
Describe una tcnica de programacin que permite que una copia de un programa sea cargada y compartida en la memoria. Cuando un
programa ejecuta el cdigo reentrante, un programa distinto puede interrumpir su ejecucin y luego arrancar o continuar la ejecucin de
ese mismo cdigo. Muchas rutinas de servicio del sistema operativo utilizan el cdigo reentrante, de manera que slo sea necesaria una
copia del cdigo. Esta tcnica tambin se utiliza en las aplicaciones de procesamiento concurrente de subtareas simultneas, en las cuales
tienen lugar simultneamente diferentes eventos en la computadora. El DOS no es reentrante.
PROTOTYPING O CREACIN DE PROTOTIPOS
Creacin de un sistema de ensayo o de demostracin, de modo que los usuarios potenciales puedan evaluar, pulir y comentar el diseo
antes que el fabricante comience a trabajar en el producto final. Hay herramientas disponibles para la creacin de prototipos tanto de
hardware como de software; en efecto, algunas herramientas para la creacin de prototipos de software en realidad se pueden utilizar para
generar el cdigo definitivo, por ejemplo, una vez que la disposicin fsica de la pantalla haya sido aprobada.
RAM
Acrnimo de random access memory [memoria de acceso aleatorio]. Memoria del sistema principal de la computadora, utilizada por el
sistema operativo, los programas de aplicacin y los datos.
PIPE O CAUCE
Seccin de la memoria que un comando puede utilizar para pasarle informacin a un segundo comando de manera que sta se procese.
Una forma especial de cauce [pipe], conocida como cauce con nombre [named pipe], se origin en el sistema operativoUNIX, y permite
que dos procesos intercambien informacin. Este concepto ha sido extendido a varios sistemas operativos de red [network operating
systems] como el mtodo de comunicacin entre procesos, permitiendo intercambiar los datos entre las aplicaciones que se estn
ejecutando en las computadoras de una red.
REDIRECCIONAMIENTO, REDIRECCIN
Habilidad para enviar la salida de datos [output] de un proceso [process] a algn lugar que no es su destino habitual.
BUS
Ruta [pathway] electrnica por la cual se envan las seales desde una parte de la computadora a otra. Una computadora personal contiene
varios buses (entre dispositivos), cada uno de los cuales se usa para un propsito diferente:
El bus de direccin [address bus] asigna las direcciones de memoria [memory addresses].
El bus de datos [data bus] transporta los datos entre el procesador [microprocessor] y la memoria.
El bus de control [control bus] transporta las seales desde la unidad de control [control unit].
Los buses estn caracterizados por el nmero de bits que pueden transferir a la vez; una computadora con un bus de datos [data bus] de 16
bits puede transferir 16 bits a la vez. En las computadoras personales, algunos buses estn disponibles, tales como: ISA, EISA, bus de VL,
PCI.
Como es probable que desee agregar una nueva funcin a su computadora, la mayora de los buses de las computadoras personales lo
permiten mediante una o ms ranuras de expansin [expansion slots]; en efecto, cuando usted conecta una tarjeta de expansin [expansion
board] en una ranura de expansin, est conectando la tarjeta al bus y hacindola parte de la computadora.

Ing. Mario Borja B.

También podría gustarte