Sie sind auf Seite 1von 37

1

1 Introduccin a los Sistemas Operativos

1.1 Definicin, objetivos y funciones de un S.O.

El Sistema Operativo es un conjunto de programas relacionados entre s para el buen funcionamiento de un sistema de cmputo. Por lo tanto, se puede considerar como el software primordial de la computadora, debido a que orquesta el funcionamiento de los recursos con lo que cuenta. Por sta situacin el sistema operativo es software de base o software de sistemas. El Sistema Operativo (S.O.) proporciona una plataforma de software encima de la cual otros programas llamados aplicaciones

(Software

de aplicacin) puedan funcionar. Las aplicaciones, tienen que

programarse para que funcionen sobre un sistema operativo en especfico, debido a la

orquestacin que realiza al gestionar y utilizar cmputo. Por lo tanto, la eleccin del sistema operativo determina las aplicaciones que se pueden utilizar Un sistema operativo, puede definirse tambin como el software que controla el hardware o como un programa que acta como intermediario entre el usuario y el hardware. Por eso, es que se dice que el administra los recursos de manera amigable ocultando la complejidad del hardware al usuario. los recursos con que cuente el equipo de

Funciones de un Sistema Operativo.

Para cuestin de estudio y anlisis de los sistemas operativos sus funciones se clasifican en dos, como administrador de recursos y por otro lado como mquina ampliada.

Como administrador de recursos, La administracin de los recursos es la gestin del hardware y los datos que operan en la mquina. Su funcin principal es el control de acceso al procesador para el uso por parte de los procesos e hilos que concurren, as como la asignacin y liberacin de la memoria primaria para los programas. Gestiona la asignacin de los recursos de entrada y salida, permitiendo el uso y generacin de archivos. Los recursos de un equipo de cmputo, pueden ser fsicos o lgicos por ello vale la pena establecer que es Hardware (Hw), Software (SW) y Firmware (FW).

Hardware Es la parte fsica de una computadora, se puede considerar como el total de los dispositivos de un sistema de cmputo. Abarca todas las piezas tangibles de una computadora tales como el procesador, sus dispositivos de almacenamiento, los dispositivos de entrada y salida, chips de memoria y conexiones de comunicacin.

Software. Es la parte lgica compuesta por el conjunto de archivos que algunos de ellos con ejecutable y se vuelven programas; se puede considerar tambin como los datos almacenados en la computadora. Los programas constan de instrucciones de lenguaje

mquina y datos que son interpretados por el hardware. Algunos tipos de software son: los compiladores, ensambladores, cargadores, editores de enlace y cargadores de enlace, programas de aplicacin, sistema de manejo de base de datos y sistemas de comunicacin de datos y sistemas operativos.

Firmware. Es el conjunto de microprogramas almacenados en forma permanente en los Chips por estar grabados en la memoria ROM y establece la lgica de ms bajo nivel que controla los circuitos electrnicos de un dispositivo. Se considera parte del hardware por estar integrado en la electrnica del mismo dispositivo, pero tambin es software, pues proporciona la lgica y est programado por algn tipo de lenguaje de programacin de bajo nivel. El firmware recibe rdenes o solicitudes externas ya sean del sistema operativo o de otros dispositivos y responde mediante el trabajo o funcin para lo cual est diseado. En conclusin, el sistema operativo est para administrar los componentes de un sistema complejo, ya que tiene que asegurar un reparto ordenado de los procesadores entre los diferentes procesos que estn en competencia asignndole un espacio de memoria y permitiendo el uso de los diferentes dispositivos de E/S con que cuenta el equipo de cmputo.

Procesador.

Es el recurso que ejecuta los procesos que el usuario requiere. Es la parte de la mquina que se considera como el cerebro de la misma, ya que en l se lleva a cabo los clculos y ejecuta los programas. Su procesamiento de informacin numrica, es ingresado en formato binario, as como la ejecucin de instrucciones almacenadas en la memoria. Se comunica con los controladores a travs de instrucciones especiales o de uso restringido a los usuarios finales colocndose los controladores en direcciones de memoria concretas.

Memoria. Es un dispositivo que permite el almacenamiento temporal de procesos, que se localiza dentro de la computadora a la que se le puede acceder aleatoriamente. Los archivos ejecutables que se encuentran almacenados en algn dispositivo secundario pasan a residir en forma temporal en la memoria primaria para despus ser ejecutados por medio del procesador. a cualquier byte ejecutable de memoria sin precedentes. Es la memoria del sistema

Se puede acceder acceder a los bytes

basada en chips RAM (Random Aleotory Memory). Regularmente su ubicacin fsica es en la placa base y es donde se almacena el todo software base empezando por el propio S.O. y los programas que se estn ejecutando. La CPU, accede a la memoria RAM a travs del bus de direcciones y de datos del sistema, con la finalidad de recibir los procesos o hilos que en la tema II se detallar.

Dispositivos de entada y salida (I/O)

Son los recursos hardware mecnicos electrnicos que se encuentran en la computadora de forma interna o externa que permite enviar, recibir y/o almacenar informacin. Los dispositivos de impresora y el monitor, y los de mouse (ratn). Los dispositivos de Entrada y por excelencia pero tambin son almacenamientos secundario como compactos (CD), y cintas. Salida son los discos duros todos los dispositivos de las memoria flash, discos salida entrada bsicos el son la

teclado

y el

Archivo Es toda la informacin almacenada en los dispositivos secundarios la cual se almacena mediante un nombre y una extensin. Los archivos puedes ser de datos o ejecutables. Los cual fue archivos definen su extensin de acuerdo al programa en el creado y su manipulacin de los mismos. El contenido de

informacin de un archivo son bytes y su administracin y gestin se analizar en la sexta unida.

b) El Sistema Operativo como Mquina Extendida. El sistema operativo como mquina extendida o virtual se encarga de presentar al usuario una vista agradable y sencilla de archivos que se pueden leer y escribir, ocultando la complejidad del hardware y presentando una interfaz orientada a archivos. La funcin del sistema operativo, es presentar al usuario el equivalente de una mquina extendida o una mquina ampliada, donde el uso del equipo es de manera

fcil y sencilla evitando al usuario su acercamiento con el manejo del hardware, eliminando la programacin a bajo nivel o nivel mquina desnuda. En pocas palabras un Sistema Operativo como mquina extendida es una capa entre el hardware y software. Es la interfaz que ofrece una mquina virtual brindando una abstraccin de la realidad. Esta abstraccin es ms cmoda, pues al usuario se le ocultan las propiedades fsicas del hardware. El propsito del sistema operativo es ofrecer un ambiente en el que el usuario pueda ejecutar programas de forma cmoda y eficiente del hardware. El sistema operativo comienza a funcionar, cuando se termina de cargar el BIOS (Basic Input Output System) al encenderse o reiniciar la computadora. Poseen una interfaz que puede ser grfica (GUI) o de texto (lnea de comandos). Los sistemas operativos forman una plataforma para que otros sistemas o aplicaciones la utilicen. Aquellas aplicaciones que permiten ser ejecutadas en mltiples sistemas operativos son llamadas multiplataforma. Al instalar un sistema operativo, tambin se tiene la posibilidad de instalar varios programas, tales como: hojas de clculo, bases de datos, procesadores de texto, lenguajes de programacin, paquetes de telecomunicaciones y juegos. En los primeros sistemas operativos se requera experiencia y conocimiento para administrarlo, pues la mayora era por lnea de comandos, estos poseen muchas opciones y en ocasiones es difcil realizar algunas tareas, que en otros sistemas operativos actuales es trivial. El shell es el mecanismo de los sistemas operativos para lograr la comunicacin entre los usuarios y el sistema. Es un intrprete de comandos que lee lneas tecleadas por el usuario, y hace que se ejecuten las funciones del sistema solicitadas. Es un programa de aplicacin como cualquier otro. Cuando se inicia la operacin de la computadora, debe cargarse en la memoria una copia del ncleo o Kernel (parte del s.o. que administra las tareas), que reside en el

