INTRODUCCIÓN

Anuncio
INTRODUCCIÓN
Sin su software, la computadora es básicamente un montón de metal inútil, Con su software una computadora
puede almacenar, procesar y recuperar información. Exhibir documento multimedia realizar búsquedas en
Internet y realizar muchas otra actividades valiosas para justificar su existencia. El software de computadora
puede dividirse a grandes rangos de dos tipos: Programas de sistema, que controlan la operación de la
computadora misma, y programas de aplicación, que realizan las tareas reales que el usuario desea. El
programa de sistema más fundamental es el sistema operativo, que controla todos los recursos de la
computadora y establece la base sobre la que pueden escribirse los programas de aplicación.
Hace muchos años se hizo muy evidente que debería encontrase alguna forma de proteger a los
programadores de la complejidad del hardware. La solución que ha evolucionado gradualmente consiste en
poner en capa de software encima del hardware solo, que se encargue de administrar todas las partes del
sistema y presente al usuario una interfaz o maquina virtual que sea más fácil de entender y programar.
1.−
Evolución Histórica De Los Sistemas Operativos
Normalmente se consideran tres etapas o generaciones que van prácticamente paralelas a las generaciones de
los equipos informáticos:
• 1º Etapa:
Desde la construcción de las primeras computadoras (1943) hasta 1956, puede decirse que realmente no
existen sistemas operativos. El programador que deseaba usar la computadora debía apuntarse a un cuaderno
de reservas de horas, cuando llegaba su turno, el programador que hacía también las funciones de operador
introducía su programa y esperaba que poco a poco fuesen escribiéndose en una impresora los resultados, el
programa se introducía a través de tarjetas perforadas y se redactaba en lenguaje máquina, los datos también
se suministraban a la computadora a través de tarjetas perforadas.
Posteriormente se idearon los ensambladores, después de ensamblar el programa, el programa objeto obtenido
(en lenguaje máquina) se montaba manualmente, es decir, se unía con otros paquetes de tarjetas que contenían
las funciones utilizadas en el programa y no definidas en el mismo (multiplicación o raíz cuadrada). Por
último se ejecutaba el paquete total de tarjetas con los datos del programa. Con esta forma de trabajar no se
obtiene provecho de la computadora, cuando la CPU trabaja los dispositivos E/S están inactivos y cuando un
dispositivo E/S está actuando, las demás unidades (incluida CPU) no trabajan, las grandes posibilidades de la
CPU en cuanto a velocidad de ejecución no se aprovechan adecuadamente.
Como resumen de esta primera etapa podemos decir que la introducción y la ejecución de programas se hacía
manualmente, uno a uno ya que no existían los Sistemas Operativos.
2.−
• 2º Etapa:
En vez de utilizar sólo lectores de tarjeta e impresoras, se utilizaban soportes de información intermedios
como citas magnéticas, al principio de ella sólo se encontraban ensambladores, controles de biblioteca,
necesitándose dar por tarjeta únicamente el programa y los datos de usuario.
1
Posteriormente se dio un paso importante, se utilizó una computadora satélite para gestionar las E/S y la
computadora principal (más potente) únicamente leía y escribía sobre cinta magnética.
Esta computadora satélite volcaba sobre cinta magnética los programas en tarjeta de los usuarios, en la cinta
se tenían así grabadas imágenes de tarjeta, posteriormente y una vez que en una cinta había una cola de
trabajos, el operador desmontaba la cinta de la computadora satélite y la montaba en la principal, ésta leía los
programas de la cinta y los resultados a imprimir los escribía en otra cinta magnética, obteniéndose así por
cada programa un archivo de impresión grabado en cinta. El operador con cierta regularidad, montaba la cinta
de archivos de impresión en la computadora satélite y esta los iba escribiendo por las impresoras.
El procedimiento descrito desde el punto de vista usuario−programador, es mucho más sencillo que el de la
primera etapa, pero es necesario un control automático del flujo o cola de trabajos. Este tipo de
funcionamiento denominado por lotes (Batch) es posible gracias a la existencia de un Sistema Operativo es
decir, de un programa de control, este programa de control que facilita los trabajos se suele llamar monitor, el
monitor de un sistema por lotes debe hacer fundamentalmente dos cosas:
• Identificar e interpretar las tarjetas de control (las cuales se incluyen con el paquete de tarjetas del
programa y datos para identificar el principio y fin de cada trabajo). Una vez interpretada una tarjeta
de control, el monitor da paso a una rutina que realiza funciones asociadas a ella.
3.−
• Intervenir al final de la ejecución de un trabajo para cerrar el archivo de impresión del trabajo que
acaba de iniciar (pasar el control) al siguiente trabajo de la cola, es decir, hace una secuenciación
automática de trabajos.
Poco a poco, estos monitores de lotes se perfeccionaron incluyendo rutinas de control de E/S. módulos de
controladores del tiempo máximo de CPU (para evitar que un programa se esté ejecutando por un tiempo
indefinido a causa de un error de programación), módulo de contabilidad de uso de la computadora por los
usuarios, etc.
La interacción del usuario sobre el Sistema Operativo se hace básicamente por medio de tarjetas de control o
en la actualidad por medio de órdenes de control, estas órdenes se dan según las reglas del lenguaje de control
del sistema operativo.
• 3º etapa:
Esta etapa se caracteriza fundamentalmente por desarrollo del Sistema Operativos en multiprogramación
(1963) y la introducción del concepto de memoria virtual.
A principios de la década de 1960, la mayoría de los fabricantes de computadoras tenían dos líneas de
productos distintas y totalmente incompatibles. Por un lado estaban las computadoras científicas a gran escala,
orientadas hacia las palabras, como la 7094, que se usaban para calculos numéricos en ciencias e ingeniería.
Por el otro, estaban las computadoras comerciales orientadas hacia los caracteres, como la 1401, que los
bancos y las compañías de seguros utilizaban ampliamente para ordenar e imprimir desde cinta.
La creación y mantenimiento de dos líneas de productos totalmente distintas era una situación costosa para los
fabricantes. Además, muchos clientes de computadoras nuevas necesitaban inicialmente una maquina pequeña
que más adelante les resultaba insuficiente, de modo que querían una maquina más grande que ejecutara todos
sus viejos programas, pero más rápidamente.
4.−
2
IBM trato de resolver simultáneamente ambos problemas introduciendo la System/360. La 360 era una serie
de maquina de software compatible que iban desde tamaños comparables a las 1401 hasta computadoras
mucho mas potentes que la 7094. Las maquinas diferían solo en el precio y el rendimiento (memoria máxima,
velocidad de procesador, numero de dispositivos de E/S permitidos, etc.). Puesto que todas las maquinas
tenían la misma arquitectura y conjunto de instrucciones, los programas escritos para una maquina podían
ejecutarse en todas las demás, al menos en teoría. Además, la 360 estaba diseñada para manejar computadoras
tanto científicas como comerciales. Así, una sola familia de maquina podia satisfacer las necesidades de todos
los clientes. En años subsecuentes IBM produjo sucesoras comparables a la línea 360, usando tecnología más
moderna, conocidas como series 370, 4300. 3080 y 3090.
La 360 fue la primera línea importante de computadoras en usar (a pequeña escala) circuitos integrados (IC),
ofreciendo así una ventaja de precio/rendimiento considerable respecto a ñas maquinas de la segunda
generación, que se armaban con transistores individuales. Esta línea fue un éxito inmediato, y la idea de una
familia de computadoras compatibles pronto fue adoptada por todos los demás fabricantes importantes. Los
descendient4es de estas maquinas todavía se emplean en uno que otro centro de computo en la actualidad,
pero su uso esta en rápido declive.
La gran ventaja de la idea de una familia fue también su gran debilidad. La intención era que todo el software,
incluido el sistema operativo, funcionara en todos los modelos. El software tenía que funcionar en sistema
pequeño, que en muchos casos simplemente sustituían a la 1401 para copiar tarjetas en cinta, y en sistemas
muy grandes, que con frecuencia sustituían a las 7094 para realizar pronósticos del tiempo y otros trabajos de
computación pesada. El software tenia que ser bueno en sistemas con pocos, tenia que ser eficiente para todos
usos distintos.
Era imposible que IBM (o alguien más) pudiera escribir un programa que satisficiera todos esos requisitos
opuesto. El resultado fue un sistema operativo enorme, extraordinariamente complejo, tal vez dos o tres
ordenes de magnitud mayor que FMS. Este sistema consistía en millones de líneas de lenguaje ensamblador
escrito por miles de programadores, y contenía miles y miles de errores, requiriéndose un flujo continuo de
nuevas versiones en un intento por corregirlos. Cada versión nueva corregía
5.−
Algunos errores e introducía otros nuevos, de modo que es probable que él numero de errores se mantuviera
constante con el tiempo.
A pesar de su enorme tamaño y de sus problemas, OS/360 y los sistemas operativos de tercera generación
parecidos a él producidos por otros fabricantes de computadoras logran satisfacer a sus clientes en un grado
razonable, y también popularizaron técnicas clave que no existía en los sistemas operativos de la segunda
generación. Tal vez la más importante de ellas haya sido la multiprogramación. En la 7094, cuando el
trabajo actual hacia una pausa para esperar que se completara una operación de cinta u otra operación de E/S,
la CPU simplemente permanecía ociosa hasta que la E/S terminaba. En los calculos científicos, con gran uso
de CPU, la E/S es poco frecuente, así que el tiempo desperdiciado no es significativo. En el procesamiento de
datos comerciales, el tiempo de espera por E/S puede ser el 80 o 90% del tiempo total, de modo que algo
debía hacerse para evitar que la CPU estuviera ociosa tanto tiempo.
La solución a la que se llego fue dividir la memoria en varias secciones, con un trabajo distinto en cada
partición. Mientras un trabajo estaba esperando que terminara su E/S, otro podia estar usando la CPU. Si se
podían tener en la memoria principal suficiente trabajos a la vez, la CPU podia mantener ocupada casi todo el
tiempo. Tener múltiples trabajos en al memoria a la vez requería hardware especial para proteger cada trabajo
contra espionaje o perjuicios por parte de los demás, pero la 360 y otros sistemas de tercera generación
estaban equipados con este hardware.
3
TRT
Particiones
De memoria
6.−
Sistema de multiprogramación con tres trabajos de memoria
Otra característica impórtate en los sistemas operativos de la tercera generación era la capacidad de leer
trabajos de las tarjetas al disco tan pronto como se llevaban al cuarto de computación. Luego, cada vez que un
trabajo terminaba su ejecución, el sistema operativo podia cargar uno nuevo del disco en la partición que
había quedado vacía y ejecutarlo. Esta técnica se llama spooling (de operación simultanea de periféricos en
línea) y también se usaba para la salida. Con spooling, las 1401 ya no eran necesarias, y desapareció una
buena parte del transporte de cintas.
Aunque los sistemas operativos de la tercera generación se adaptaban bien a calculos científicos extensos y
sesiones masivas de procesamiento de datos comerciales, seguían siendo básicamente sistemas por lotes.
Muchos programadores añoraban los días de la primera generación cuando tenían toda la maquina para ellos
solos durante unas cuentas horas, lo que les permitía depurar sus programas rápidamente. Con los sistemas de
la tercera generación, el tiempo entre la presentación de un trabajo y la obtención de las salidas a menudo era
de varias horas, y una sola como mal colocada podia causar el fracaso de una compilación y que el
programador desperdiciara medio día.
Este deseo de respuesta rapada preparó el camino para el tiempo compartido, una variante de la
multiprogramación, en la que cada usuario tiene una terminal en línea. En un sistema de tiempo compartido, si
20 usuarios ingresan en el sistema y 17 de ellos están pensando, hablando o tomando café, la CPU puede
asignar por turno a los tres trabajos que requieren servicio. Puesto que las personas que están depurando
programas usualmente emiten comandos cortos (por ejemplo, compilar un procedimiento de cinco paginas) en
vez de largos (por ejemplo, ordenando un archivo de un millón de registros), la computadora puede
proporcionar servicio rápido interactivo a varios usuarios y tal vez también trabajar con trabajos de lote
grandes en segundo plano cuando la CPU esta ociosa. Aunque el primer sistema serio de tiempo compartido
(CTSS) fue creado en el M.I.T. en una 7094 especialmente modificada (Corbato et al,. 1962), el tiempo
compartido no se popularizo realmente hasta que se generalizo el uso del hardware de protección necesario
durante la tercera generación.
7.−
Después del éxito del sistema ctss, MIT, Bell Labs y general Electric (por ese entonces un fabricante
importante de computadoras) decidieron emprender el desarrollo de un servicio de computadora, una maquina
que diera apoyo a cientos de usuarios de tiempo compartido simultáneos. Su modelo fue el sistema de
distribución de electricidad, cuando usted necesita potencia eléctrica, simplemente enchufa una clavija en la
pared y, dentro de limites razonables, obtendrá tanta electricidad como necesite. Los diseñadores de este
sistema, llamado MULTICS (servicio de información y computación multiplexado), contemplaban una
enorme maquina que proporcionara potencia de computo a todos los usuarios de Boston. La idea de que
maquinas mucho más potentes que su GE−645 se vendieran como computadoras personales por unos cuantos
miles de dólares solo 30 años después no era sino ciencia−ficción en ese entonces.
Para resumir un poco la historia, MULTICS introdujo muchas ideas seminales en la literatura de
computación, pero su construcción fue mucho más difícil de lo que nadie había imaginado. Bell Labs
abandono el proyecto, y general Electric dejo el negocio de las computadoras por completo.
4
Finalmente, multics funciono lo bastante bien como para usarse en un entorno de producción de MIT y en
docenas de otros sitios, pero el concepto de un servicio de computadora se hizo obsoleto al desplomarse los
precios de las computadoras. NO obstante, multics tuvo una influencia enorme sobre los sistemas
subsecuentes, se le describe en (Corbato et al., 1972, corbato y Vyssotsky, 1965, Daley y dennis, 1968,
Organick, 1972, Saltzer, 1974).
Otro avance importante durante la tercera generación fue el crecimiento fenomenal de las minicomputadoras,
comenzando con la DECPDP−1 en 1961. La PDP−1 solo tenia 4k de palabras de 18 bits, pero a $120.000 por
maquina (menos del 5%del precio de una 7094), se vendieron como pan caliente: Para ciertos tipos de trabajos
no numéricos, la PDP −1 era casi tan rápida como la 7094, e hizo nacer una industria totalmente nueva. A esta
maquina pronto siguió una serie de otras PDP (todas incompatibles, a diferencia de la familia IBM),
culminando en la PDP−11.
8.−
Uno de los computólogos de Bell Labs que había trabajado en el proyecto Multics, ken Thompson, encontró
subsecuentemente una pequeña minicomputadora PDP−7 que nadie estaba usando y se propuso escribir una
versión de multics reducida al mínimo, para un solo usuario. Este trabajo posteriormente evolucionó para
convertirse en el sistema operativo UNIX, que se popularizó en el mundo académico, las dependencias del
gobierno y muchas compañías.
La historia de UNIX se encuentra en otras obras (por ejemplo, Salus, 1994). Baste con decir que, dado que
casi todo el mundo podia obtener el cogido fuente, diversas organizaciones desarrollaron sus propias
versiones (incompatibles), lo que condujo al caos. Con el objeto de que fuera posible escribir programas
susceptibles de ejecución en cualquier sistema UNIX, el IEEE creo un estándar para UNIX, llamado POSIX,
que casi todas las versiones actuales de UNIX reconocen. POSIX define una interfaz mínima de llamadas de
sistema que los sistemas NIX deben reconocer. De hecho, algunos otros sistemas de programación ya
reconocen la interfaz POSIX.
¿Que es un sistema operativo?
La mayoría de los usuarios de computadora han tenia algo de experiencia con un sistema operativo, pero es
fácil precisar con exactitud que es un sistema operativo. Parte del problema consiste en que el sistema
operativo realiza dos funciones que básicamente no están relacionadas entre sí y dependiendo de que a quien
preguntemos, Por lo general se nos habla principalmente de una función o de la otra. Veamos ahora las dos.
• El sistema operativo como máquina extendida.
• El sistema operativo como administrador de recursos.
1 .− El sistema operativo como maquina extendida:
La arquitectura (conjunto de instrucciones, Organización de memoria, E/S y estructura de buses) de la mayor
parte de las computadoras en el nivel de lenguaje de maquina es primitiva y difícil de programar, sobre todo la
entra y salida. A fin de hacer mas concreto este punto, veamos brevemente como se realiza la E/S de disco
flexible usando el chip
9.−
controlador NECPD765 (o su equivalente), Utilizando por la mayor parte de las computadoras personales. El
PD765 tiene 16 comandos, cada uno de los cuales se especificaba cargando entre 1 y 9 bytes en u registro de
dispositivo. Estos comandos sirven para leer y escribir datos, mover el brazo del disco y formatear pistas, así
5
como para inicializar, detectar, restablecer y recalibrar el controlador y las unidades de disco.
Los comandos más básicos son Read y Write, cada uno de los cuales requieren 13 parámetros empacados en
9 bytes. Estos parámetros especifican cosas tales como la dirección del bloque de disco que se va a leer, el
número de sectores por pista, el modo de grabación empleado en el medio físico, el espaciado de la brecha
entre sectores y que hacer con una marca de Dirección de datos eliminada . Si usted no entiende a que nos
referimos, no se preocupe, de eso se trata precisamente, es algo muy esotérico. Cuando se completa la
operación, el chip controlador devuelve 23 campos de estado y error empacados en 7 bytes. Por si esto no
fuera suficiente, el programador del disco flexible también debe tener presente en todo momento si el motor
esta encendido o apagado. Si el motor esta apagado, debe encenderse (con un retardo de arranque largo) antes
de que pueda leerse o escribirse datos. Empero, el motor no puede dejarse encendido demasiado tiempo, pues
el disco flexible se desgastaría. Por lo tanto, el programador debe encontrara un equilibrio entre los retardos
de arranque largos y el desgaste del disco flexibles (Y la perdida de los datos que contienen).
Sin entrar en los verdaderos detalles, debe quedar claro que el programador ordinario seguramente no quiere
intervenir de manera demasiado intima en la programación de los discos flexibles (o de los duros, que son
igualmente complejos, y muy distintos). En vez de ello lo que el programador quiere es manejar una
abstracción sencilla, de alto nivel. En el caso de los discos, una abstracción típica seria que el disco contiene
una colección de archivos con nombre. Cada archivo puede abrirse para lectura o escritura, y por ultimo
cerrarse. Los detalles de si la grabación debe usar o no modulación de frecuencia modificada y cual es la
situación actual del motor no deberán aparecer e la abstracción presentada al usuario.
El programa que oculta la verdad del hardware y presenta al programador una vista sencilla y bonita de
archivos con nombre que pueden leerse y escribirse es, por supuesto, el sistema operativo. Así como él
10.−
Sistema operativo aísla al programador del hardware del disco y presenta una interfaz sencilla orientada a
archivos, también oculta asuntos desagradables referentes a interrupciones, temporizadores de memoria y
otras funciones de bajo nivel. En cada caso, la abstracción que el sistema operativo ofrece es más sencilla y
fácil de usar que el hardware subyacente.
En esta vista, la función del sistema operativo es presente al usuario el equivalente de una maquina extendida
o maquina virtual que es más fácil de programar que el hardware subyacente. La forma en que el sistema
operativo logra este objetivo es una historia larga.
2 .− El sistema operativo como administrador de recursos:
El concepto del sistema operativo como algo cuya función primordial es ofrecer a los usuarios una interfaz
cómoda es una visión descendente. Una visión ascendente alternativa postula que el sistema operativo esta ahí
para administrar todos los componentes de un sistema complejo. Las computadoras modernas constan de
procesadores, memorias, temporizadores, discos, ratones, interfaces con redes, impresoras láser y una gran
variedad de otros dispositivos. En la visión alternativa, la misión del sistema operativo es asegurar un reparto
ordenado y controlado de los procesadores, memorias y dispositivos de E/S entre los diferentes programas que
compiten por ellos.
Imagine lo que sucedería si tres programas que se ejecutan en alguna computadora tratan de imprimir sus
salidas simultáneamente en la misma impresora. Las primeras líneas del listado podrían ser del programa 1, as
siguientes del programa 2, luego algunas del programa 3, y así sucesivamente. El resultado seria un caos. EL
sistema operativo puede poner orden en el caos potencial almacenado temporalmente en el disco todas las
salidas destinadas para la impresora. Cuando un programa haya terminado, el sistema operativo podrá copiar
su salida del archivo de disco donde se almaceno a la impresora, mientras que el otro programa puede
6
continuar generando salidas, ajeno al hecho de que dichas salidas no están yendo directamente a la impresora
(todavía).
Cuando una computadora (o red) tiene múltiples usuarios, l necesidad de administrar y proteger la memoria,
los dispositivos de E/S y demás recursos es aun mayor, ya que de otra manea los usuarios podrían
11.−
Interferirse. Además, es frecuente que los usuarios tengan que compartir no sólo hardware, sino también
información (archivos, bases de datos, etc.). En pocas palabras, esta visión del sistema operativo sostiene que
su tarea primordial es seguir la pista de quien esta usando cual recurso, atender solicitudes de recursos,
contabilizar la utilización y mediar entre solicitudes en conflicto provenientes de deferentes programas y
usuarios.
Cómo funciona un Sistema Operativo
Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la
interpretación de los comandos que permiten al usuario comunicarse con el ordenador. Algunos
intérpretes de instrucciones están basados en texto y exigen que las instrucciones sean tecleadas. Otros
están basados en gráficos, y permiten al usuario comunicarse señalando y haciendo clic en un icono.
Por lo general, los intérpretes basados en gráficos son más sencillos, pero muchos usuarios expertos
prefieren los intérpretes de instrucciones basados en texto porque son más potentes.
Los sistemas operativos pueden ser de tarea única o multitarea. Los sistemas operativos de tarea única, más
primitivos, sólo pueden manejar un proceso en cada momento. Por ejemplo, cuando la computadora está
imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se
termine la impresión.
Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos simultáneamente.
En la mayoría de los ordenadores sólo hay una UCP; un sistema operativo multitarea crea la ilusión de que
varios procesos se ejecutan simultáneamente en la UCP. El mecanismo que se emplea más a menudo para
lograr esta ilusión es la multitarea por segmentación de tiempos, en la que cada proceso se ejecuta
individualmente durante un periodo de tiempo determinado
• Listados de los diferentes Sistemas operativos
Los sistemas operativos empleados normalmente son UNIX, Macintosh OS, MS−DOS, OS/2 y
Windows−NT. El UNIX y sus clones permiten múltiples tareas y múltiples usuarios. Su sistema de archivos
proporciona un método sencillo de organizar archivos y permite la
12.−
protección de archivos. Sin embargo, las instrucciones del UNIX no son intuitivas. Otros sistemas operativos
multi usuario y multitarea son OS/2, desarrollado inicialmente por Microsoft Corporation e International
Business Machines (IBM) y Windows−NT, desarrollado por Microsoft. El sistema operativo multitarea de las
computadoras Apple se denomina Macintosh OS. El DOS y su sucesor, el MS−DOS, son sistemas operativos
populares entre los usuarios de computadoras personales. Sólo permiten un usuario y una tarea. OS/2.
Desarrollado inicialmente por Microsoft Corporation e International Business Machines (IBM), después de
que Intel introdujera al mercado su procesador 80286. Pero la sociedad no duro mucho ya que IBM veía a
Windows como una amenaza para el SO/2. Macintosh OS. El sistema operativo constituye la interfaz entre las
aplicaciones y el hardware del Macintosh. El administrador de memoria obtiene y libera memoria en forma
automática para las aplicaciones y el sistema operativo. Esta memoria se encuentra normalmente en un área
7
llamada cúmulo. El código de procedimientos de una aplicación también ocupa espacio en el cúmulo. Ahora
se presenta una lista de los principales componentes del sistema operativo.
Diferentes Versiones de Windows 95 y 98
• 98 − 1era edición
• 98 − 2da edición
Análisis Comparativo entre DOS y WINDOWS
Microsoft Windows, un entorno multitarea dotado de una interfaz gráfica de usuario, que se ejecuta en
computadoras diseñadas para MS−DOS. Windows proporciona una interfaz estándar basada en menús
desplegables, ventanas en pantalla y un dispositivo señalador como el Mouse (ratón). Los programas deben
estar especialmente diseñados para aprovechar estas características.
MS−DOS, acrónimo de Microsoft Disk Operating System (sistema operativo de disco de Microsoft). Como
otros sistemas operativos, el sistema MS−DOS supervisa las operaciones de entrada y salida del disco y
controla el adaptador de vídeo, el teclado y muchas funciones internas relacionadas con la ejecución de
programas y el mantenimiento de archivos. El MS−DOS es un sistema operativo mono tarea y mono usuario
con una interfaz de línea de comandos
13.−
UNIX
La primera descripción del sistema operativo UNIX data del año 1969, y corresponde a la formulación de
Thomson y Dennis Ritchie, trabajadores entonces de la compañía americana AT&T. En 1973 apareció la
primera versión de UNIX totalmente programada en C.
El sistema operativo UNIX era en principio gratuito pero, en 1982, Bell Laboratories lanzó al mercado la
versión comercial UNIX System III. Poco después aparece el UNIX System IV, que representa la base del
actual sistema standard de UNIX, que es el UNIX System V. Existen varias distribuciones del UNIX System
V:
• UNIX SVR1, que incorpora el editor VI y la primera edición de la librería Curses;
• UNIX SVR2 presenta el sistema de archivo;
• SVR2.1 incluye la paginación bajo demanda;
• SVR3 sale al mercado en 1987, y presenta como novedad más destacable el manejo de redes.
• Por último, el UNIX SVR4 unifica los criterios de implementación de los sistemas anteriores.
Existen otras variantes de UNIX, entre las que destaca el UNIX BSD (Berkeley Software Distribution),
diseñado en Berkeley, que incluye el editor de comandos C−Shell, algunos editores de texto nuevos y un
compilador de Pascal.
Jay y Halley Pusictes incorporaron al sistema UNIX soporte para redes en el año 1984. Jay es fundador de
Sun Microsystems, compañía que añade a los estándares UNIX el NFS (Network File System).
Otros sistemas UNIX son el UnixWare (Novell), SunOS y Solaris (Sun MicroSystems), Aix (IBM), Digital
UNIX (Digital), HP−UX (Hewlett Packard), Xenix (Microsoft), SCO−UNIX (Santa Cruz Operations) y, por
último, Linux, versión de UNIX de libre distribución creada gracias al esfuerzo de multitud d usuarios y
programadores sin ánimo de lucro.
8
14.−
ARQUTITECTURA GENERAL DE UNIX
El sistema UNIX está basado en tres niveles:
• Nivel USUARIO
• Nivel KERNEL
• Nivel HARDWARE
9
10
Nivel KERNEL
15.−
El kernel tiene una interfaz con los programas de usuario, teniendo las llamadas al sistema apariencia de
funciones C, distinguiéndose dos tipos:
• Llamadas al sistema de ficheros
• Llamadas al control de procesos
Funciones del kernel
El kernel:
• Controla la ejecución de procesos;
11
• Planifica la CPU en tiempo compartido;
• Asigna memoria a los procesos;
• Asigna memoria en disco;
• Permite a los procesos el acceso a dispositivos.
La ejecución de un proceso en UNIX se divide en dos niveles: nivel usuario y nivel kernel. Cuando se produce
una llamada al sistema se pasa del modo usuario al modo kernel. Éste analiza la llamada, la ejecuta y devuelve
el control a modo usuario. Esta diferenciación de modo se produce porque los procesos en modo usuario
pueden acceder a sus instrucciones y datos, pero no a instrucciones y datos del kernel o de otros usuarios;
mientras que el modo kernel puede acceder a todos los datos e instrucciones del sistema. Hay instrucciones
privilegiadas a las que sólo se puede acceder en modo kernel, el cual reside permanentemente en memoria.
El buffer cache
Introducción
El buffer cache consiste en un conjunto de buffers internos de datos manejados por el kernel con el
objetivo de minimizar la frecuencia de acceso a disco.
Estos buffers contienen bloques de datos de disco utilizados recientemente. Cuando el kernel quiere leer
el disco, se comprueba
16.−
Primeramente si los datos requeridos están en el buffer cache: si están, no es necesario el acceso a disco;
si no es así no hay más remedio que acudir al disco.
Si la operación a realizar es de escritura en disco, el kernel no la realiza directamente, sino que lo hace
sobre el buffer, quedando los datos almacenados allí para posteriores lecturas.
El espacio ocupado por el buffer cache es configurable en la inicialización del sistema, reservándose un
cierto número de buffers. Cada buffer contiene los datos que se corresponden con un bloque de disco:
es una copia en memoria del bloque de disco. Asimismo, ningún bloque puede estar en más de un
buffer; es decir, un bloque de disco no podrá tener más de un bloque de memoria.
Estructura
El buffer cache está formado por una serie de buffers organizados. Hay una lista de buffers libres (`free
list'), y una serie de colas (hash) para facilitar el acceso a los buffers sin recorrerlos todos.
Cada buffer está constituido por una cabecera y un área de datos, que es un array de memoria donde se
almacenan los datos de disco contenidos en el buffer.
La distribución del buffer queda como sigue:
# dispositivo
# bloque
Status
Puntero al área de datos
Puntero siguiente en la cola Hash
Puntero anterior en la cola Hash
12
Puntero siguiente en la free list
Puntero anterior en la free list
17.−
• Los dos primeros campos (número de dispositivo y de bloque) se utilizan como identificativo del
buffer.
• El campo status incluye varios campos que indican el estado actual del buffer:
• Si está libre u ocupado (utilizado por un proceso);
• Si los contenidos son válidos o no,
• Si el buffer es de escritura retardada;
• Si se produce una lectura o escritura;
• Si hay procesos en espera para utilizar el buffer.
La asignación de estos campos se hace con un LRU de bloques de disco al buffer.
• Memoria donde están los datos del bloque del disco.
• Los punteros 2º y 3º apuntan al buffer posterior y anterior en la cola hash.
• Los punteros 4º y 5º indican los buffers posterior y anterior en la free list.
En el buffer cache se distinguen dos estructuras de datos:
• Free List (única): es una lista circular doblemente enlazada, siendo los elementos de esta lista
buffer headers. Tiene un buffer especial al principio de la lista, usado para marcar el principio
y el final de la lista.
Mediante el uso de la lista con un LRU se realiza la asignación de los buffers a los bloques. Cuando se
asigna un buffer a un bloque de disco no se puede volver a asignar sin que se hayan asignado todos los
componentes de la lista antes. Si se realiza
18.−
la asignación de un buffer de disco se asignará aquel que encabece la lista. Si se libera un buffer
asignado a bloque, el buffer liberado se colocará al final de la free list. Con este sistema se mantiene el
13
algoritmo LRU automáticamente.
• Colas Hash (múltiples). Son una serie de colas circulares doblemente enlazadas, con un buffer
especial que indica principio y final de la cola. La diferencia con la free list radica en que la cola
hash está organizada en una tabla hash según el número de bloque y el número de dispositivo
lógico, siendo así más rápida la búsqueda.
Los datos que se corresponden con los datos de disco sólo pueden estar en una de las colas hash.
Un buffer puede estar a la vez en una de las colas hash y en la free list. En caso de que este buffer no se
encuentre ocupado por un proceso, la lista de bloques se organiza a partir de la estructura de colas
hash.
Suponiendo que los buffers 64, 17, 98 y 50 están ocupados, la free list quedaría como sigue:
14
15
19.−
Funcionamiento
Son necesarios cuatro algoritmos.
• Asignación de un bloque de disco a un buffer (Get Block):
Recibe como entrada el número de dispositivo y de bloque.
• Encuentra el bloque y está libre: se marca como ocupado, se quita de la free lista. Ya está en su
cola hash.
• No se encuentra en su cola hash: se asigna el primer bloque de la free list, se marca como
ocupado y se coloca en la cola correspondiente.
• No se encuentra en la cola hash y se le asigna uno de escritura retardada: lo marca como
ocupado, realiza una escritura asíncrona en disco e inicia la búsqueda de un nuevo bloque.
• No se encuentra en su cola hash y la lista de bloques libres está vacía: el proceso ha de esperar y
se va a dormir. Cuando el algoritmo de liberación actúa despierta a los procesos dormidos.
• El bloque está ocupado: el proceso ha de esperar hasta que se libere.
• Algoritmo de liberación de buffer:
Libera el buffer, colocándolo como libre y situándolo al final de la lista de libres, no volviendo a ser
utilizado hasta que sean utilizados todos los demás integrantes de la free list que lo preceden.
Se ha de avisar a los procesos en espera de que se libera ese buffer, o de que otro buffer ha sido
liberado.
• Algoritmo de lectura de un bloque:
• Busca el buffer en el buffer cache por medio del algoritmo obtener bloque, que marcará el
buffer como ocupado.
• Si está en el buffer cache, se devuelve el contenido, no se precisa la lectura en disco.
20.−
• En caso contrario, se llama al driver del disco para que solicite una lectura.
• El driver calcula la dirección y llama al controlador del disco.
• Cuando se termina la lectura, el controlador provocará una interrupción y el servicio de
interrupciones avisa a los procesos en espera de que ese buffer ha quedado libre.
• Libera el buffer.
• Algoritmo de escritura en disco
16
Es similar a la lectura de un bloque. Existen dos tipos de escritura:
• Síncrona: el proceso realiza la operación de forma síncrona, esto es, espera a que se termine la
operación de escritura en disco para liberar el buffer.
• Asíncrona: el proceso no espera a que se termine la escritura. Cuando se termina la E/S se
produce una interrupción, y es el servicio de interrupciones el que se encarga de liberar el
buffer.
Ventajas y desventajas del buffer cache
Ventajas:
• El acceso a disco es más uniforme, pues se hace siempre a través del buffer cache. Esto provoca
un código más modular.
• Aumenta la velocidad del disco.
• Aumenta la integridad, ya que un bloque no puede estar en dos buffers.
Desventajas:
• Sistema sensible a cortes de electricidad.
• Para grandes cantidades de datos, puede hacer lento el acceso a disco.
21.−
Sistema de ficheros
Para analizar el sistema de ficheros, debemos tener en cuenta dos puntos de vista: el del usuario y el del
kernel.
Usuario
• Ve una estructura jerárquica que permite crear, borrar y modificar ficheros y directorios.
• Permite un crecimiento dinámico de los ficheros.
• Protege los datos de los ficheros.
• Trata los periféricos como ficheros: los permisos de lectura o escritura en un periférico son
iguales a los de cualquier otro fichero.
• Tanto los ficheros como los directorios son una sucesión de bytes.
• Cada uno de ellos está representado por un i−node, que tiene información acerca del fichero o
directorio. Cada fichero tiene un único i−node, aunque puede tener varios nombres. Cada uno
de esos nombres es un link.
• El UNIX maneja tres estructuras: tabla de i−nodes, tabla de ficheros y tabla de escritores de
ficheros de usuario.
17
Esta última tabla tiene una entrada para cada usuario que abre un fichero. Además tiene información
de otras tablas, como son una tabla particular para cada proceso (tabla de ficheros), e información de
otras tablas (una por sistema de ficheros). Esta tabla contiene el descriptor de fichero, que es el número
que se emplea como índice para acceder a l tabla de descriptores de fichero, y un puntero a donde está
el fichero en la tabla de ficheros.
22.−
I−nodes
La implementación de ficheros utiliza una técnica de índices con múltiples niveles. Cada fichero tiene
asociado un índice llamado i−node (index node).
En disco, un sistema de ficheros UNIX tiene el siguiente aspecto:
Boot Block
Super Block
I−node List Blocks
• Boot Block: Contiene el código para inicializar el UNIX. Todo sistema de ficheros tiene boot block,
aunque no sea estrictamente necesario.
• Super Block: Indica el estado y configuración general del bloque de fichero: tamaño, bloques libres.
• I−node list blocks: Serie de bloques donde están de forma contigua en el disco los i−nodes de todos
los ficheros. Cuando se habla de i−node list nos referimos a un array en disco donde cada elemento es
un i−node de un fichero.
• Data blocks: Bloques de datos de los ficheros.
Conviene diferenciar la unidad física o disco, que puede tener uno o más sistemas de ficheros, cada uno con
esta misma estructura.
Cada sistema de ficheros se denomina dispositivo lógico, mientras que el disco es el dispositivo de
almacenamiento físico. El kernel es el encargado de asignar un número a cada dispositivo lógico o
sistema de ficheros. El encargado de traducir las direcciones del dispositivo lógico al físico es el
controlador de E/S (device driver).
23.−
Campos por i−node en la lista de i−nodes del disco
18
• Propietario identifica al propietario del fichero asociado a ese i−node, distinguiendo entre individual y
el grupo.
• En el campo Permisos se expresan las posibilidades de operación según sea el propietario, un usuario
de su mismo grupo o un usuario cualquiera del sistema quien intente la operación. Los permisos son
de lectura (Read), escritura (Write) y ejecución (eXecute).
24.−
• Tipo de fichero indica información sobre el tipo especial de fichero, siendo algunos ejemplos:
• (−): fichero regular;
• (d): directorio;
• (b): dispositivo de bloque;
• (c): dispositivo de carácter;
• (ø): i−node libre.
• El campo Tiempos de fichero tiene varios subcampos:
• Última modificación del fichero;
• Último acceso al fichero;
19
• Última modificación del i−node causada, además de por un cambio en los datos del fichero, por un
cambio en los propietarios, permisos o links, sin necesidad de cambiar los datos del fichero.
• El campo Número de links expresa el número de nombres del fichero dentro de la jerarquía.
• Tamaño del fichero muestra el tamaño del fichero en Bytes.
• El campo Tabla de contenidos almacena punteros a diversos bloques de datos. Por ejemplo, en UNIX
System V la tabla de contenidos consta de 10 punteros directos a bloques de datos, un puntero
indirecto, otro doble y otro triple. El número de punteros directos no es standard.
| El kernel mantiene en memoria una tabla de i−nodes con la siguiente información:
25.−
• El campo Status indica posibles estados del i−node:
• Si el i−node está ocupado.
• Si hay un proceso en espera de que el i−node quede libre.
• Si el contenido del i−node en memoria es distinto del i−node del disco.
• Si el contenido del fichero en el disco es distinto del contenido del fichero en memoria.
• Si el i−node es un punto de montaje; es decir, si del i−node se haya `colgado' otro sistema de ficheros.
• El cuarto campo contiene los punteros necesarios para mantener la estructura de los i−nodes en
memoria, que es similar a la del buffer cache: existen una serie de colas hash identificadas por el
número del i−node y el número de dispositivo lógico, junto con una lista de i−nodes libres.
• Cuenta de referencia indica el número de ficheros abiertos para ese i−node; es decir, el número de
copias abiertas mediante una llamada de tipo `open' que están en unos, no cerradas por una llamada
`close'.
26.−
Un i−node estará en la lista de libres si el indicador de cuenta de referencia está a cero. Cuando se abre un
fichero, si el fichero está activo se incrementa la cuenta; si se cierra, ésta se decrementa, y si vale 0 se pasa el
20
i−node a la lista de libres.
Algoritmos para la gestión de i−nodes
Mecanismo general de operación con i−nodes
Cuando se requiere el acceso a los datos de un fichero, primero se determina el número de dispositivo lógico y
el número de i−node, a continuación se busca el i−node en la tabla hash correspondiente. Si está en la tabla se
devuelve el i−node, si no es así se toma un i−node libre y luego se lee el i−node del disco; es decir, se pasa de
la lista de i−nodes a la tabla de i−nodes.
I−Get
Toma un i−node de la tabla de i−nodes.
• Se parte del número de dispositivo lógico y del número del i−node.
• Si está en la cola hash es directo, sólo ha de devolver el i−node.
27.−
• Si no está en la cola hash, opera como sigue:
• Toma el primer i−node de la lista de libres.
• Lo marca como ocupado, ya que hay un proceso que accede al i−node.
• Pasa los datos del i−node de disco (lista de i−nodes) al i−node en memoria (tabla de i−nodes).
• Calcula, a partir del número de i−node en la tabla, el número de bloque en que se encuentra l
i−node, aplicando la fórmula:
Nº BLOQUE = ((Nº Inode − 1) DIV (Nº inodes por bloque)) + Nº del bloque del primer bloque de la lista
de inodes
Por ejemplo: Nº del 1er bloque de la lista = 2; 8 inodes/bloque
Inode 8: ((8 − 1) DIV 8) + 2 = 2
Inode 9: ((9 − 1) DIV 8) + 2 = 3
21
• A partir del número de dispositivo y del número de bloque lee el bloque.
• Lee el contenido del i−node en el bloque. Para calcular la posición del i−node en el bloque se calcula el
offset dentro de ese bloque de la siguiente forma:
Offset (inode) = ((Nº Inode − 1) MOD (Nº inodes por bloque)) %
% Tamaño (Bytes) del inode en disco
Siguiendo con el ejemplo anterior: Bloque 512 Bytes
512 / 8 64 Bytes / Inode
Offset 8: ((8 − 1) MOD 8) % 64 = 448 Bytes
28.−
• Retiene el i−node de la lista de libres.
• Copia el contenido en la cola hash correspondiente.
• Sitúa el i−node en la cola hash correspondiente.
• Incrementa la cuenta de referencia.
• El kernel le quita la marca de ocupado; es decir, lo deja libre, pero no pasa a la lista de libres porque su
cuenta de referencia es distinta de 0.
En el caso de que la lista de libres esté vacía, se provoca un error si se requiere un i−node y hay demasiados
ficheros abiertos.
I−put
Libera un i−node de la tabla de i−nodes.
• Decrementa la cuenta de referencia debido a una llamada close.
• Si la cuenta de referencia es Ø, entonces pasa a disco el i−node si es necesario; esto es, si ha sido
modificado.
• Se pasa el i−node a la lista de libres.
• En el caso de que el número de links (nombres de ese fichero en el sistema de ficheros) sea Ø se libera todo
el espacio; es decir, se liberan los bloques de disco asociados a ese fichero y se libera el i−node en disco.
29.−
Estructura y acceso a los ficheros regulares
En un i−node se encuentran las direcciones de bloque de disco que ocupa el fichero al que pertenece el
i−node. En UNIX System V estas direcciones son 13 (punteros).
Según la tabla de contenidos, y dependiendo del tamaño de los bloques, variará el posible tamaño de los
ficheros a manejar.
Por ejemplo, con bloques de 1K resultan los siguientes tamaños de ficheros, según se utilicen los índices
directos, indirectos, indirectos dobles o indirectos triples:
Directos 10 K
Indirectos 256 K
22
Indirectos dobles 644 MB
Indirectos triples 166 GB
Ficheros directorios
Son, al igual que en MS−DOS, ficheros con información para construir la estructura jerárquica del
sistema de ficheros. Esta estructura consiste en un array de entradas de tamaño constante de tal forma
que cada entrada tiene la siguiente forma:
En UNIX System V, el tamaño del campo Nº I−node es de 2 Bytes, y el tamaño del nombre es de 14
Bytes. Los directorios son tratados por los procesos igual que los ficheros, con la salvedad de que
cuando se crea una entrada de este tipo la realiza el kernel.
30.−
Permisos de acceso
• Lectura (R): Permite leer el contenido del fichero directorio;
• Escritura (W): permite escribir en el directorio, lo que supone crear y borrar archivos del
directorio.
• Ejecución (X): Permite la búsqueda de ficheros dentro del directorio (entrar en el directorio).
Al igual que en MS−DOS, existen las entradas y en cada directorio:
• Contiene el número de i−node de ese directorio.
• Contiene el número de i−node del directorio padre.
Super−Bloque
En el super−boque se halla almacenada la configuración general del sistema. Contiene la siguiente
información:
23
31.−
Lista de bloques libres:
No es una lista completa, sino que sólo contiene alguno de los bloques libres, que se encadenan con el resto de
bloques libres del disco. El número de i−nodes libres se refiere al número de i−nodes no asignados a ningún
fichero dentro de la lista de i−nodes. En la lista de i−nodes libres sólo están algunos de los i−nodes libres de la
lista de i−nodes.
Ocupado / No ocupado:
Contiene dos flags indicadores del estado de las listas y bloques de i−nodes. Los estados dependen de sí están
ocupados por un proceso o no.
24
El último flag expresa si el super−bloque ha sido modificado. Su presencia viene dada por la existencia
de una doble copia del super−bloque: una en disco y otra en memoria. El flag indica la necesidad de
actualizar la copia del super−bloque en disco si éste se modifica.
32.−
Sistema operativo MS−DOS (Microsoft Disk Operating System)
Fue desarrollado sobre 1980 por Paul Allen y Bill Gates.
Existen otras versiones de DOS de otras compañías como PC−DOS de IBM o DR−DOS de Digital Research.
En el DOS existen dos tipos de comandos:
• Internos: Que entiende directamente del intérprete de comandos (dir, del, type, copy)
• Externos: utilidades a parte (format, msav)
El DOS se compone de tres ficheros principales:
• IO.SYS
• MSDOS.SYS
• COMMAND.COM
Los dos primeros son el núcleo del Sistema Operativo al arrancar el ordenador se copian en memoria y pasan
a controlar la computadora. El Command.com es el intérprete de comandos, cuando el usuario teclea un
comando, si este es interno lo ejecuta directamente, si es externo ejecuta ese otro programa cambiando el
contador de programa para que apunte a ese nuevo programa.
Dentro del DOS distinguimos:
· Directorios.
· Ficheros.
Sistemas de ficheros en MS−DOS:
Tres niveles:
• Nivel Hardware: es el nivel de los dispositivos que manejan el disco (FDC Floppy Disk Controller),
mediante este dispositivo se accede al disco pudiéndose formatear una pista, leer un sector, fusionarse sobre
una pista etc. Proporciona una serie de comandos para operar con Fidel disco.
33.−
• Nivel de implementación: trata de como el MS−DOS crea la estructura de ficheros sobre los sectores del
disco.
• Nivel lógico: trata de como el MS−DOS maneja los ficheros por medio del (FCB Fail Control Block) y del
Handless (identificadores).
25
El contenido del disco o volumen está organizado de la siguiente forma:
• Bootsector: Es el sector lógico 0 conocido como sector de arranque, contiene toda la información
crítica que concierne a las características del disco como medio de almacenamiento.
• Estructura: El primer Byte de ese sector es siempre una instrucción de salto 8086, bien una JMP
normal (código de operación OE9H) seguida por un desplazamiento de 16 bits o bien un salto corto
OEBH seguido por un desplazamiento de 8 bits y un NOP (no operación 9OH) si lo se encuentra
alguno de estos códigos de JMP es señal de que el disco no ha sido formateado para uso bajo
MS−DOS, a continuación de la instrucción inicial JMP encontramos un campo de 8 bytes reservado
por Microsoft para identificación del fabricante.
• Objetivo: El objetivo del sistema operativo es gestionar y administrar eficientemente los recursos
hardware de la computadora, permitiendo ejecutar concurrentemente varios programas sin que haya
conflictos en el acceso de cada uno de ellos a cada uno de los recursos que necesita y sin que ningún
programa monopolice un recurso determinado.
• Definición: Es un programa o conjunto de programas de control que tiene por objeto facilitar el uso
de la computadora y conseguir que esta se ejecute eficientemente.
Es un programa de control ya que se encarga de gestionar y asignar los recursos hardware a los usuarios,
entendiendo por recursos hardware: la C.P.U., la memoria principal, discos y otros periféricos.
34.−
El Sistema Operativo también facilita el uso del ordenador, cada dispositivo de E/S para ser utilizado requiere
varias instrucciones maquina que establezcan un diálogo entre la computadora central y el periférico, estas
instrucciones dependen considerablemente de las características concretas del periférico y por otra parte estas
instrucciones y operaciones son comunes para todos los programas que lo utilizan.
El Sistema Operativo con objeto de facilitar el trabajo de los ordenadores contiene rutinas y modelos de
gestión de E/S evitando a los programadores y usuarios conocer las instrucciones de la máquina concreta de
cada periférico.
Servicios de Sistema Operativo:
Servicios para facilitar la programación: ejecutar programas, operaciones E/S, manipulación del sistema de
ficheros, detectar errores
Servicios para hacer eficiente el uso del computador: Asignar recursos, llevar contabilidades, protección, dar
información
Protección:
• Protección de E/S.
• Protección de memoria.
• Protección de la C.P.U.
Protección de E/S: el Sistema Operativo no permite a los programas que accedan directamente a la E/S, así
podemos distinguir dos tipos de actuación:
El modo usuario y el modo supervisor que permite el acceso a una serie de acciones privilegiadas.
26
Protección de memoria: Se crea una zona límite en la memoria a partir de la cual están las aplicaciones de los
usuarios y no se permite el acceso a la zona que ocupa el Sistema Operativo así mismo se crea otro límite
superior para
no acceder a la zona ocupada por otros programas.
Protección de la C.P.U.: Se pone un contador de tiempo para que cada cierto tiempo la C.P.U. pase a ser
controlada por el Sistema Operativo para que este decida a que programa le da el control.
35.−
OS/2
Paradójicamente, OS/2 comenzó siendo un desarrollo conjunto de IBM y Microsoft, pero esta relación se
rompió cuando Microsoft lanzó Windows al mercado; se trataba de un paso intermedio hasta llegar al OS/2,
pero en vista del éxito que tuvo, decidieron modificar su estrategia en el mercado de los sistemas operativos y
basarla en su producto Windows. Por su parte, IBM continuó en solitario el desarrollo del OS/2, cuyas
primeras versiones no tuvieron éxito, principalmente debido a su exigencia de recursos y la falta de
aplicaciones nativas. Fue a partir de su versión 2.1 y, sobre todo, de la versión Warp 3.0, cuando OS/2
comenzó a hacerse con cierto renombre en el mercado. Recordemos que OS/2 es un sistema operativo gráfico
de 32 bits, multitarea, robusto y estable, dotado de un sistema de ficheros propio, el HPFS (High Performance
File System) que soporta nombres largos de fichero, caché de disco y acceso optimizado, y de grandes
posibilidades multimedia, entre otras cosas. Veamos lo que nos presenta la nueva versión Merlin.
El sistema se distribuye en la friolera de 4 CDs: OS/2 Warp, Device Driver Pak, Application Sampler y Lotus
Notes Mail, además de 3 disquetes de instalación. El proceso de instalación es sencillo, pero bastante largo,
pudiendo durar más de una hora (dependiendo de las opciones que se elijan) y ocupar más de 300 Mbytes de
espacio en disco si se instalan todos los componentes. Ahora OS/2 soporta la tecnología Plug'n'Play, y su
sistema de auto−detección del hardware es muy efectivo, aunque tiene algún que otro fallo: instalamos Merlin
en un P−133 con 16 Mb de RAM, disco IDE de 1 Gb y CD−ROM IDE Hitachi, y en un P−120 con 32 Mb de
RAM, dos discos duros de 1 Gb (uno de ellos SCSI), CD−ROM Mitsumi, tarjeta de sonido y adaptador de red
Ethernet NE2000 compatible. En el primer equipo todo fue bien, y en el segundo caso detectó sin problemas
la tarjeta de sonido, el CD y la tarjeta SCSI, pero no reconoció la tarjeta de red, ni la VGA ATI Wincharger
PCI, aunque curiosamente en la instalación avanzada la reconoció como SVGA ATI. En cualquier caso, es
recomendable elegir la opción de instalación avanzada, pues así podemos seleccionar los componentes más
novedosos y avanzados del sistema operativo, que de otra forma no serían instalados.
36.−
Hay que decir que el soporte hardware del sistema operativo es muy amplio, admitiendo unidades ópticas
SCSI−2, infrarrojos, PCMCIA y dispositivos especiales para los portátiles ThinkPad de IBM, como floppys
externos o Ultrabays.
El entorno
Al iniciar el sistema, obtenemos la pantalla principal del OS/2. El escritorio recuerda al de Windows 95, ya
que incorpora elementos similares a los de éste: por ejemplo, la trituradora o Shredder es un icono que sirve
para borrar elementos, simplemente arrastrándolos y soltándolos encima; aunque la mayor novedad es el
WarpCenter, una barra de tareas muy parecida a la de W95, aunque más completa: en ella tenemos, de
izquierda a derecha, un botón con el logotipo OS/2, que al pulsarlo nos da acceso al contenido del escritorio
(parecido al botón Inicio de W95). El siguiente icono nos muestra la lista de aplicaciones activas, pudiendo
conmutar a cualquiera de ellas con sólo pulsar el ratón.
27
Los dos siguientes botones permiten bloquear con una clave el sistema y buscar objetos, respectivamente, y un
icono adicional inicia el apagado del sistema.
A continuación sigue una barra que nos muestra la etiqueta del disco o discos duros, su sistema de ficheros
(FAT o HPFS), el espacio libre y ocupado del disco, un monitor de actividad del sistema y, en caso de hallarse
instalado soporte para APM, un indicador del estado de las baterías del equipo. Todo esto se obtiene en el
mismo botón, basta picar sobre él para ir cambiando las opciones.
Lo siguiente es un botón que da acceso a una serie de bandejas o trays, sobre las cuales podemos arrastrar y
soltar los objetos más utilizados, para poder acceder a ellos con una sola pulsación del ratón.
Otro botón disponible en el WarpCenter es el Assistance Center, desde el cual se nos da acceso a todo el
sistema de ayuda del OS/2: documentación, guías para corregir errores, tutoriales, y otra novedad: las
WarpGuides. Se trata de asistentes que guían al usuario en las tareas más comunes; suelen aparecer
automáticamente al realizar ciertas funciones, como instalar nuevos dispositivos, pero se las puede configurar
para que no lo hagan.
37.−
La última opción del WarpCenter es un reloj, calendario y cronómetro todo en la misma barra y conmutable,
al igual que el monitor de actividad anteriormente citado, mediante sucesivas pulsaciones del botón izquierdo
del ratón.
Por defecto, se instalan los siguientes grupos de programas: 'Connections', que da acceso a las unidades del
sistema y conexiones a red, a Web Sites y a impresoras (es similar a MiPC de Win95). 'Assistance Center',
que como hemos comentado cubre lo relacionado con ayudas, solución de problemas, etc. En 'Programs'
obtenemos las carpetas de los componentes instalados. 'OS/2 System' da acceso a la configuración del sistema,
los diferentes "prompts" de línea de comandos (tenemos para DOS en ventana o pantalla completa, sesión
Win−OS/2 en ventana o pantalla completa, y OS/2 en ventana o pantalla completa), herramientas para
problemas (debuggers, logs), etc.
Todo el escritorio de OS/2 Warp está orientado al objeto, eso significa que no sólo es posible, por ejemplo,
borrar ficheros o imprimirlos simplemente arrastrando y soltando su icono en el lugar adecuado, sino que cada
objeto tiene su menú contextual, accesible mediante el botón derecho del ratón (igual que en W95), que
contiene sus propiedades, pantallas de ayuda, y opciones para moverlo, dejarlo fijo en su lugar, borrarlo,
moverlo, o crear su correspondiente sombra o Shadow, que no es otra cosa que un acceso directo a ese objeto.
La ventana propiedades de los diferentes objetos de OS/2 recuerda a la de W95, pues también basa su
funcionamiento en pestañas, aunque éstas son de diferentes colores, dándole un aspecto menos serio. Cuando
no caben todas las pestañas, en los extremos izquierdo y derecho de la ventana aparecen sendos iconos que
nos permiten desplazarnos por ellas, y si en una pestaña hay más de una página, se nos informa del número de
páginas, pudiendo pasarlas con su botón correspondiente.
Compatibilidad hardware
OS/2 es la alternativa a Windows; ahora bien, ¿qué grado de compatibilidad puede ofrecer con el hardware y
el software existente? Pues, muy alto. A nivel de hardware, OS/2 es Plug'n'Play, y su nivel de detección es
muy bueno; además, el número de drivers para todo tipo de
38.−
dispositivos ha aumentado considerablemente. De hecho, uno de los CDs que se entregan con el sistema
28
operativo se llama Device Driver Pak, y es una inmensa recopilación de controladores para todo tipo de
dispositivos, unos corrientes como CD−ROMs, tarjetas de video, sonido, etc. Y otros no tan comunes, como
dispositivos de encriptación de datos, tabletas digitalizadoras, jukebox ópticos, laserdiscs, etc. Es curioso, y
sobre todo significativo, el hecho de que el contenido del CD está optimizado para ser visualizado con un
browser web; se incluye el IBM WebExplorer, pero sería posible usar otro. Hay que decir que, cuando no se
dispone de drivers para un dispositivo concreto, se incluye un link a la página web del fabricante del hardware
en cuestión; como puede verse, IBM ha intentado hacernos la vida mucho más fácil en esta nueva versión de
su sistema operativo.
Multimedia
OS/2 tiene muy presente el tema multimedia. Para empezar, incluye visualizadores, que se ejecutan
automáticamente al pinchar en el objeto correspondiente, de imágenes BMP, DIB, GIF, TIFF, JPG, PCX,
TGA y VID, de archivos de video AVI, y reproductores de audio WAV y MIDI. También, se incluye
reproductor de CDs de audio, una utilidad para editar ficheros AVI y el VideoIn Recorder, un programa para
captura y grabación de señales de video. Así mismo, disponemos de sonidos, gráficos BMP e imágenes JPG
de ejemplo; cabe destacar el hecho de que, al abrir una carpeta con este tipo de imágenes, sus
correspondientes iconos se convierten en representaciones en miniatura de la imagen real, simulando el
aspecto de diapositivas, muy útil para identificar rápidamente el contenido de dichos archivos.
Conectividad
IBM desea que su sistema operativo sea el cliente de red universal, permitiendo conectarse con servidores o a
redes entre iguales (también llamadas redes punto a punto). Así, soporta conexiones a servidores OS/2 Warp
Server, Novell Netware y Windows NT, y a redes entre iguales Lantastic, Windows para Trabajo en Grupo,
Windows 95 y Windows NT; también soporta IBM Lan Server, PC LAN y, como no, TCP/IP, pudiendo
compartir ficheros e impresoras con estaciones ejecutando estos sistemas.
39.−
En esta versión se han incluído también servicios de acceso remoto (RAS) para conexión a redes vía modem,
y los llamados Mobile Office Services, que permiten sincronizar los archivos de un ordenador portátil y otro
de sobremesa, similar al maletín de Windows 95. Resultará de gran utilidad a aquellos usuarios que trabajen
fuera con su portátil, y deseen actualizar la información de su ordenador de sobremesa.
Comunicaciones
Estrechamente relacionado con lo anterior, tenemos el componente de comunicaciones de OS/2. Aquí también
existe un gran compromiso con Internet, integrándose muy bien el entorno con la red.
Para empezar, la carpeta 'Connections' tiene un apartado, 'Web Sites' con carpetas URL, conteniendo
direcciones web de entretenimiento, educación, deportes, etc. Como ya se comentó con anterioridad, se
incluye el browser Web IBM WebExplorer; es posible situar sobre el escritorio iconos que representen las
direcciones más usadas, y hacer click sobre ellos para acceder directamente a las páginas Web. También
existe una carpeta FTP que permite interactuar con cualquier servidor FTP simplemente abriéndola y luego
arrastrar y soltar iconos del escritorio al servidor y al contrario, evitando usar líneas de comando o browsers.
Otra innovación del sistema operativo es el soporte nativo del lenguaje Java; esto significa que podemos
ejecutar directamente una aplicación o un applet Java, sin necesidad de interpretes ni browsers. Se incluye el
Java Developers Kit y los run−time necesarios para ejecutar aplicaciones; por tanto, tenemos ejemplos de
programas Java, editor, compilador y desensamblador de clases Java, y documentación en formato HTML
sobre el lenguaje. En definitiva, un buen tanto a favor de IBM.
29
Reconocimiento de voz
Veamos ahora la característica más novedosa y espectacular de Merlin: el reconocimiento de voz. Se trata del
sistema VoiceType de navegación y dictado por voz; simplemente con una tarjeta de sonido y un buen
micrófono, es posible moverse por el entorno del OS/2 y ejecutar
40.−
programas, dando órdenes vocales al sistema. Por ejemplo, decimos 'File' (la versión que hemos probado está
en inglés, pero IBM ya tiene a punto la versión en castellano) y se despliega el menú de archivos; si decimos
'close',
cerraremos la ventana, etc. Aunque IBM también comercializa VoiceType por separado (existe versión para
Windows 95), aquí se encuentra totalmente integrado en el sistema operativo. Esto significa que cualquier
objeto tiene, en su ventana de propiedades, una página llamada 'Speech', en la cual podremos crear su palabra
correspondiente y entrenar a VoiceType para que la reconozca; a partir de este momento, bastará con
pronunciarla para dirigirse al objeto en cuestión.
También tenemos dos ventanas, llamadas 'What can I say' y 'Where can I go'; la primera visualiza la lista de
los comandos de voz que están siempre disponibles, y los comandos que sólo pueden ser invocados en el
contexto actual. Por su parte, 'Where can I go' muestra los programas del escritorio a los que podemos acceder
vía voz; por supuesto, es posible añadir macros a esta ventana para activar los programas que deseemos.
Además de la navegación, tenemos el sistema de dictado, que nos permite dictarle al ordenador el texto que
deseemos; para ello, tenemos la ventana 'Dictation Window', sobre la cual el sistema irá escribiendo las
palabras dictadas, que posteriormente podremos transferir a otra aplicación. Hemos probado la versión en
inglés, y es realmente impresionante, aunque hay que aclarar algunos puntos: nuestra pronunciación debe ser
muy buena para que nos entienda bien, y es muy recomendable dedicar previamente cierto tiempo a entrenar
al sistema para que reconozca nuestra voz. Asímismo, debemos tener un buen micrófono para no confundir al
sistema y conseguir resultados óptimos; segúnIBM, la versión inglesa tiene un 90% de aciertos, y la versión
en castellano llegará al 98%.
Hay que tener presente que, al dictar, es preciso separar una palabra de otra con una pequeña pausa, para no
confundir a VoiceType, que va analizando lo que decimos, y modificando las frases ya dictadas según va
descifrando el contexto.
En definitiva, una tecnología espectacular y que realmente funciona; sin embargo tiene un precio: requiere un
procesador Pentium rápido (120 o 133) y mucha memoria; aunque IBM recomienda 24 Mb, las pruebas
indican
41.−
que la cantidad de RAM no debe ser inferior a 32 Mb para alcanzar un rendimiento razonable. También,
conviene disponer de un disco duro lo más rápido posible, pues la complejidad del análisis de voz obliga al
sistema a realizar continuos accesos a disco, algo que sucede incluso con 32 Mb de RAM.
Oslo (PM−Press) 05.12.97: Los rumores sobre la muerte del sistema operativo OS/2 serían muy exagerados,
según IBM.
La semana pasada, la publicación ZD−Net escribió que el sistema operativo OS/2, considerado en un
momento como una gran amenaza contra el sistema operativo Windows, había pasado a mejor vida.
30
El artículo motivó una reacción oficial de la compañía IBM, madre de OS/2, en que se objetan diversos
planteamientos de ZD−Net. Primeramente, IBM señala que OS/2 de ninguna manera ha muerto, ni siquiera
agoniza. Por el contrario, indica la compañía, OS/2 continuará siendo un sistema operativo alternativo para
redes ofimáticas, además de formar parte de la estrategia general de IBM orientada a las redes y el comercio
electrónico. Más aún, la compañía indica que continuará mejorando productos de la serie OS/2 durante 1998.
Por otra parte, IBM desmiente afirmaciones de ZD−Net en el sentido que estaría reasignando tareas a sus
desarrolladores dedicados al OS/2. Al respecto, IBM precisa que tales empleados continúan dedicados a las
mismas funciones, sólo que adscritos a una nueva división, denominada "Network Computing Software
Division". Tal división se dedicará básicamente a la implantación de tecnologías de uso de Java, redes, y
comercio electrónico.
A fines de 1994, IBM presentó OS/2 Warp, Versión 3, el sistema operativo más avanzado disponible
para computadores personales, pero la historia comienza en 1987.
El 1ro. de agosto de 1984, IBM lanza un nuevo PC en su línea. El PC−AT IBM, en el cual "AT" significa
Advanced Technology, fue vendido como el primer computador personal muitiusuario del mundo.
42.−
En abril 1985, Intel introdujo un nuevo y poderoso procesador: el 80386.
Entre tando la mayoría del mundo estaba esperando el OS/2 en 1986 (OS/2 no había sido aún llamado así), el
nuevo sistema operativo fue prolemático. Microsoft había estado trabajando en una version multi−tarea del
DOS desde 1983. El mayor problema con el procesador 80286 −él procesador para el cual fue hecho la
primera versión del OS/2− rapidamente finalizó el proyecto. Para los desarrolladores, la emergencia de
disponer del 80386 hizo escucharse pronto.
En abril de 1987, IBM anunció su ansiosamente esperada siguiente generación de microcomputadora: el PS/2.
Al mismo tiempo, Microsoft e IBM (OS/2 1.0 fue un desarrollo cooperativo entre MS e IBM) final y
formalmente anunciaron que introducirían un nuevo sistema operativo de protección−modular basado en el
nuevo 286, al final del año. Aquel sistema operativo fue ahora llamado OS/2, Versión 1.0
En 1988, algunos vendedores fueron desarrollando para OS/2, pero muchos no quisieron adaptar nada hasta
que IBM y Microsoft mejoraron la versión de OS/2 con la interfase tipo MacIntosh llamada Presentation
Manager, con la versión 1.1 de OS/2
Inmediatamente después de Comdex 1989, IBM y Microsoft mejoraron el OS/2 1.2; la nueva versión ofreció
una mejora en el Presentation Manager y la opción de usar un nuevo sistema de archivos: el High
Performance File System.
En 1989, el momento para una versión de OS/2 basado en el 80386 había llegado. Microsoft en Readmond e
IBM en Armonk comenzaron a decirle al mundo que estaban trabajando en una versión re−escrita del OS/2
llamada Versión 2.0, que explotaría las grandes posibilidades de direccionamiento de memoria del 80386.
Después en 1990, IBM anunció que OS/2 2.0 sería un "mejor Windows que el Windows" y "un mejor DOS
que el DOS" corriendo Windows más rápido y haciendo multitarea con aplicaciones DOS.
43.−
IBM mejoró OS/2 en Mayo de 1993, anunciando la versión 2.1, la cuál corría más rápido y requería menos
espacio en disco. A la vez que disponía un nuevo sub−sistema gráfico de 32−bit permitiendo mejorar la
31
performance en las aplicaciones 32−bit.
En octubre de 1994, IBM introdujo OS/2 WARP Versión 3.0
¿Qué mejoras puedes encontrar en OS/2?
MULTITAREA − OS/2 permite correr multiples procesos simultaneamente. MAS MEMORIA − No solo
640K de memoria base... los usuarios OS/2 no conocen los manejadores de memoria que complican bajo
DOS y Windows. Interfase Gráfica de Usuario (GUI). La interfase de OS/2 está completamente orientada a
objetos. Excelente compatibilidad para aplicaciones DOS y Windows Buen soporte para integración a redes.
Soporte incorporado para Adobe Type Manager para las letras standard PostScrips. La opción para usar un
nuevo diseño de sistema de archivos (HPFS) que permite nombres largos, ofrece un más rápido acceso a disco
y no fragmenta los archivos. Protección para aplicaciones − no más mensajes de "Error general de protección"
La incorporación del lenguaje REXX, el cual obviamente es muchísimo más potente que el DOS El acceso
simple a Internet, incluyendo comunicación TCP/IP y el grupo completo para e−mail, transferencia de
archivos y otras utilidades La posibilidad de correr programas DOS, aplicaciones Windows 3.1 y 3.11 y
software nativo OS/2 a la vez.
Ha pasado mucho tiempo desde que tomé contacto con OS/2. Cuando conecté la segunda línea telefónica a mi
BBS, los sistemas operativos comunes no me permitían disponer de multitarea, por lo cual decidí probar
OS/2... Entiendo que esto pueda sonar algo extraño, pero piensa que en mi país las BBSes no son muy
comunes como en otros países y todo el mundo aquí, como yo, debe encontrar nuevo software, nuevos
ambientes, nuevas técnicas para dar a los usuarios un servicio exitoso. Usando OS/2 pude disponer de varias
tareas a la vez: dos líneas telefónicas transfiriendo a 28.8Kbps, imprimir un documento, leyendo un diskette y
trabajando en una ventana. Por ello, me he vuelto otro miembro mas del Team OS/2 y a medida que el tiempo
pasa, descubro nuevas aplicaciones para mis necesidades.
44.−
Introducción al sistema operativo Windows NT
Presentación del sistema operativo NT
El sistema operativo NT fue desarrollado por Microsoft para superar los obstáculos impuestos por la vieja
arquitectura de sus sistemas operativos MSDOS y Windows. NT es un sistema operativo completo, que puede
ser instalado sobre un equipo nuevo sin necesidad de software adicional, como le ocurre a Windows 3.x, y que
ofrece nuevas tecnologías para el desarrollo y ejecución de todo tipo de aplicaciones.
Algunas de sus características más importantes son:
• Robustez. NT es un sistema operativo estable y robusto, que impide a las aplicaciones mal escritas
estropear al resto del sistema.
• Seguridad. NT ha sido escrito para satisfacer criterios de seguridad típicos de organismos oficiales y
empresas cuyos datos y aplicaciones deben quedar a salvo de accesos no autorizados. Prácticamente
cada objeto del sistema posee un esquema de seguridad asociado que indica qué usuarios pueden
acceder al objeto y con qué privilegios pueden acceder.
• Probabilidad. El diseño de NT permite que se pueda adaptar fácilmente a otra arquitectura para las
que no fue originalmente desarrollado. Actualmente soporta la arquitectura de Intel X86, MIPS,
Alpha y PowerPC. Su diseño modular y el estar escrito en lenguaje fácilmente portable, como es el C,
32
permiten esta rápida migración.
• Compatibilidad con las aplicaciones Windows. La capacidad de NT para ejecutar aplicaciones
MSDOS y Windows permite disponer de gran cantidad de software escrito que permite sacar
rendimiento al sistema sin tener que migrar las aplicaciones. Incluso las nuevas aplicaciones Win32
corren en modo nativo en las diferentes plataformas de NT, simplemente recompilándolas para cada
plataforma, o incluso a través de los emuladores−compiladores JIT (Just In Time) como son el X86,
distribuido gratuitamente para las plataformas no Intel soportadas.
45.−
• Velocidad. NT está desarrollado para hacer frente a las aplicaciones que necesitan gran cantidad de
recursos y altas velocidades de ejecución, típicas de entornos cliente/servidor y de ingeniería, como
pueden ser servidores de recursos de red, de bases de datos y programas de cálculo científico y diseño
gráfico.
NT hereda los interfaces de usuario desarrollados para la familia Windows. Por ejemplo en las versiones 3.X
de NT se utilizan el administrador de programas y demás elementos del Windows 3.X, mientras que en NT
4.0 se emplea el nuevo interfaces de Windows 95. Esto permite reducir la curva de aprendizaje para el nuevo
sistema operativo. NT saca un mejor provecho que los diferentes Windows a la ejecución d e aplicaciones en
multitarea real, permitiendo ejecutar varias aplicaciones simultáneamente, conmutando rápidamente entre
ellas.
Ejecución de aplicaciones
NT puede ejecutar varios tipos de aplicaciones:
• Aplicaciones MSDOS. La mayor parte de las aplicaciones MSDOS corren sin problemas. Sólo
aquellas que acceden directamente a recursos específicos, como pueden ser el puerto serie o el
paralelo, o que intentan capturar las interrupciones básicas de MSDOS, no funcionan. Típico ejemplo
de estas aplicaciones es las que funcionan con llaves de protección del tipo "mochila" que no está
específicamente preparadas para NT.
• Aplicaciones Windows de 16 bits. La mayor parte de las aplicaciones de 16 bits funcionan sin
problemas bajo Windows NT. Algunas aplicaciones, que utilizan llamadas no documentadas a el APIs
de Windows, o que hacen suposiciones sobre los recursos de Windows que son sólo válidos en
Windows 3.x fallan al ejecutarse sobre NT.
Aplicaciones Win32. Son las nuevas aplicaciones desarrolladas para Windows 95 y NT. Las aplicaciones
Win32 eliminan gran parte de los problemas que tenían las aplicaciones Win16, que están basadas en el
modelo plano de memoria, que permite a las aplicaciones disponer de hasta 2 gigabytes de datos. Las
aplicaciones Win32 se ejecutan siempre como multitarea preemptiva (real), en espacios de memoria
46.−
separados que evitan que el mal funcionamiento de una de ellas repercuta en las demás. Además las
aplicaciones Win32 hacen uso de las nuevas APIs Win32, más potentes y flexibles, con capacidad de
ejecución de múltiples hilos. Esto permite a las aplicaciones ejecutar tareas de fondo, como la revisión
ortográfica, recálculo, repaginación e impresión típica de los procesadores de texto y de las hojas de cálculo.
Esto evita al usuario largos tiempos de espera en su trabajo habitual.
47.−
33
BIBLIOGRAFIA
Sistemas Operativos
• Andrew S. Tanenbaum
• Albert S. Woodhull
http://www.unix−systems.org/what_is_unix/history_timeline.html
http://www.faqs.org/faqs/unix−faq/faq/part1/
http://www.cs.arizona.edu/people/bridges/os/unix.html
http://www.unix−systems.org/what_is_unix.html
http://www.computerhope.com/unix.htm
http://www.xtec.es/~jpujada1/clientmsdos.htm
http://www.ntmagazine.net/welcome.htm
http://www.standishgroup.com/wolf.htm
49.−
INDICE
Introducción 1
Evolución Histórica De Los Sistemas Operativos 2
Etapa 1 2
Etapa 2 3
Etapa 3 4
Que es un sistema operativo 9
Cómo funciona un Sistema Operativo 12
Lista de los sistemas operativos 12
Análisis Comparativo entre DOS y WINDOWS 13
UNIX 14
Arquitectura general de UNIX 15
Sistema operativo MS−DOS 33
34
OS/2 36
Sistema operativo Windows NT 45
Conclusión 48
Bibliografía 49
CONCLUSION
Según lo tratado en este trabajo podemos concluir, Que un computador es solo un montón de metal en
la cual si no hay un sistema operativo no se puede operar.
Ya que estos sirven para controlar algunos procesos importantes, la interpretación de los comandos que
permiten al usuario comunicarse con el ordenador. Algunos intérpretes de instrucciones están basados
en texto y exigen que las instrucciones sean tecleadas. Otros están basados en gráficos, y permiten al
usuario comunicarse señalando y haciendo clic en un icono. Por lo general, los intérpretes basados en
gráficos son más sencillos, pero muchos usuarios expertos prefieren los intérpretes de instrucciones
basados en texto porque son más potentes.
Los sistemas operativos pueden ser de tarea única o multitarea. Los sistemas operativos de tarea única, más
primitivos, sólo pueden manejar un proceso en cada momento. Por ejemplo, cuando la computadora está
imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se
termine la impresión.
48.−
Trabajo 3
Trabajo 2
Trabajo 1
Sistema Operativo
35
Descargar