disco magntico (operacin denominada bootstrap). Para ello, se deben inicializar algunas interfaces bsicas de hardware; entre ellas, el reloj que proporciona interrupciones peridicas.

1.2 Historia y evolucin de los S.O.

La primera generacin (1945 - 1955) Procesamiento en serie: Tubos al vaco

En La primera generacin de los sistemas operativos no exista un conjunto de programas como sistema para administrar los equipos de cmputo. Por lo tanto, no se considera en sta generacin la existencia de sistema operativo. Algunos de los logros o xitos de la segunda guerra mundial fue el avance en la construccin de computadoras digitales. En mediados de la dcada de 1940, Howard Aiken en Hardvard, Jon Von Neumann en el Instituto de Estudios Avanzados en Princeton, J. Presper Ecker y William Mauchley en la Universidad de Pennsylvania y Konrad Zuse en Alemania, entre otros, todos obtuvieron resultados ptimos en la construccin de mquinas de clculo mediante el uso de tubos al vaco. Las mquinas que se utilizaron en ese tiempo emplearon bulbos para procesar informacin. Los operadores ingresaban los datos y programas en cdigo especial por medio de tarjetas perforadas. El almacenamiento interno se lograba con un tambor que giraba rpidamente, sobre el cual un dispositivo de lectura/escritura colocaba marcas magnticas.

Esas computadoras de bulbos, eran mucho ms grandes y generaban ms calor lo que traa como consecuencia, que en muchas ocasiones era necesario repetir el proceso que se estaba atendiendo. En sta generacin, se lleva a cabo la programacin de la mquina desnuda. Los programas se desarrollaban manualmente traduciendo las secuencias de instrucciones en cdigo binario o alguna otra base normalmente una potencia entera de 2. Despus a travs de un teclado hexadecimal se introducan los datos mediante interruptores que tena la consola. Los resultados se obtenan cuando se revisaban los registros relevantes o en posiciones de la memoria. En cuanto a evolucin en sta generacin, fue la introduccin de dispositivos de entrada/salida. Se desarrollaron las tarjetas perforadas, cintas de papel y gracias a los traductores lenguaje, fue ms fcil codificar un programa en programa ejecutable. El programa cargador es quien cargaba el proceso en la memoria. El usuario coloca un programa y sus datos en un dispositivo de E/S y se esa manera de transfiere la informacin desde el dispositivo a la memoria, para que despus por medios manuales o automatizados empiece la ejecucin del programa. Un logro de la primera generacin es la construccin de la mquina UNIVAC I, la cual se utiliz para evaluar un censo poblacin en el ao de 1950. La IBM tena el monopolio y comenz a construir computadoras electrnicas y su primera entrada fue la IBM 701 en 1953. Despus en 1954 fue introducido el modelo IBM 650, las caractersticas principales de estas mquinas son que estaban construidas por tubos al vaco (18,000 bulbos) que al producir bastante calor empezaban a emitir errores, dichas mquinas estaban compuestas aproximadamente por 200,000 piezas mecnicas y 800,000 metros de cable. La programacin era externa, por medio de mdulos y la memoria por tambores magnticos. En cuanto a software, era el Lenguaje Mquina y la informacin se

almacenaba en un tambor magntico de aluminio y estaba cubierto de un material llamado MAYDEN, sobre l se grababa la informacin por medio de puntos magnticos. Los lenguajes de programacin se desconocan (todava no exista el lenguaje ensamblador). El modo usual de operacin consista en que el programador firmaba para tener acceso a un bloque de tiempo en la hoja de registro situada en la pared, despus bajaba al cuarto de mquinas, insertaba su tablero enchufable en la computadora y se llevaba entonces la ejecucin de un proceso o programa . Al inicio de la dcada de 1950, la rutina mejor con la introduccin de las tarjetas perforadas. Ahora fue posible escribir en tarjetas y leer datos, en vez de utilizar tableros que estaban conectados entre s.

Los

programas

se

escriban en lenguaje mquina, y se

introducan en octal o hexadecimal por medio de una consola con interruptores manuales. Se iniciaban los programas, cargando el registro contador de programa con la direccin de memoria de la primera instruccin del programa. Los resultados de la ejecucin se obtenan examinando el contenido de los registros y posiciones de memoria relevantes. Los dispositivos de E/S se controlaban directamente, escribiendo y leyendo en los puertos de E/S. La mayora de los programas utilizaban dispositivos de E/S. Una mejora lgica, fueron las rutinas estndares de E/S que fueron usadas por todos los programas.

Al principio, las rutinas de E/S se introducan con las dems tarjetas del programa de usuario; posteriormente se guardaba en memoria las rutinas compiladas, y mediante un programa enlazador se combinaban con el cdigo objeto del usuario.

10

La forma que operaban las mquinas era mediante el procesamiento en serie. Cada sentencia o proceso se montaba para despus fuera ejecutado y una vez finalizado era hasta entonces que podra cargarse otro proceso o parte del programa. Es necesario, considerar como proceso una operacin mnima de un programa en ejecucin, bajo sta consideracin la forma de procesamiento en serie era de proceso por proceso. Procesamiento en Serie, es la ejecucin individual de un parte de un programa, el cual tiene un identificador de inicio al igual que uno de fin del mismo. Es un procesamiento lineal de la informacin, se ejecute de inicio a fin sin que otra tarea pueda ser procesada en ese momento, si no hasta el momento del termino del proceso.

La segunda generacin (1955 - 1965): Transistores y procesamiento por lotes

Debido a que los bulbos consuman mucha potencia elctrica y eran propensos a fundirse frecuentemente; era necesario cambiarlo por otros dispositivos que generaran menos calor para evitar los errores de la primera generacin.

Cerca del ao de 1960 se logra reemplazar el bulbo, utilizando ahora transistores. El transistor es un semiconductor de estado slido, hecho de silicio o germanio. Es ms pequeo, ms confiable y consume menos energa que un bulbo. La computadora de bulbos ocupaba reas de manera considerable, pero ahora el sistema de computadora transistorizada pudo construirse dentro de unos cuantos gabinetes. de la dcada de 1950, cambio la imagen radicalmente.
La

introduccin del transistor a mediados

11

Su forma de trabajar, primero era a travs de un programador que escriba el programa en papel (en FORTRAN o en lenguaje Ensamblador) y despus lo converta o se codificaba a travs de tarjetas perforadas. Despus, se llevaba el lote de tarjetas para introducirlas al sistema a travs del lector de tarjetas, y la informacin que se lea se almacenaba en una cinta. La cinta era leda en una mquina de procesamiento, la 1401 de la IBM e iniciaba el procesamiento en lotes en la computadora. El resultado de la ejecucin del lote de procesos era almacenado en una cinta dos, la cual era leda en una mquina de salida. La mquina de salida un IBM 7094, sta imprima los resultados los cuales eran visualizados a travs de un monitor. En forma breve para llevar la ejecucin de un lote de procesos despus de casi una hora de recolectar un lote de trabajos, la cinta se volva a enrollar y se llevaba al cuarto de mquinas. Despus, el operador cargaba un programa especial conocido como monitor de lotes, el cual lea el primer trabajo y lo ejecutaba, la salida se escriba en una segunda cinta, en vez de imprimirse. Despus de terminar cada trabajo, el sistema operativo lea automticamente el siguiente trabajo de la cinta, y comenzaba a ejecutarlo. La estructura de un trabajo de entrada comn, arrancaba con una tarjeta $JOB, que especificaba el tiempo mximo de ejecucin en minutos, el nmero de cuenta que se cargara y el nombre del programador. Despus venia una tarjeta $FORTRAN, que indicaba al sistema operativo que deba cargar el compilador de FORTRAN. Vena seguido de un programa que deba compilarse y despus de una tarjeta $LOAD, que ordenaba al sistema operativo cargar el programa objeto recin compilado, despus se encontraba la tarjeta $RUN, que indicaba al sistema operativo que deba ejecutar el programa con los datos que le seguan. Por ltimo, la tarjeta $END marcaba el final del trabajo. Los sistemas operativos ms comunes eran el FMS (Fortran Monitor System) y el IBSYS, sistema operativo de IBM de la 7094.

12

Como la ejecucin era por lotes y nicamente se cargaba un solo programa, la utilizacin del procesador es muy baja, pues el tiempo empleado en leer un programa almacenado en tarjetas suele ser mucho mayor que el empleado en ejecutar el programa. El tiempo en la utilizacin de los recursos con que se contaba, de un 100% de tiempo de trabajo total el 80% era en los dispositivos de E/S y el 20% en el procesador. Cuando aparecieron las cintas magnticas, la lectura y escritura era muy inferior que el tiempo cuando usaban las tarjetas, se pens que se utilizara ms el procesador si todas las entradas y salidas se realizaban sobre cintas pero no fue de esa manera. Para realizar esto se utiliz una tcnica de off-lining (fuera de lnea). La idea era, dedicar un procesador perifrico de menor costo y potencia, a convertir las tarjetas o la cinta perforada en informacin sobre cinta magntica, y la salida sobre cinta magntica en salida sobre impresora o cinta perforada. Una vez que se procesaban varios trabajos a cinta, sta se desmontaba en la computadora perifrica y era llevada por una persona para su procesamiento en la computadora principal. Cuando la computadora principal llenaba una cinta de salida, sta se llevaba a la computadora perifrica para su paso a impresora o cinta perforada. Una de las implicaciones de esta forma de trabajo, era que en una cinta de entrada podan existir los trabajos de varios programadores. Para diferenciar los trabajos (o tareas) de distintos programadores se introducan tarjetas de control que interpretaba un sistema operativo. Por ejemplo, un trabajo poda empezar con una tarjeta $JOB de comienzo, con un identificador del programador. Despus una tarjeta $FORTRAN para indicarle al sistema operativo que cargue el compilador de FORTRAN de una cinta del sistema. A continuacin vendran las tarjetas del cdigo fuente. Una tarjeta $LOAD para que se cargue en memoria el programa compilado (pues usualmente se guardaba en cinta). La tarjeta $RUN, indicaba que se ejecutar el programa con los datos que vienen en las tarjetas siguientes. Por fin, una tarjeta $END indicaba el fin del trabajo.

13

El sistema operativo resida en memoria y tena un programa de control que interpretaba las tarjetas de control, las cuales representaban un lenguaje de control de tareas el JCL (Job Control Lenguaje). Dependiendo del tipo de tarjeta de control el sistema operativo realizaba una accin determinada. Este programa de control es un antecedente de los modernos intrpretes de rdenes. Para aprovechar los recursos al mximo y lograr un procesamiento en lotes, las rdenes del sistema operativo eran incorporadas al flujo del lote de sentencias. La parte residente en memoria del sistema operativo por lotes conocido como monitor de lotes interpreta y ejecuta esas rdenes, ejecutando una a la vez. Un trabajo puede constar de varios pasos, cada uno de los cuales supone generalmente la carga y ejecucin de un programa. El procesamiento por lotes es la ejecucin de dos o ms trabajos en orden uno despus del otro, los cuales estn contemplados en un solo bloque con un control de inicio y uno de fin al total de los procesos que se ejecutan en forma continua. Una diferencia entre un sistema operativo con procesamiento en serie a uno con procesamiento en lotes, es que en serie cada instruccin o trabajo lleva un indicador de inicio y otro de fin. Existen sistemas operativos monousuarios en las computadoras personales que trabajan en serie, y mezclan constantemente su ejecucin en lotes y multiprogramacin (ver tercera generacin). Cuando se ejecuta un programa por lotes permite poca interaccin con los usuarios y los programas cargados en memoria. El procesamiento por lotes tiene mayor potencial de utilizacin de recursos que el procesamiento en serie. En un sistema por lotes la memoria suele dividirse en dos rea. Una parte dedicada al sistema operativo y la otra se asigna al programa que se est atendiendo. La ejecucin de tareas conjuntas, una tras de otra, dentro de un mismo paquete en el que no haba apenas interaccin en la ejecucin de programas con el usuario. Los sistemas por lotes,

14

hoy no estn limitados a tarjetas o a cintas, pero los trabajos todava se procesan en serie sin interaccin con el usuario.

Tercera generacin (1965-1980). Circuitos integrados (CI) y la multiprogramacin

Las mejoras en el hardware ha evolucionado el procesamiento de las computadoras. En los aos 60, se desarroll el microchip o circuito integrado IC (Integrated Circuit), lo que redujo de manera considerable el tamao de los equipos de cmputo y la velocidad de trabajo es mucho menor, al igual que su costo se reduce. Significativamente otros sectores diferentes al gobierno y acadmico buscaron la utilizacin de este recurso de forma mundial. Un circuito integrado incorpora muchos transistores y otros componentes elctricos en un dispositivo miniatura conocido como chip de silicio. La invencin del circuito integrado permiti que las computadoras fueran an ms pequeas, pudiendo incluir al UCP (Unidad Central Procesamiento) completo en una sola tarjeta de circuito impreso, logrando la construccin de computadoras ms pequeas, las que se denominan minicomputadoras. Las minicomputadoras que tuvieron mayor PDP y VAX, fabricadas por Digital Equipment (DEC). Al inicio de la dcada de 1960 existan dos los equipo de cmputo. Por un lado existan las computadoras cientficas de grande escala orientadas a las palabras, como la 7094 que se utilizaban para realizar clculos numricos de ciencias e ingeniera. Por el otro lado, estaban las computadoras comerciales orientadas a los caracteres o base de datos, como 1401, que se utilizaban tendencias xito fueron las Corporation

15

para el ordenamiento de cintas e impresin por parte de bancos y compaas de seguros. IBM logra unir estas dos funciones en un solo equipo de cmputo, introduciendo en el mercado el Sistema 360. El 360 era una serie de mquinas compatibles con el software que variaban del tamao de la 1401 a una mucho ms poderosa que la 7094, el 360 estaba diseado para realizar clculos tanto cientficos como comerciales. Por lo tanto una sola familia de mquinas poda satisfacer las necesidades de todos los clientes. IBM crea un Sistema Operativo el OS/360 para estos equipos, y con l se logra el concepto de familia nica que tiene como finalidad estandarizar que todo el software como el sistema operativo, puedan funcionar en todos los modelos independientemente de la marca del equipo. Tena que correr en sistemas pequeos, y en sistemas muy grandes. Funcionando en sistemas con algunos perifricos y en sistemas con muchos perifricos. OS/360 y los sistemas operativos similares de la tercera utilizaron varias tcnicas que no utilizaban los sistemas operativos de la segunda generacin, la ms importante de estas fue la multiprogramacin y con esto se olvida cuando un proceso se detena para esperar a que utilizar la cinta u otra operacin de E/S, la unidad central de procesamiento (CPU) simplemente permaneca ociosa hasta que el proceso regresaba de utilizar el dispositivo de E/S. La multiprogramacin consiste en dividir la memoria en varias partes, en cada una sta se le asigna un proceso diferente. El uso del procesador se intercala entre el sistema operativo y los n procesos diferentes cargados en la memoria fsica o primaria (memoria popularmente conocida como RAM). Mientras que un trabajo est completando su trabajo utilizando un dispositivo de E/S, otro trabajo poda estar utilizando la CPU. As se podan mantener suficientes trabajos en la memoria central al mismo tiempo, la CPU poda mantenerse ocupada casi el 100% del tiempo.

16

En el siguiente cuadro representa dos programas que estn cargados en memoria y entre los dos comparten el procesador. Programa 1 p1
Actividad en la UCP

Programa 2 p1
Actividad en la UCP

inactivo

p1
Actividad en la UCP

inactivo

p2
Actividad en la UCP

inactivo

p2
Actividad en la UCP

inactivo

p2
Actividad en la UCP

USO DEL PROCESADOR EN FORMA MULTIPLEXADA O COMPARTIDA p1 p2 p1 p2 p1 p2 p1 p2 p1 p2

Figura 1-12. Esquema de multiprogramacin

ste logro optimiza el uso del procesador en forma intercalada de varios programas concurrentes, por lo tanto la ejecucin de n tareas trae como consecuencia la multitarea. La multiprogramacin real permite que ms de dos programas compitan por los recursos al mismo tiempo. El nmero de tareas que compiten activamente por los recursos de un sistema informtico se le denomina grado de multiprogramacin. La multiprogramacin se brinda en sistemas compartidos; stos soportan mltiples usuarios interactivos. Los programas son desarrollados y ejecutados de modo interactivo, en contraposicin con el modo que se utilizan en los sistemas por lotes. El tiempo compartido es una variante de la multiprogramacin en la cual cada usuario tiene una terminal en lnea, dndose de esta manera el multiusuario. En un sistema de tiempo compartido si hay 12 usuarios dentro del sistema y 4 de ellos no estn activos, la CPU se multiplexa para su uso entre los 8 activos. El primer sistema operativo que manejo el concepto tiempo compartido, fue el (CTSS) creado en MIT en una unidad 7094 especialmente modificada.

17

Despus el MIT, Bell laboratorios y General Electric desarrollaron un computadora ms barata que oper con el sistema operativo MULTICS (Multiplexed information and computing service, informacin multicanalizada y servicio de computacin). El crecimiento a nivel hardware, fue a travs de la mquina DEC PDP-1 en 1961. Uno de los cientficos que haba trabajado en el proyecto MULTICS, Ken Thompson, hall despus una pequea PDP-7 y empez a escribir despus una versin desguarnecida de MULTICS para un usuario. ste sistema se llamo UNICS (Uniplexed information and computing service, informacin unicanalizada y servicio de computacin), pero su ortografa cambio ms tarde por UNIX. Al avanzar los trabajos, se hizo evidente que aunque Multics proporcionara con toda probabilidad la diversidad de servicios requerida, sera un sistema enorme, costoso y torpe. Por estas y muchas otras razones, los Laboratorios Bell se retiraron del proyecto en 1969. Algunos de los miembros de investigacin de Bell comenzaron a trabajar en un sistema mucho menos ambicioso. El grupo, dirigido por Ken Thompson, buscaba crear un ambiente de computacin sencillo para investigacin y desarrollo de programas potentes. La primera versin de un sistema UNIX,se cre para un DEC PDP-7 y se escribi en lenguaje ensamblador. Thompson llev a la prctica un sistema de archivos, un mecanismo de control de procesos, programas para el manejo general de archivos y un intrprete de mandatos (Comandos). En 1970 Brian Kernighan acu el nombre "UNIX" haciendo un juego de palabras con Multics; de hecho, en el sentido en que Multics era "multi", los sistemas UNIX eran sin duda servicios de computacin "uni", limitados. Cuando apareci la PDP-11, su atractivo precio permiti que muchas

organizaciones quisieran adquirir la mquina. No contaba con apoyo para la multiprogramacin; la computadora tena slo 24 Kb y el sistema ocupaba 16 Kb; por tanto quedaban 8 Kb reservados para el usuario. El tamao mximo de archivo era de 64 Kbytes.

18

La aplicacin principal era el procesamiento de textos. No haba proteccin del almacenamiento, de modo que el sistema poda caerse con facilidad durante la prueba de un programa nuevo. El disco era pequeo, apenas Megabytes. Dennis Ritchie se uni a la labor de desarrollo y ayud a rescribir los sistemas UNIX en C en 1973. Esto ayud a que los programas de los sistemas UNIX se volvieran ms porttiles y comprensibles. Las contribuciones de Thompson y Ritchie recibieron como reconocimiento el premio Turing, el de ms prestigio en la comunidad de computacin. Antes de la liberalizacin, AT&T no tena permiso para competir en la industria de la informtica, por lo que ofreci los sistemas UNIX a las universidades por una cuota nominal. Adems de distribuir el cdigo fuente, fomentando as el desarrollo adicional y las innovaciones. En 1975 los sistemas UNIX se haban popularizado muchsimo en las universidades y as apareci una organizacin de usuarios que evolucion hasta convertirse en el grupo llamado USENIX. La Multiprogramacin designa a un sistema operativo que, adems de soportar multitarea, proporciona formas sofisticadas de proteccin de memoria y fuerza en control de la concurrencia cuando los procesos acceden a dispositivos de E/S y archivos compartidos. En un inicio los sistemas operativos de multiprogramacin soportaban generalmente mltiples usuarios, en cuyo caso tambin se les denomina sistemas multiusuario. Por la forma de operar la multiprogramacin implica multitarea, pero la multitarea no implica multiprogramacin. La operacin multitarea sin soporte multiusuario puede hallarse en sistemas operativos de algunos computadores personales avanzados y en sistemas operativos de tiempo real.

19

Algo que ayud en esta generacin y ha sido impulsor en incrementar el grado de multitarea en los sistemas es el uso del modo spool (simultaneous peripheral operations on line, operaciones perifricas simultneas en lnea). Por ejemplo; cuando se manda imprimir en forma concurrente N trabajos y el espacio de memoria temporal es menor a dicha necesidad; en el disco se graba temporalmente la informacin que se desea imprimir y de ah la va solicitando a la impresora para su impresin. Conforme se va liberando la impresora va sacando la informacin del rea de spool de disco duro. La multiprogramacin ayuda aumentar la utilizacin de CPU, la memoria tiene varios programas residiendo al mismo tiempo en ella, permitiendo de esta manera la reduccin de tiempo muerto en el procesador. Un procesador se conmuta de una tarea a otra segn sea necesario para lograr que avancen varias tareas, mientras se mantienen en uso los dispositivos perifricos. El multiprocesamiento se logr a partir de en un solo equipo de cmputo se cont con varios procesadores los cuales comparten una memoria principal comn y un solo sistema operativo, permitiendo ejecutar varios programas simultneamente, ya que cada uno de los procesadores ejecuta un proceso al mismo tiempo. Si se tiene un equipo con 8 procesadores el grado de multiprocesamiento mximo sera igual a ocho. Los procesos comparten memoria comn, la memoria principal y los Discos Duros. Multiprocesamiento simtrico. En el Modelo de multiprocesamiento no existe una especializacin de procesos e hilos por parte del procesador, por lo tanto, cada uno de ellos puede ejecutar procesos e hilos independientemente. El sistema operativo, administra un conjunto de procesadores idnticos y cualquiera de ellos se puede utilizar para controlar cualquier dispositivo de entrada/salida y para hacer relacin en cualquier unidad de almacenamiento.

20

Los sistemas de multiprocesamiento simtrico generalmente su programa comparte N procesadores para atender entre todos la necesidad de ejecucin. Cada procesador tiene la misma funcin, atienden las necesidades por igual. Si existe una falla en el procesador, el sistema operativo expulsar el proceso de su conjunto de procesadores disponibles El sistema puede seguir funcionando a niveles menores mientras se realizan las reparaciones. En el multiprocesamiento asimtrico uno de los procesadores decide qu papel le toca jugar a cada uno del total de los procesadores, y orquesta su funcionamiento de l y el del resto por medio del sistema operativo. Es necesario manejar la carga de la necesidad de ejecucin por procesos e hilos. La cuarta generacin (1980 - 1990) Redes de computadora & Computadoras personales. Debido al desarrollo del Hardware y con la creacin de los circuitos integrados, donde cada ship contiene miles de transistores en un cm2 de silicio se logra crear las minicomputadoras, su uso es dirigido a una sola persona generando la operatividad monousuario. Con el uso del microprocesador en la dcada de los setenta, en los aos ochenta aparecen las computadoras personales (PC) ms baratas. El MS-DOS (Microsoft Disket operating System), es un ejemplo importante del sistema operativo que oper y desarroll su facilidad de uso fue elaborado por Microsoft, Inc; las computadoras de la marca IMB y otras siempre y cuando tuvieran el procesador intel 8088 y sus sucesores. El sistema operativo UNIX tambin se desarrolla pero en las mquinas Motorola 68000. Estos dos sistemas operativos en sus primeras versiones eran muy limitas y poco amigables, pero poco a poco en sus diferentes versiones logran su facilidad de uso y bajos tiempos de respuesta. Desarrollan interfaces ms agradables y de fcil uso lo que se conoce como sistemas WIMP (ventanas, iconos, mens, punteros). A principios del ao 1980, se crea la filosofa de compartir y comunicar computadoras personales entre s generando redes de computadoras. Para que

21

pudiera darse esta plataforma fue necesario crear sistemas operativos en red y sistemas operativos distribuidos. En un sistema operativo en red, los usuarios tienen conocimiento de la existencia de mltiples computadoras; pueden ingresar a mquinas remotas y reproducir archivos de una mquina a la otra. Cada computadora ejecuta su sistema operativo local y tiene un usuario propio. La clave en las redes fue transferir informacin entre las computadoras existentes en la red. As, proliferaron las aplicaciones de correo electrnico, transferencias de archivos y acceso a base de datos remotas. El modelo cliente/servidor se generaliz donde los clientes son los usuarios de la red que solicitan servicios de red, y el servidor se encarga de despachar estos servicios, de los cuales el ms utilizado es el compartir archivos desde un acceso remoto. En un sistema operativo de red, los usuarios son conscientes de la existencia de varias computadoras, y pueden conectarse con mquinas remotas para copiar archivos. Cada mquina ejecuta su propio sistema operativo local y tiene su propio usuario. 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 computadoras remotas, pero esas caractersticas adicionales no modifican la estructura esencial del sistema operativo.
Quinta generacin (1990 2000) Sistemas distribuidos y la Interoperabilidad de los

sistemas Operativos.

A partir de los aos 90, una red es un conjunto de subredes, compartiendo los recursos de cada subsistema. En ambientes distribuidos se comparte hardware y software de las computadoras que se encuentran interconectadas entre s, logrando

22

que si un equipo de ellos tiene un grado de multitarea muy alto pueda procesarlo con la ayuda de los dems procesadores de los otros equipos. Si algn usuario desea almacenar informacin, el sistema operativo distribuido buscar cual es el disco duro ms ptimo del total de estos recursos de E/S para almacenar la informacin, quedando oculto para el usuario la ubicacin real de lo que se almacen. Cuando se desea utilizar lo guardado se le presenta la informacin sin ningn problema. Un sistema distribuido, es aquel que se presenta ante sus usuarios como un sistema con un solo procesador, aunque en realidad este compuesto de mltiples procesadores, la cantidad total de procesadores a utilizar es el nmero de UCP por mquina por el total de computadoras. En un sistema distribuido real, los usuarios no tienen conocimiento de donde se estn ejecutando sus programas del total de las computadoras, debido a que cada computadora comparte de manera dbil o fuerte sus recursos. En una red de computadoras se tiene una configuracin de varios equipos conectados fsicamente y stos pueden tener sistemas operativos de red o sistemas operativos distribuidos. En un sistema distribuido los archivos, y procesador que utiliza un usuario pueden estar situados en cualquier computadora de la red, estos sistemas operativos distribuidos se les conoce como dbilmente acoplado. Si se requiere utilizar memoria RAM de otros equipos para cargar los procesos ajenos a esos equipos, entonces este sistema operativo distribuido es fuertemente acoplado. Las redes tienen una configuracin dinmica, siguen operando aunque se aadan o eliminen dispositivos y software. La configuracin fuertemente acoplada tiene varios sistemas de cmputo completos, cada uno con memoria primaria, dispositivos de E/S y el procesador, estos recursos son compartidos con el simple hecho de estar en la red. En el dbilmente acoplado no se puede compartir la memoria fsica. Para lograr la flexibilidad entre el conjunto de redes de computadoras interconectadas entre s, no es necesario que todos los clientes o nodos de cada una

23

de las redes conozcan los elementos de cada red del total de las redes de ste conjunto. La conectividad entre las diferentes redes, se logra debido a los estndares y protocolos de los sistemas abiertos, que en la actualidad estn determinados a nivel internacional por grupos como la Organizacin Internacional de Normas (ISO, International Organization For Standarization), la CCITT, la Fundacin de Software Abierto (Open Software Foundation), la Corporacin Internacional para Sistemas Abiertos (Corporation For Open Systems International), X/open y otros. Los sistemas abiertos se lograron cuando los sistemas son disponibles para otros sistemas iguales o diferentes del total de las redes interconectadas. Las computadoras porttiles son computadoras personales que la gente se las puede llevar a donde quiera que vaya, que gracias a las comunicacin inalmbrica actualmente pueden trabajar en red con filosofa de sistemas abiertos. Con el desarrollo de los protocolos de comunicacin OSI y, especialmente, con el desarrollo de la red digital de servicios integrados (ISDN, Integrated Services Digital Nertwork), los usuarios se comunican gran parte del mundo. Cada vez es ms barato, confiable y accesible la comunicacin entre redes de gran cobertura; proporcionando un entorno unificado y diseado para optimizar las operaciones de la red como un todo, no solo para sitios locales. 1.3. SUBSISTEMAS DE UN SISTEMA OPERATIVO Los subsistemas de un sistema operativo, son las partes en que se compone ste. Bsicamente son la administracin de los procesos, la gestin de la memoria primaria, la utilizacin y manejo de los dispositivos de entrada y salida, la generacin

y el buen uso de los archivos, sistemas de seguridad y por ltimo el Intrprete de rdenes o de comandos.

Administracin de procesos.

Son los procesos, o programas en ejecucin el total de trabajo dentro del equipo de cmputo. Los procesos se crean de acuerdo a las solicitudes de del usuario y del

24

sistema operativo. La ejecucin y finalizacin de ellos trae como consecuencia la peticin de servicios del total de los recursos. Los procesos se administran y controlan por el sistema operativo, siendo ejecutados en el (los) procesador(es), y su anlisis y detalle son inters de los temas II y III. En estas unidades ser incluye el anlisis de la creacin y supresin de los procesos, as como el control del progreso del mismo y su actuacin sobre condiciones especficas. El sistema operativo, lleva de la mano a los procesos en su estancia en los diferentes recursos y el control de acceso a los mismos, cuidando a cada proceso en caso de concurrencia por el grado de multiprogramacin que se logre generar. Cuando hay concurrencia, es necesario determinar la planificacin del uso del procesador entre los procesos activos. La sincronizacin en el uso del procesador y el tiempo de uso continuo que deber asignrsele ya sea un proceso o a un hilo. Para la buena administracin de los procesos, es necesaria la planificacin del procesador con las diferentes tcnicas que existen y de acuerdo a las necesidades en cuanto al uso de los dems recursos y el tiempo de utilizacin de stos o de la misma UCP. El "motor" que mantiene en movimiento un esquema de multiprogramacin es, por un lado, el conjunto de interrupciones que genera el desempeo de los procesos y, por otro, los constantes recordatorios que hace el reloj del procesador para indicar que se termin la fraccin de tiempo dedicada a cada proceso.

Gestin de memoria primaria o fsica.

La memoria es un recurso escaso, consta de un espacio en bytes donde se permite el depsito de datos, a los cuales se puede tener acceso rpidamente y son compartidos con la CPU. La gestin de memoria es la asignacin de un espacio de memoria real para los procesos solicitantes que necesitan ejecutarse. Las demandas de memoria son por la generacin de nuevos procesos y cuando terminen de ejecutarse se debe liberar su

25

espacio, para su anlisis y comprensin de las tcnicas para el uso de ste recurso lo veremos en el tema IV. La memoria debe ser liberada cuando un proceso termine. Sin embargo, el sistema operativo puede decidir intercambiar temporalmente procesos inactivos para desocupar el espacio necesitado por procesos que de otro modo estn listos para ejecutarse. El procesador lee instrucciones de la memoria principal va DMA (direct memory acces), tambin lee y escribe datos ah. Las instrucciones deben estar en la memoria fsica para que la CPU pueda ejecutarlas.

Manejo de los dispositivos de entrada y salida.

Todo resultado es mostrado por los dispositivos de salida y las solicitudes o peticiones de ejecucin, son a travs de los dispositivos de entrada. La informacin se almacena en dispositivos de memoria secundaria. Los sistemas operativos, ocultan al usuario los aspectos especficos de los dispositivos durante la manipulacin de los archivos y proporcionan una abstraccin del almacenamiento secundario (ejemplo el disco duro). Para apreciar la complejidad en el manejo de los dispositivos de entrada y salida es necesario analizar el tema V. El sistema operativo oculta la dificultad del uso de los dispositivos de entrada/salida. Proporciona una interfaz amigable con el usuario a travs de los manejadores (controladores-drivers), tratando los errores comunes sin que el usuario los perciba.

Generacin y el buen uso de los archivos

Un archivo es la informacin almacenada a largo plazo en la computadora. La forma en que se genera, almacena y administra el conjunto de archivos es lo que se profundiza en el tema VI. Los sistemas operativos emplean varias tcnicas para restaurar y recuperar sistemas de archivos. Sus exigencias en la manipulacin y almacenamiento en sistemas multiusuario y multiprogramado debe estar protegida contra el acceso que se

26

d. El sistema operativo debe proporcionar mecanismos de proteccin y seguridad para que la informacin sea clara y se pueda usar de acuerdo a la necesidad de los usuarios, lo cual ser visto en el tema siete. Antes de que un archivo pueda leerse o escribirse en l, debe abrirse, momento en el cual se verifican los permisos. Estos archivos se abren especificando en la computadora la ruta de acceso al archivo desde el directorio raz que es la unidad principal del disco del computador. La administracin de los archivos, se realiza en diferentes medios fsicos: cinta magntica, discos magnticos, discos pticos, memorias flash, etc. El sistema operativo, proporciona una vista lgica uniforme de la informacin; hace una abstraccin de las propiedades fsicas de sus dispositivos de almacenamiento, para mostrarlo ms amigable es decir de manera lgica. Los Sistemas de Proteccin permiten proteger los recursos lgicos con que cuenta un equipo de cmputo debido a la cantidad de mltiples usuarios y por la ejecucin concurrente de varios procesos. Esto consiste en controlar el acceso a los archivos y programas, evitando aquellos que no le es permitido a travs de contraseas y llaves.

Intrprete de rdenes o de comando Es la interfaz que permite la comunicacin entre el usuario y el sistema operativo, para lograr cargar programas, introducir datos y trabajar con los archivos que se encuentran en el equipo de cmputo o en la red que se tenga acceso. 1.4 Estructuras de los sistemas operativos

La estructura de un sistema operativo es de acuerdo con el propio fabricante, para lo cual tomaremos un anlisis mediante capas siendo sta organizacin la ms comn. El sistema operativo, se escribe como una coleccin de programas, de cada uno de ellos es un conjunto de procedimientos que procedimientos. pueden llamar a los dems

27

Cada subprograma, tiene una interfaz en trminos de parmetros y resultados, y cada uno de ellos puede llamar a cualquier otro, si ste ltimo proporciona una ejecucin que ocupa el primero. Los subprogramas que componen al sistema operativo, se compilan de forma individual y despus se enlazan en un slo archivo generando un programa, recordando que un sistemas operativo en una coleccin de programas, donde administra la operacin de un equipo informtico. El sistema operativo, asigna y solicita recursos en respuesta a las peticiones. Las decisiones de gestin de recursos son gobernados por polticas resultantes de acuerdo a su diseo, tomando en todo momento lo mejor para el usuario final y la operacin posible de los diferentes procesos en los recursos que se puedan utilizar. Los sistemas multiusuario implican complejidades adicionales no por eso quiere decir que los monousuario tenga sus detalles. La experiencia de los desarrolladores de sistemas operativos, han creado la construccin de estos mediante jerarqua de niveles de abstraccin, en donde los detalles de las estructuras de datos, la ocultacin de informacin y los algoritmos de procesamiento se confinan dentro de mdulos. Externamente se sabe que un mdulo efecta una funcin especfica sobre objetos de un tipo dado. Los detalles de cmo lo hace no estn disponibles ni son de inters para el usuario final. Los mdulos interactan con su entorno a travs de interfaces bien definidas, cada uno de ellos realiza una funcin por lo cual son pequeos. Tambin facilitan el encapsulado de los datos, en donde los objetos pueden ser manipulados exclusivamente por medio de un conjunto de operaciones significativas proporcionadas para el tipo de objeto en cuestin. La creacin total de un sistema operativo es mediante cinco capas del sistema operativo. Son niveles o capas que dependen de forma secuencial del nivel 5 al 1 el de la perspectiva del usuario y hasta el proceso en ejecucin. En forma inversa es cuando el sistema operativo le responde al usuario.

28

Nivel

Nombre
Interfaz, Mquina Ampliada Interprete rdenes de Lenguaje de

Funcin
Interaccin o comunicacin entre el(los) usuario(s), con el nmero de mquinas que est administrando el sistema operativo.

Sistema Archivos

Desde la creacin, nombrar, renombrar, eliminar, compartir y todo aquellos que se puede hacer con la informacin que se encuentra almacenada en forma permanente.

Memoria Primaria Memoria Fsica o Memoria Real

Asignar espacio de memoria fsica a los programas entrantes y liberar ese espacio cuando termine su ejecucin.

Entrada/Salida bsica

Permitir el acceso de datos a travs de dispositivos de entrada principalmente del teclado, mouse y la presentacin de los resultados por medio de los dispositivos de salida comnmente el monitor e impresora.

Ncleo o Kernell

Es la parte de un sistema operativo que determina si un proceso se ejecuta, se bloquea o se suspende a travs de monitores y semforos.

La capa 1, se le llama Ncleo o Kernel del sistema operativo, ya que administra los procesos por medio de semforos y monitores. Lleva la cuenta de los procesos activos mediante estructuras de datos que muestran el estado del sistema. ste nivel, contiene un planificador de procesos que selecciona qu proceso ejecutar, a continuacin desactiva el proceso que estaba haciendo uso de la UCP mediante el uso de interrupciones.

29

Las funciones del ncleo, son permitir la existencia de un ambiente en el que sea posible atender a varios usuarios y mltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando mantener en grado ptimo la atencin individual. El Kernel opera como asignador de recursos para cualquier proceso. Es el componente central del sistema operativo y tiene las siguientes funciones: - Creacin, asignacin de tiempos de atencin y sincronizacin de procesos. - Asignacin de la atencin del procesador a los procesos que lo requieren. - Administracin de espacio en el sistema de archivos, que incluye: acceso, proteccin y administracin de usuarios; comunicacin entre usuarios v entre procesos, y la manipulacin de E/S y administracin de perifricos. El Kernel reside siempre en la memoria central y ningn otro proceso puede interrumpirlo; slo pueden llamarlo para que proporcione algn servicio. Consta de dos partes principales: la seccin de control de procesos y la de control de dispositivos. La primera asigna recursos, programas, procesos y atiende sus requerimientos de servicio; la segunda, supervisa la transferencia de datos entre la memoria principal y los dispositivos perifricos. El Kernel prepara algunas estructuras de datos que abarcan una seccin de almacenamiento temporal para la transferencia de informacin entre terminales y procesos, una seccin para almacenamiento de descriptores de archivos y una variable que indica la cantidad de memoria principal que ocupan el proceso. En general, los procesos se crean mediante una llamada a una rutina del sistema (fork), que funciona por un mecanismo de duplicacin de procesos. Sin embargo, esto no es suficiente para crear el primero de ellos, por lo que el Kernel asigna una estructura de datos y establece apuntadores a una seccin especial de la memoria, llamada tabla de procesos, que contendr los descriptores de cada uno de los procesos existentes en el sistema.

30

Despus de haber creado el proceso 0, se hace una copia del mismo, con lo que se crea el proceso 1; ste muy pronto se encargar de "dar vida" al sistema completo, mediante la activacin de otros procesos que tambin forman parte del ncleo. Es decir, se inicia una cadena de activaciones de procesos, entre los cuales destaca el conocido como despachador, o scheduler, que es el responsable de decidir cul proceso se ejecutar y cules van a entrar o salir de la memoria central. A partir de ese momento se conoce el nmero 1 como proceso de inicializacin del sistema, init. El proceso init, es el responsable de establecer la estructura de procesos. Normalmente, es capaz de crear al menos dos estructuras distintas de procesos: el modo monousuario y el multiusuario. Comienza activando el intrprete del lenguaje de control (Shell) en la terminal principal o consola del sistema proporcionndole privilegios de "sper usuario". En la modalidad de un solo usuario la consola permite iniciar una primera sesin, con privilegios especiales, e impide que las otras lneas de comunicacin acepten iniciar sesiones nuevas. Esta modalidad se usa con frecuencia para revisar y reparar sistemas de archivos, realizar pruebas de funciones bsicas del sistema y para otras actividades que requieren uso exclusivo de la computadora. Debido a la concurrencia de N procesos por utilizar la misma UCP, es necesario la utilizacin de semforos (instrucciones de programacin de bajo nivel) o monitores (tcnicas y procedimiento de programacin de alto nivel) para sincronizar y comunicar los diferentes procesos. Para crear un proceso se requiere la inicializacin de una entrada en la tabla de procesos, as como la creacin de segmentos de texto y de datos. Adems, es necesario modificar la tabla cuando cambia el estado del proceso o cuando recibe un mensaje de otro (para sincronizacin, por ejemplo). Cuando un proceso termina, su entrada en la tabla se libera y queda otro disponible para que otro nuevo la utilice. La capa 2, conocida como entrada y salida bsica, proporciona la administracin de la memoria secundaria (discos duros principalmente) y permite el uso de los dispositivos para la entrada de la informacin e instrucciones que solicita el usuario, as como tambin el manejo de los recurso de salida como es la impresora y monitor.

31

El nivel 2 permite la transferencia de los datos entre el almacenamiento primario y secundario. La capa 3 gestiona la memoria primaria. Asigna la particin o espacio de la memoria real para que los procesos o programas puedan ser ejecutados y cuando estos hayan finalizado, se encarga de liberar el espacio para que sea utilizado por los procesos e hilos entrantes. El control de cada espacio, es necesario determinarlo con una direccin para permitir el compartir dicho recurso. ste nivel hace uso del mtodo de memoria virtual que proporciona la ilusin de tener ms espacio real que se est utilizando. Para lograr esta ilusin se hace uso de espacios secundarios para satisfacer la necesidad del programa entrante. En este caso es necesario que los procedimientos tanto de la capa 2 como de la capa 3 estn en constante comunicacin. La capa 4 denominada sistema de archivos, proporciona los mecanismos para el almacenamiento permanente o a largo plazo de la informacin que usuario desea. La informacin almacenada se le llama archivos y este nivel es donde se permite su creacin, manipulacin y cuidado del mismo. Los archivos, o partes de ellos, pueden ser accedidos y actualizados por medio de rdenes de alto nivel y sin necesidad de especificar los nmeros y direcciones de los bloques de datos tal como se requiere en el nivel 2. Un sistema de archivos puede estar basado en un modelo arborescente y recursivo, en el cual los nodos pueden ser tanto archivos como directorios, y estos ltimos pueden contener a su vez directorios o subdirectorios. Debido a esta filosofa, se maneja al sistema con muy pocas rdenes, que permiten una gran gama de posibilidades. Todo archivo est controlado por mltiples niveles de proteccin, que especifican los permisos de acceso al mismo. La raz del sistema de archivos (conocida como root) se denota con el smbolo "/", y de ah se desprende un conjunto de directorios que contienen todos los archivos del

32

sistema de cmputo. Los archivos no se puede ocupar esta filosofa ya que si otros archivos dependieran de ellos se convertiran en directorios. Los sistemas operativos que utilizan un sistema de archivos jerrquicos con su origen en el nodo raz (Root). Los nombres de archivos aparecen en directorios que son a su vez archivos. La capa 4 tambin se encarga de controlar y permitir el uso de los dispositivos externos como es la impresora y las terminales. El sistema de entrada/salida se divide en dos sistemas complementarios: el estructurado por bloques y el estructurado por caracteres. El primero se usa para manejar cintas y discos magnticos, y emplea bloques de tamao fijo (512 o 1024 bytes) para leer o escribir. El segundo se utiliza para atender a las terminales, lneas de comunicacin e impresoras, y funciona byte por byte. Otra caracterstica de los actuales sistemas operativos es que poseen un gran conjunto de controladores (drivers) para permitir rpida compatibilidad con dispositivos de hardware, logrando la estandarizacin de recursos independientemente de la marca. La capa 5 se le conoce como lenguaje de rdenes, ya que permite o genera la comunicacin entre el usuario y el equipo de cmputo. Analiza la instruccin del usuario para determinar los parmetros e identificar el servicio requerido. Cuando se requiere ejecutar un programa se invocan los procesos necesarios para cargar el programa en espacio real y de esa manera pasa al procesador.

1.5 Anlisis de los SO ms comerciales (LNUX, UNX, Windows, MACH, OS/2, VAX, MVS, etc.).

En Mxico los sistemas operativos ms comerciales son los de la familia de Windows. Para un anlisis somero de estos sistemas operativos es necesario recordar

33

que el Windows proviene del sistemas operativo MS-DOS, conocido popularmente como DOS, que quiere decir Disk Operating System (sistema operativo de disco. Cuando Intel libera el 80286, DOS cubre el mercado de software para las computadoras personales (PC). La compatibilidad IBM, significaba que las computadoras que no fueran IBM puedan correr en dicho sistema operativo. Despus de las versiones del M-DOS 1.1 y hasta la versin 6.22 aparecen los sistemas operativos Windows. Windows 3.1 fue el sistema operativo que gener la interfaz grfica amigable. A partir de ste se muestran conos en la pantalla que representan diferentes archivos o programas, a los cuales se pueden accesar al darles doble clic con el puntero del mouse. Todas las aplicaciones elaboradas para Windows se parecen, por lo que es muy fcil aprender a usar nuevo software bajo la misma filosofa. Windows 95, puesto en marcha en el ao 1995 introdujo una mejorada versin del Windows 3.1. Las mejoras incluyen soporte multitareas y arquitectura de 32 bits, permitiendo as la ejecucin de aplicaciones ms pesadas e incrementando la eficacia del trabajo. Windows NT es una versin de Windows orientada a la administracin y operacin de las redes y servidores por lo tanto est dirigi para permitir interactuar de forma eficaz entre dos o ms computadoras. OS/2 tambin fue hecho por IBM. Tiene soporte de 32 bits y su interfaz es agradable al usuario; su desventaja de ste sistema operativo es que no se le ha dado el apoyo que se merece en cuanto a aplicaciones se refiere. Por parte la familia de las computadoras Macintosh (recordando lo que fue Apple) el sistema operativo MAc-OS no sera tan popular como lo es si no tuvieran el Mac-OS como sistema operativo de planta. Este sistema operativo es tan amigable para el usuario que cualquier persona puede aprender a usarlo en muy poco tiempo. Este fue creado por Apple Computer, Inc.

34

UNIX fue creado por los laboratorios Bell de AT&T en 1969 (recordar a Multics como antecesor de l) y es ahora usado en el uso de redes de computadoras. Unix es un SO multiusuario y multitarea, que corre en diferentes computadoras, desde

supercomputadoras, Mainframes, Minicomputadoras, computadoras personales y estaciones de trabajo. La mayora de los sistemas operativos actuales, son tambin multiusuario UNIX, NOVEL y WINDOWS server, aunque existen los monousuario como es Windows Vista o XP. Los sistemas operativos deben incluir un soporte para uno o ms sistemas de archivos. Por ejemplo, el sistema operativo Windows XP soporta NTFS y FAT32, en tanto Windows Vista slo soporta NTFS. Las medidas de seguridad han incrementado cosa que antes no existan en los sistemas operativos. El principal peligro proviene de las redes que tienen acceso a internet, donde ya todos los sistemas operativos monousuario o multiusuario permiten el servicio para acceder a estas carretera de la informacin donde el envo y utilizacin de archivo desde otra parte del mundo es fcil. UNIX, es un sistema operativo multiusuario por excelencia que maneja al mismo tiempo multitarea. Por su forma de trabajar opera con el esquema de tiempo compartido, controlando los recursos compartidos entre los usuarios activos. UNIX est disponible en varias formas, entre las que se cuenta es AIX, una versin de UNIX adaptada por IBM (para su uso en estaciones de trabajo basadas en RISC), AIUX (versin grfica para equipos Apple Macintosh) y Mach (un sistema operativo reescrito, pero esencialmente compatible con UNIX, para las computadoras NeXT). Microsoft anunci en 1980, que ofrecera XENIX, una versin comercial de sistema UNIX, en microprocesadores de 16 bits. Para mejorar la viabilidad, se agreg la recuperacin de errores por hardware, reparacin automtica de archivos despus de cadas, deteccin de fallas en el suministro de energa y errores de paridad, segmentos compartidos de datos y una mejor comunicacin entre procesos. Las desventajas de UNIX es la carencia de soporte tcnico y que no ofrece mucha seguridad, no soporta todas las plataformas, y no es compatible con algunas marcas

35

especficas. No existe un control de calidad al momento de elaborar software para Linux, pues muchas veces las aplicaciones se hacen y se liberan sin control alguno. El ncleo es la parte central de los sistemas operativos UNIX; encapsula el equipo y ofrece servicios a los programas de aplicaciones. El ncleo del sistema operativo Unix, es un programa escrito casi en su totalidad en lenguaje C, con excepcin de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera. En Unix se ejecutan programas en un medio llamado "proceso de usuario". Cuando se requiere una funcin del Kernel, el proceso de usuario hace una llamada especial al sistema y entonces el control pasa temporalmente al ncleo. UNIX ahora soporta ratn e interfaz de ventanas como X-Windows System de MIT, News de Sun Microsystem y Open Look de AT&T. Contiene que cuatro han

aportaciones

importantes

aumentado la viabilidad como base para los sistemas distribuidos:

Conectores Berkely, Los Streams de AT&T,El sistema de archivos de red NFS,y El sistema de archivos remoto RFS de AT&T. Los Sistemas Operativo Novelll, fueron creados en un inicio para que los equipos de equipos personales (PCs) pudieran compartir discos o impresoras en una red de rea local (LAN Local Area Network), actualmente han logrando interconectar redes y formando redes dentro de una misma ciudad (MAN Metropoli Area Network). En general las librerias que emplean el concepto de hilos en el manejo de ejecucin de los programas concurrentes son Win32, OS/2 y POSIX. Las dos primeras son

36

propietarias y solo corren bajo sus respectivas plataformas (NT, Win95, OS/2) mientras que la especificacin POSIX, conocida como pthreads est pensada para todas las plataformas y esta disponible para la mayora de las implementaciones de UNIX y Linux. Los hilos en Windows, cada vez que se crean y generan un objeto del kernel que tiene toda la informacin necesaria respecto al proceso que pertenece. El Kernel proporciona acceso a funcionalidades que pueden modificar el funcionamiento del hilo y enlista la ejecucin de cada uno de ellos. Un ejemplo de estos son los hilos creados en .Net Framework o en java, todos estos son creados, calendarizados y administrados por el runtime de cada uno de ellos, el sistema operativo en esencia no sabe nada de ellos. Cada hilo del kernel puede tener dentro de si uno o ms. Windows, ofrece mecanismos que permiten asociar un fiber a un hilo de kernel nuevo independiente, de tal forma que si por ejemplo el java virtual machine detecta que uno de sus hilos (que son en realidad fibers) queda bloqueado en espera de un dispositivo, la mquina de java para no bloquear los otros hilos del proceso crea uno nuevo del sistema operativo y lo asocia con ese para que el principal no quede bloqueado. Windows XP Edicin de 64 bits y la familia de procesadores Intel Itanium han sido diseados para atender hasta los ms exigentes requerimientos corporativos del nuevo entorno de negocios basado en Internet. Entre las reas que cubren, figuran el comercio electrnico, data mining, procesamiento de transacciones en lnea, grficos avanzados con grandes requerimientos de memoria, clculos complejos y aplicaciones multimedia de alto rendimiento. La creacin de contenido digital, la animacin y reproduccin de 2D y 3D, edicin de video y desarrollo de juegos, son las tres reas principales del segmento de Creacin de Contenido Digital que se beneficiarn de la memoria adicional, mayores velocidades de I/O de memoria y mejor rendimiento de punto flotante de Windows XP Edicin de 64 Bits, corriendo bajo Intel Itanium.

37

Optimizado para la familia de procesadores Intel Itanium. Windows XP Edicin de 64 Bits ha sido optimizado especficamente para los procesadores Intel Itanium, beneficindose de sus caractersticas esenciales, tales como el diseo EPIC. Para ms informacin acerca de la familia de procesadores Intel Itanium, visite:

http://www.intel.com/itanium/ Rendimiento de punto flotante. Windows XP Edicin de 64 Bits aprovecha al mximo el rendimiento de punto flotante de la plataforma Intel Itanium. El Windows XP, Edicin de 64 Bits ha sido diseado para soportar capacidades de multiprocesamiento, con el fin de ofrecer mayor rendimiento y escalabilidad. La interoperabilida proporciona una plataforma amplia en funcionalidad para la integracin tanto de aplicaciones tcnicas de 64 bits como de aplicaciones de negocios de 32 bits. Esto contribuir a lograr nuevos niveles de productividad y colaboracin. Microsoft.NET, sirve como la plataforma de las aplicaciones que se integrarn a la Web. La diferencia principal entre Windows de 32 bits y de 64 bits se encuentra en el soporte de la memoria. Windows de 32 bits tiene la capacidad de soportar hasta 4 GB de memoria del sistema, con un mximo de 2 GB de memoria dedicada por proceso. Windows XP Edicin de 64 Bits soportar en realidad hasta 16 GB de memoria RAM, con el potencial de soportar hasta 16 TB de memoria virtual, a medida incrementen las capacidades de hardware y de memoria.

Das könnte Ihnen auch gefallen