SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Facultad de Ciencias de la Educación
Carrera de Docencia en Informática
Quinto Semestre único
Miguel Antonio Miranda Chonata

Elemento I

Arquitectura de PC’s II

U.T.A.
2

SISTEMAS OPERATIVOS

Un sistema operativo es un programa o conjunto de programas de computadora destinado a
permitir una administración eficaz de sus recursos. Su labor empieza cuando se enciende el
computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo
también la interacción con el usuario. Recordemos que sin un Sistema Operativo el computador no
funcionara.

FUNCIONES BÁSICAS DEL SISTEMA OPERATIVO
3

a) El Interfaz del usuario .- Es la parte del sistema operativo que permite comunicarse con él de
tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen
tres tipos básicos de interfaces: las que se basan en comandos o interfaces de texto, las que
utilizan menús y las interfaces gráficas de usuario que serían las que actualmente utilizamos
como Windows o Linux.

b) Administración de recursos.- Sirven para administrar los recursos de hardware y de redes de un
sistema informativo, como el CPU, memoria, dispositivos de almacenamiento secundario y
periféricos de entrada y de salida. No olvidemos que el Sistema Operativo desde su arranque ya
inicia cargando los controladores de los recursos más básicos como teclado, monitor, etc.
c) Administración de archivos.- Un sistema de información contiene programas de administración
de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas.
También implica mantener el registro de la ubicación física de los archivos en los discos
magnéticos y en otros dispositivos de almacenamiento secundarios. El Windows y el Linux
controlan estas funciones con el Administrador de Archivos, en MSDOS mediante comandos
(Copy, Move, etc) podíamos realizar dichas funciones.
d) Administración de tareas .- Los programas de administración de tareas de un sistema operativo
administran la realización de las tareas informáticas de los usuarios finales. Maneja tiempos de
acceso a memoria, asi como la cantidad de ella que ocupara cada palabra.
e) Servicio de soporte.- Los servicios de soporte de cada sistema operativo dependerán de la
implementación particular de éste con la que estemos trabajando. Los servicios de Soporte
pueden ser:
* Actualización de versiones.- Necesitas internet y puedes bajar actualizaciones periódicas
con mejoras en cuanto a drivers o controladoras.
* Mejoras de seguridad.- Existen mejoras de firewalls que impedirán ingreso de spams o
virus básicos
* Inclusión de alguna nueva utilidad, la mayoría de actualizaciones traen consigo no solo
mejoras de drivers o controladores, si no que de vez en cuando aportes de mejoras en
ciertas utilidades como codecs de sonido, de video.
4

* Corrección de errores de software.- Quien no a recibido el “pantallazo azul” de Windows
o en medio de estar trabajando con Linux o el mismo Windows no te sale un error y el
típico mensaje de “enviar” la línea de error, ahora que significa esto? Un sistema operativo
es un programa, y como tal líneas de programación, y por ende puede tener errores en
dichas líneas, es por eso que si aparece un error, el mismo sistema operativo te pide que
envíes a sus programadores el número de dicha línea de programación errada, para que
estos la corrijan y en próximas actualizaciones envíen a sus usuarios dicha corrección.
f) Problemas de explotación y soluciones iniciales.- El problema principal de los primeros sistemas
era la baja utilización de los mismos, la primera solución fue poner un operador profesional que
manejaba el sistema, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó
la velocidad. Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se
conoce como procesamiento por lotes (batch) sin automatizar. Claro que internamente siguen
funcionando estos procesamientos por lotes o los conocidos por los más antiguos en esto de la
informática como archivos .bat.
g) Monitores residentes.- Fichas en lenguaje de procesamiento por lotes, con programa y datos,
para ejecución secuencial , estos monitores residentes permiten cargar en memoria las
instrucciones de un programa, un interprete de dichas líneas de programación y un driver para el
manejo de dispositivos de entrada (para ingresar los datos) y salida (para controlar dispositivo
para obtener los resultados).
h) Spoolers .- (Simultaneous Peripherial Operation On-Line) no es otra que el poder utilizar varios
sectores de un disco duro para almacenar simultáneamente, no solamente los programas en
ejecución sino los de los que se encuentran en segundo plano.
5

SISTEMAS OPERATIVOS MULTIPROGRAMADOS

Al hablar de administración de tiempos de entrada y salida, los procesos que se realizan y el orden
en el que se ejecutan, para lo cual deben cumplir:
* Realizar varios trabajos a la vez, apareciendo la famosa “ejecución en segundo plano”
* Debido a este proceso de espera en segundo plano, se mantienen varios programas en memoria.
* Se asigna el uso de la CPU a los diferentes programas en memoria, entendiéndose como la
Unidad Central de Procesamiento el centro mismo de la asignación de tiempos tanto de ejecución
como de espera de los programas.
Por lo tanto se da la ejecución de nuevas tareas, naciendo lo que se denomina como Sistemas
Operativos multiprogramados, los cuales cumplen con las siguientes funciones:
* Administrar la memoria.
* Gestionar el uso de la CPU (planificación).
* Administrar el uso de los dispositivos de E/S.
Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo
multiprogramado.
6

LLAMADAS AL SISTEMA OPERATIVO

Cuando se ejecutan los programas de aplicación para pedir algún servicio al Sistema Operativo, se
denominan llamadas al Sistema, El conjunto de llamadas es el interfaz del SO frente a las
aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO.
Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en
general el programa no funcionará, a no ser que el nuevo SO tenga el mismo interfaz. Para ello:
* Las llamadas correspondientes deben tener el mismo formato.
* Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del
anterior.
Para ello deberemos definir las etapas que se sigue para la ejecución de un programa
a) Modos de ejecución en un CPU.- Las aplicaciones no deben poder usar todas las instrucciones
de la CPU. No obstante el SO, tiene que poder utilizar todo el juego de instrucciones del CPU. Por
ello, una CPU debe tener (al menos) dos modos de operación diferentes:
* Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las
aplicaciones.
* Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.
7

b) Llamadas al Sistema.- Lo que hay que saber es que una llamada de función no cambia el modo
de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que
conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la
llamada (y la recuperación del modo anterior en el retorno). Esto se hace utilizando instrucciones
máquina diseñadas específicamente para este cometido, distintas de las que se usan para las
llamadas de función.
c) Bibliotecas de interfaz de llamadas al sistema .-Al no tener una expresión sencilla en los
lenguajes de alto nivel las llamadas crean las bibliotecas de interfaz, que son bibliotecas de
funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes
de programación.
d) Interrupciones y excepciones.- El Sistema Operativo ocupa una posición intermedia entre los
programas de aplicación y el hardware. Es decir trabaja como un traductor entre el software y el
hardware:
* Algún dispositivo de E/S necesita atención.
* Se ha producido una situación de error al intentar ejecutar una instrucción del programa
(normalmente de la aplicación).

En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no
figura en el programa.
8

Según los dos casos anteriores tenemos las interrupciones y las excepciones:
* Interrupción: señal que envía un dispositivo de Entrada y Salida a la CPU para indicar que
la operación de la que se estaba ocupando, ya ha terminado.
* Excepción: una situación de error detectada por la CPU mientras ejecutaba una
instrucción, que requiere tratamiento por parte del Sistema Operativo.
e) Tratamiento de las interrupciones .- Una interrupción se trata en todo caso, después de
terminar la ejecución de la instrucción en curso. Identificar el dispositivo causante de la
interrupción será el primer paso para determinar el tratamiento que se le dará a este.
f) Importancia de las interrupciones.- El mecanismo de tratamiento de las interrupciones permite
al SO utilizar la CPU en servicio de una aplicación, en ciertos intervalos de tiempo puede convenir
no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa
(aunque esto no deben poder hacerlo las mismas).
g) Excepciones.- Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la
unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al
contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual
que las interrupciones deben estar identificadas.
h) Clases de excepciones.- Las instrucciones de un programa pueden estar mal construidas por
diversas razones:
* El código de operación puede ser incorrecto.
* Se intenta realizar alguna operación no definida, como dividir por cero.
* La instrucción puede no estar permitida en el modo de ejecución actual.
* La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus
permisos de uso.
i) Importancia de las excepciones.- El mecanismo de tratamiento de las excepciones es esencial
para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la
memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso,
el tratamiento específico de una excepción lo realiza el SO.
Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el
que trata la situación como convenga.
Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba
ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa.
Este factor depende de la pericia del programador para controlar la excepción adecuadamente.
9

COMPONENTES DE UN SISTEMA OPERATIVO

a) Gestión de procesos.- Un proceso es un programa en ejecución que necesita recursos para
funcionar, tales como: tiempo de CPU es decir de espera y de ejecución, memoria donde se
almacenara el mismo programa y los datos que procesa, dispositivos de Entrada y salida. El
Sistema Operativo es el responsable de:
* Crear y destruir los procesos.
* Parar y reanudar los procesos.
* Ofrecer mecanismos para que se comuniquen y sincronicen.
Recordemos que estas ejecuciones son mediante colas de espera, los procesos con más alta
prioridad se ejecutaran primero, dejando a los de más baja prioridad para luego, esto puede
acarrear otro problema, que los de más baja prioridad esperen en la cola para siempre, pues si
siguen apareciendo procesos con prioridad mayor, los de menor siempre permanecerán
relegados.
b) Gestión de la memoria principal.- Al hablar de gestión debemos tomar en cuenta que se
denomina todos los procesos tanto para dar de alta como de baja la información y más
exactamente en nuestro caso los procesos, para ello deberemos conocer:
* Conocer qué partes de la memoria están utilizadas y por quién.
* Decidir qué procesos se cargarán en memoria cuando haya espacio disponible.
* Asignar y reclamar espacio de memoria cuando sea necesario.
10

c) Gestión del almacenamiento secundario.- Recordemos que al almacenar los procesos y la
información que estos procesan en la memoria RAM esta es volátil y al apagar el computador
estos se pierden, razón por lo cual debemos almacenar dichos elementos en un dispositivo
secundario, el Sistema Operativo realiza los siguientes procesos para dicho efecto:
* Planificar los discos.
* Gestionar el espacio libre.
* Asignar el almacenamiento.
d) El sistema de Entrada y Salida.- Consiste en un sistema de almacenamiento temporal (caché),
una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema
operativo debe gestionar el almacenamiento temporal de Entrada y Salida y servir las
interrupciones de los dispositivos de Entrada y Salida.
e) Sistema de archivos.- Los archivos son colecciones de información relacionada, definidas por
sus creadores. Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de
organizar la información que se almacena en las memorias (normalmente discos) de los
ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT2, NTFS...
Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera
vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros
FAT32 y NTFS , que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una
gran diferencia para un usuario que utilice una base de datos con bastante información ya que el
tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes sin
embargo en un sistema NTFS el tamaño es considerablemente mayor.
f) Sistemas de protección.- Mecanismo que controla el acceso de los programas o los usuarios a
los recursos del sistema. El Sistema Operativo se encarga de:
* Distinguir entre uso autorizado y no autoriza0do.
* Especificar los controles de seguridad a realizar.
* Forzar el uso de estos mecanismos de protección.
g) Sistema de comunicaciones.- Para mantener las comunicaciones con otros sistemas es
necesario poder controlar el envío y recepción de información a través de las interfaces de red.
También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para
enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están
ejecutándose localmente y otras que lo hacen remotamente.
h) Intérprete de órdenes.- El shell del sistema es el principal componente del SO que utiliza el
usuario. Este uso se realiza siempre directa o indirectamente a través del intérprete.
Generalmente incorpora un lenguaje de programación para automatizar las tareas.
11

i) Programas de sistema.Son aplicaciones de utilidad que se suministran con el Sistema Operativo pero no forman parte de
él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las
tareas que realizan:
* Manipulación y modificación de archivos.
* Información del estado del sistema.
* Soporte a lenguajes de programación.
* Comunicaciones.
j) Gestor de recursos.- Como gestor de recursos, el Sistema Operativo administra : La CPU (Unidad
Central de Proceso, donde está alojado el microprocesador), Los dispositivos de E/S (entrada y
salida), La memoria principal (o de acceso directo), Los discos (o memoria secundaria), Los
procesos (o programas en ejecución) y en general todos los recursos del sistema.
ADMINISTRACIÓN DE TAREAS
Cuando hablamos de tareas, diremos que existen 2 tipos de tareas que pueden manejar un
Sistema Operativo:
Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio Sistema
Operativo) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará
haciéndolo hasta su finalización y/o interrupción.
12

Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de Sistema Operativo
normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los
procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de
forma concurrente.

ADMINISTRACIÓN DE USUARIOS
Cuando hablamos de la funcionalidad que un Sistema Operativo cumple hablaremos de dos tipos
de usuario y de su administración:
Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
13

Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas,
accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos
utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los
datos de otro usuario.

MANEJO DE RECURSOS
Al habla de la administración de los recursos de un Sistema Operativo, distinguiremos:
Centralizado: Si permite utilizar los recursos de una sola computadora.
Distribuido: Si permite utilizar los recursos como la memoria, el CPU, disco duro, periféricos en
todas sus variantes, de más de una computadora al mismo tiempo.
14

TIPOS DE SISTEMAS OPERATIVOS

En los Años 40
A finales de los años 40, con lo que podríamos llamar la aparición de la primera generación de
computadoras, se accedía directamente a la consola de la computadora desde la cual se actuaba
sobre una serie de micro interruptores que permitían introducir directamente el programa en la
memoria de la computadora (en realidad al existir tan pocas computadoras todos podrían
considerarse prototipos y cada constructor lo hacía sin seguir ningún criterio predeterminado). Por
aquel entonces no existían los sistemas operativos, y los programadores debían interactuar con el
hardware del computador sin ayuda externa. Esto hacía que el tiempo de preparación para realizar
una tarea fuera considerable. Además para poder utilizar la computadora debía hacerse por
turnos. Para ello, en muchas instalaciones, se rellenaba un formulario de reserva en el que se
indicaba el tiempo que el programador necesitaba para realizar su trabajo. En aquel entonces las
computadoras eran máquinas muy costosas lo que hacía que estuvieran muy solicitadas y que sólo
pudieran utilizarse en periodos breves de tiempo. Todo se hacía en lenguaje de máquina.

En los Años 50
A principios de los años 50 con el objeto de facilitar la interacción entre persona y computador, los
sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el
monitor residente, el proceso por lotes y el almacenamiento temporal.
15

a) Monitor residente
Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyéndolos
de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era encontrar una forma de
optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente.
b) Procesamiento por lotes
Como solución para optimizar , en una misma cinta o conjunto de tarjetas, de forma que se
ejecutaran uno a continuación de otro sin perder apenas tiempo en la transición.
c) Almacenamiento temporal
Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultánea la carga del
programa o la salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos
técnicas, el buffering y el spooling.
En los Años 60

En los años 60 se produjeron cambios notorios en varios campos de la informática, con la
aparición de el circuito cerrado la mayoría orientados a seguir incrementando el potencial de los
computadores. Para ello se utilizaban técnicas de lo más diversas:
a) Multiprogramación
16

En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La
CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una
operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro
programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al
controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto
adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles.
b) Tiempo compartido
En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece
de falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual
existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo
compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al
realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la
multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo
ejecutándose el sistema operativo lo detiene para que se ejecute otro aplicación. Con esto se
consigue repartir la CPU por igual entre los programas de los distintos usuarios, y los programas de
los usuarios no se sienten demasiado lentos por el hecho de que los recursos sean compartidos y
aparentemente se ejecutan de manera concurrente.
c) Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un
gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las
restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha
fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado.
El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de
que entre el siguiente, sus primeros usos fuero• Los sistemas operativos de tiempo real son
aquellos en donde no tiene importancia el usuario, sino los procesos. Se utilizan en entornos
donde son procesados un gran número de sucesos o eventos. • Son construidos para aplicaciones
muy específicas, tales como: tráfico aéreo, bolsas de valores, etc. Algunos campos de aplicación
son los siguientes:
• Control de trenes
• Telecomunicaciones
• Sistemas de fabricación integrada
• Control de edificios, etc.
Algunas características de los sistemas operativos de tiempo real son:
• Su objetivo es proporcionar rápidos tiempos de respuesta
• Procesa ráfagas de miles de interrupciones por segundo sin perder algún proceso
17

• Poco movimiento de programas entre almacenamiento secundario y memoria
• Proceso de mayor prioridad expropia recursosn y siguen siendo en telecomunicaciones.
d) Multiprocesador
Permite trabajar con máquinas que poseen más de un microprocesador. En un multiprocesador
los procesadores comparten memoria y reloj.
e) Sistemas operativos desarrollados
Además del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, a mediados de
los 60 aparece Multics, sistema operativo multiusuario - multitarea desarrollado por los
laboratorios Bell de AT&T y programado en PL/1 uno de los pocos SO desarrollados en un lenguaje
de alto nivel en aquel tiempo, luego del fracaso del proyecto UNIX comienza a desarrollarse a
partir de este a finales de la década.
En los Años 70

Debido al avance de la electrónica, pudieron empezar a crearse circuitos con miles de transistores
en un centímetro cuadrado de silicio, lo que llevaría, pocos años después, a producirse los
primeros sistemas integrados. Ésta década se podría definir como la de los sistemas de propósito
general y en ella se desarrollan tecnologías que se siguen utilizando en la actualidad. Es en los años
70 cuando se produce el boom de los miniordenadores y la informática se acerca al nivel de
usuario. En lo relativo a lenguajes de programación, es de señalar la aparición de Pascal y C, el
último de los cuales se creó específicamente para reescribir por completo el código del sistema
operativo Unix, convirtiéndolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En el
campo de la programación lógica se dio a luz la primera implementación de Prolog, y en la
revolucionaria orientación a objetos, Smalltalk.
18

a) Inconvenientes de los sistemas existentes
Se trataba de sistemas grandes y costosos, pues antes no se había construido nada similar y
muchos de los proyectos desarrollados terminaron con costos muy por encima del presupuesto y
mucho después de lo que se marcaba como fecha de finalización. Además, aunque formaban una
capa entre el hardware y el usuario, éste debía conocer un complejo lenguaje de control para
realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban,
debido a los grandes espacios de memoria principal y secundaria ocupados, así como el tiempo de
procesador consumido. Es por esto que se intentó hacer hincapié en mejorar las técnicas ya
existentes de multiprogramación y tiempo compartido.
b) Características de los nuevos sistemas
Para solventar los problemas antes comentados, se realizó un costosísimo trabajo para interponer
una amplia capa de software entre el usuario y la máquina, de forma que el primero no tuviese
que conocer ningún detalle de la circuitería.
c) Sistemas operativos desarrollados
* MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto
cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell,
que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el
sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits;
después fue soportado por la serie de máquinas Honeywell 6180.
Fue uno de los primeros sistemas operativos de tiempo compartido, que implementó un solo nivel
de almacenamiento para el acceso a los datos, desechando la clara distinción entre los ficheros y
los procesos en memoria, y uno de los primeros sistemas multiprocesador.
* MVS (Multiple Virtual Storage): Fue el sistema operativo más usado en los modelos de
mainframes -ordenadores grandes, potentes y caros usados principalmente por grandes
compañías para el procesamiento de grandes cantidades de datos- System/370 y System/390 de
IBM, desarrollado también por IBM y lanzado al mercado por primera vez en 1974. Como
características destacables, permitía la ejecución de múltiples tareas, además de que introdujo el
concepto de memoria virtual y finalmente añadió la capacidad de que cada programa tuviera su
propio espacio de direccionamiento de memoria, de ahí su nombre.
* CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador
8080/85 de Intel y el Zilog Z80, salió al mercado en 1976, distribuyéndose en disquetes de ocho
pulgadas. Fue el SO más usado en las computadoras personales de esta década. Su éxito se debió
a que era portátil, permitiendo que diferentes programas interactuasen con el hardware de una
manera estandarizada. Estaba compuesto de dos subsistemas:
19

o CCP (Comand Control Processor): Intérprete de comandos que permitía introducir los mandatos
con sus parámetros separados por espacios. Además, los traducía a instrucciones de alto nivel
destinadas a BDOS.
o BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.
El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS supuso su mayor fracaso, por
lo que acabó desapareciendo.
En los Años 80

Con la creación de los circuitos LSI -integración a gran escala-, chips que contenían miles de
transistores en un centímetro cuadrado de silicio, empezó el auge de los ordenadores personales.
En éstos se dejó un poco de lado el rendimiento y se buscó más que el sistema operativo fuera
amigable, surgiendo menús, e interfaces gráficas. Esto reducía la rapidez de las aplicaciones, pero
se volvían más prácticos y simples para los usuarios. En esta época, siguieron utilizándose
lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían
destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y Haskell y Miranda en el
campo de la programación declarativa. Un avance importante que se estableció a mediados de la
década de 1980 fue el desarrollo de redes de computadoras personales que corrían sistemas
operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran
los mayoritarios: MS-DOS, escrito por Microsoft para IBM PC y otras computadoras que utilizaban
la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que
hacían uso del Motorola 68000.
a) Apple Macintosh
El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dólares. Muchos usuarios, al
ver que estaba completamente diseñado para funcionar a través de una GUI (Graphic User
Interface), acostumbrados a la línea de comandos, lo tacharon de juguete. A pesar de todo, el Mac
se situó a la cabeza en el mundo de la edición a nivel gráfico.
b) MS-DOS
20

En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas
modificaciones, se convirtió en la primera versión de MS-DOS (MicroSoft Disk Operating System).
A partir de aquí se sucedieron una serie de cambios hasta llegar a la versión 7.1, a partir de la cual
MS-DOS dejó de existir como tal y se convirtió en una parte integrada del sistema operativo
Windows.
b1) Microsoft Windows
Familia de sistemas operativos propietarios desarrollados por la empresa de software Microsoft
Corporation, fundada por Bill Gates y Paul Allen. Todos ellos tienen en común el estar basados en
una interfaz gráfica de usuario basada en el paradigma de ventanas, de ahí su nombre en inglés.
Las versiones de Windows que han aparecido hasta el momento se basan en dos líneas separadas
de desarrollo que finalmente convergen en una sola con la llegada de Windows XP. La primera de
ellas conformaba la apariencia de un sistema operativo, aunque realmente se ejecutaba sobre MSDOS.
Actualmente la aparición de los Windows Vista,7 y 8 ha abierto una nueva forma de ver los
Sistemas Operativos.
En los Años 90

GNU/Linux
En 1991 aparece la primer versión del núcleo de Linux. Creado por Linus Torvalds y un sinfín de
colaboradores a través de Internet. Este sistema se basa en Unix, un sistema que en principio
trabajaba en modo comandos, estilo MS-DOS. Hoy en día dispone de Ventanas, gracias a un
servidor grafico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente
GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por
ejemplo Beryl. Lo que permite utilizar linux de una forma muy visual y atractiva.

Más contenido relacionado

La actualidad más candente

Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)dannysepulvedaa
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativomamasita123
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativosjeisson66
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1goldenay
 
Sistemas de monik
Sistemas de monikSistemas de monik
Sistemas de monikmoni312
 
Sistemas
SistemasSistemas
Sistemaszgpa
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminadokatalina001
 
EL SISTEMA OPERATIVO
EL SISTEMA OPERATIVOEL SISTEMA OPERATIVO
EL SISTEMA OPERATIVOseuansed
 

La actualidad más candente (13)

Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)Un sistema operativo dany sepulveda (2)
Un sistema operativo dany sepulveda (2)
 
Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativo
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemas
 
Leidy pardo
Leidy pardoLeidy pardo
Leidy pardo
 
Javier aponte
Javier aponteJavier aponte
Javier aponte
 
sistemas operativos
sistemas operativossistemas operativos
sistemas operativos
 
Sistema operativo1
Sistema operativo1Sistema operativo1
Sistema operativo1
 
Fredy cardenas
Fredy cardenasFredy cardenas
Fredy cardenas
 
Sistemas de monik
Sistemas de monikSistemas de monik
Sistemas de monik
 
Sistemas
SistemasSistemas
Sistemas
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminado
 
Kaye
KayeKaye
Kaye
 
EL SISTEMA OPERATIVO
EL SISTEMA OPERATIVOEL SISTEMA OPERATIVO
EL SISTEMA OPERATIVO
 

Similar a Elemento 1 miguel antonio miranda chonata - sistemas operativos

Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativomamasita123
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosjeisson33
 
Trabajo sis
Trabajo sisTrabajo sis
Trabajo sisYOKIIZ
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminadokatalina001
 
Sistemas operativo vanessa
Sistemas operativo vanessaSistemas operativo vanessa
Sistemas operativo vanessareggaemufin
 
Trabajo sistemas ... sistemas operativos
Trabajo sistemas   ... sistemas operativosTrabajo sistemas   ... sistemas operativos
Trabajo sistemas ... sistemas operativosbrandonxx
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosyesikandrea
 
Coruniversitec.docx sistemas
Coruniversitec.docx sistemasCoruniversitec.docx sistemas
Coruniversitec.docx sistemasJeimicita Pte
 
Coruniversitec.docx sistemas
Coruniversitec.docx sistemasCoruniversitec.docx sistemas
Coruniversitec.docx sistemasJeimicita Pte
 
Taller de sistemas bryan melo
Taller de sistemas bryan meloTaller de sistemas bryan melo
Taller de sistemas bryan melobryanmelo
 

Similar a Elemento 1 miguel antonio miranda chonata - sistemas operativos (20)

Adriana rivera sistema operativo
Adriana rivera sistema operativoAdriana rivera sistema operativo
Adriana rivera sistema operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Fredy cardenas
Fredy cardenasFredy cardenas
Fredy cardenas
 
Trabajo sis
Trabajo sisTrabajo sis
Trabajo sis
 
Leidy pardo
Leidy pardoLeidy pardo
Leidy pardo
 
Sistemas operativo
Sistemas operativoSistemas operativo
Sistemas operativo
 
Trabajo sistemas terminado
Trabajo sistemas terminadoTrabajo sistemas terminado
Trabajo sistemas terminado
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativo vanessa
Sistemas operativo vanessaSistemas operativo vanessa
Sistemas operativo vanessa
 
Collection
CollectionCollection
Collection
 
SistemasOperativos
SistemasOperativosSistemasOperativos
SistemasOperativos
 
Trabajo sistemas ... sistemas operativos
Trabajo sistemas   ... sistemas operativosTrabajo sistemas   ... sistemas operativos
Trabajo sistemas ... sistemas operativos
 
Un sistema operativo
Un sistema operativoUn sistema operativo
Un sistema operativo
 
Un sistema operativo
Un sistema operativoUn sistema operativo
Un sistema operativo
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Gordin
GordinGordin
Gordin
 
Coruniversitec.docx sistemas
Coruniversitec.docx sistemasCoruniversitec.docx sistemas
Coruniversitec.docx sistemas
 
Coruniversitec.docx sistemas
Coruniversitec.docx sistemasCoruniversitec.docx sistemas
Coruniversitec.docx sistemas
 
Taller de sistemas bryan melo
Taller de sistemas bryan meloTaller de sistemas bryan melo
Taller de sistemas bryan melo
 
Kaye
KayeKaye
Kaye
 

Último

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 

Elemento 1 miguel antonio miranda chonata - sistemas operativos

  • 1. Facultad de Ciencias de la Educación Carrera de Docencia en Informática Quinto Semestre único Miguel Antonio Miranda Chonata Elemento I Arquitectura de PC’s II U.T.A.
  • 2. 2 SISTEMAS OPERATIVOS Un sistema operativo es un programa o conjunto de programas de computadora destinado a permitir una administración eficaz de sus recursos. Su labor empieza cuando se enciende el computador, y gestiona el hardware de la máquina desde los niveles más básicos, permitiendo también la interacción con el usuario. Recordemos que sin un Sistema Operativo el computador no funcionara. FUNCIONES BÁSICAS DEL SISTEMA OPERATIVO
  • 3. 3 a) El Interfaz del usuario .- Es la parte del sistema operativo que permite comunicarse con él de tal manera que se puedan cargar programas, acceder archivos y realizar otras tareas. Existen tres tipos básicos de interfaces: las que se basan en comandos o interfaces de texto, las que utilizan menús y las interfaces gráficas de usuario que serían las que actualmente utilizamos como Windows o Linux. b) Administración de recursos.- Sirven para administrar los recursos de hardware y de redes de un sistema informativo, como el CPU, memoria, dispositivos de almacenamiento secundario y periféricos de entrada y de salida. No olvidemos que el Sistema Operativo desde su arranque ya inicia cargando los controladores de los recursos más básicos como teclado, monitor, etc. c) Administración de archivos.- Un sistema de información contiene programas de administración de archivos que controlan la creación, borrado y acceso de archivos de datos y de programas. También implica mantener el registro de la ubicación física de los archivos en los discos magnéticos y en otros dispositivos de almacenamiento secundarios. El Windows y el Linux controlan estas funciones con el Administrador de Archivos, en MSDOS mediante comandos (Copy, Move, etc) podíamos realizar dichas funciones. d) Administración de tareas .- Los programas de administración de tareas de un sistema operativo administran la realización de las tareas informáticas de los usuarios finales. Maneja tiempos de acceso a memoria, asi como la cantidad de ella que ocupara cada palabra. e) Servicio de soporte.- Los servicios de soporte de cada sistema operativo dependerán de la implementación particular de éste con la que estemos trabajando. Los servicios de Soporte pueden ser: * Actualización de versiones.- Necesitas internet y puedes bajar actualizaciones periódicas con mejoras en cuanto a drivers o controladoras. * Mejoras de seguridad.- Existen mejoras de firewalls que impedirán ingreso de spams o virus básicos * Inclusión de alguna nueva utilidad, la mayoría de actualizaciones traen consigo no solo mejoras de drivers o controladores, si no que de vez en cuando aportes de mejoras en ciertas utilidades como codecs de sonido, de video.
  • 4. 4 * Corrección de errores de software.- Quien no a recibido el “pantallazo azul” de Windows o en medio de estar trabajando con Linux o el mismo Windows no te sale un error y el típico mensaje de “enviar” la línea de error, ahora que significa esto? Un sistema operativo es un programa, y como tal líneas de programación, y por ende puede tener errores en dichas líneas, es por eso que si aparece un error, el mismo sistema operativo te pide que envíes a sus programadores el número de dicha línea de programación errada, para que estos la corrijan y en próximas actualizaciones envíen a sus usuarios dicha corrección. f) Problemas de explotación y soluciones iniciales.- El problema principal de los primeros sistemas era la baja utilización de los mismos, la primera solución fue poner un operador profesional que manejaba el sistema, con lo que se eliminaron las hojas de reserva, se ahorró tiempo y se aumentó la velocidad. Para ello, los trabajos se agrupaban de forma manual en lotes mediante lo que se conoce como procesamiento por lotes (batch) sin automatizar. Claro que internamente siguen funcionando estos procesamientos por lotes o los conocidos por los más antiguos en esto de la informática como archivos .bat. g) Monitores residentes.- Fichas en lenguaje de procesamiento por lotes, con programa y datos, para ejecución secuencial , estos monitores residentes permiten cargar en memoria las instrucciones de un programa, un interprete de dichas líneas de programación y un driver para el manejo de dispositivos de entrada (para ingresar los datos) y salida (para controlar dispositivo para obtener los resultados). h) Spoolers .- (Simultaneous Peripherial Operation On-Line) no es otra que el poder utilizar varios sectores de un disco duro para almacenar simultáneamente, no solamente los programas en ejecución sino los de los que se encuentran en segundo plano.
  • 5. 5 SISTEMAS OPERATIVOS MULTIPROGRAMADOS Al hablar de administración de tiempos de entrada y salida, los procesos que se realizan y el orden en el que se ejecutan, para lo cual deben cumplir: * Realizar varios trabajos a la vez, apareciendo la famosa “ejecución en segundo plano” * Debido a este proceso de espera en segundo plano, se mantienen varios programas en memoria. * Se asigna el uso de la CPU a los diferentes programas en memoria, entendiéndose como la Unidad Central de Procesamiento el centro mismo de la asignación de tiempos tanto de ejecución como de espera de los programas. Por lo tanto se da la ejecución de nuevas tareas, naciendo lo que se denomina como Sistemas Operativos multiprogramados, los cuales cumplen con las siguientes funciones: * Administrar la memoria. * Gestionar el uso de la CPU (planificación). * Administrar el uso de los dispositivos de E/S. Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.
  • 6. 6 LLAMADAS AL SISTEMA OPERATIVO Cuando se ejecutan los programas de aplicación para pedir algún servicio al Sistema Operativo, se denominan llamadas al Sistema, El conjunto de llamadas es el interfaz del SO frente a las aplicaciones. Constituyen el lenguaje que deben usar las aplicaciones para comunicarse con el SO. Por ello si cambiamos de SO, y abrimos un programa diseñado para trabajar sobre el anterior, en general el programa no funcionará, a no ser que el nuevo SO tenga el mismo interfaz. Para ello: * Las llamadas correspondientes deben tener el mismo formato. * Cada llamada al nuevo SO tiene que dar los mismos resultados que la correspondiente del anterior. Para ello deberemos definir las etapas que se sigue para la ejecución de un programa a) Modos de ejecución en un CPU.- Las aplicaciones no deben poder usar todas las instrucciones de la CPU. No obstante el SO, tiene que poder utilizar todo el juego de instrucciones del CPU. Por ello, una CPU debe tener (al menos) dos modos de operación diferentes: * Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones. * Modo supervisor: la CPU debe poder ejecutar el juego completo de instrucciones.
  • 7. 7 b) Llamadas al Sistema.- Lo que hay que saber es que una llamada de función no cambia el modo de ejecución de la CPU. Con lo que hay que conseguir llamar a la rutina de servicio, sin tener que conocer su ubicación, y hacer que se fuerce un cambio de modo de operación de la CPU en la llamada (y la recuperación del modo anterior en el retorno). Esto se hace utilizando instrucciones máquina diseñadas específicamente para este cometido, distintas de las que se usan para las llamadas de función. c) Bibliotecas de interfaz de llamadas al sistema .-Al no tener una expresión sencilla en los lenguajes de alto nivel las llamadas crean las bibliotecas de interfaz, que son bibliotecas de funciones que pueden usarse para efectuar llamadas al sistema. Las hay para distintos lenguajes de programación. d) Interrupciones y excepciones.- El Sistema Operativo ocupa una posición intermedia entre los programas de aplicación y el hardware. Es decir trabaja como un traductor entre el software y el hardware: * Algún dispositivo de E/S necesita atención. * Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación). En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa.
  • 8. 8 Según los dos casos anteriores tenemos las interrupciones y las excepciones: * Interrupción: señal que envía un dispositivo de Entrada y Salida a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado. * Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del Sistema Operativo. e) Tratamiento de las interrupciones .- Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso. Identificar el dispositivo causante de la interrupción será el primer paso para determinar el tratamiento que se le dará a este. f) Importancia de las interrupciones.- El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, en ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas). g) Excepciones.- Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas. h) Clases de excepciones.- Las instrucciones de un programa pueden estar mal construidas por diversas razones: * El código de operación puede ser incorrecto. * Se intenta realizar alguna operación no definida, como dividir por cero. * La instrucción puede no estar permitida en el modo de ejecución actual. * La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso. i) Importancia de las excepciones.- El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO. Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga. Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente.
  • 9. 9 COMPONENTES DE UN SISTEMA OPERATIVO a) Gestión de procesos.- Un proceso es un programa en ejecución que necesita recursos para funcionar, tales como: tiempo de CPU es decir de espera y de ejecución, memoria donde se almacenara el mismo programa y los datos que procesa, dispositivos de Entrada y salida. El Sistema Operativo es el responsable de: * Crear y destruir los procesos. * Parar y reanudar los procesos. * Ofrecer mecanismos para que se comuniquen y sincronicen. Recordemos que estas ejecuciones son mediante colas de espera, los procesos con más alta prioridad se ejecutaran primero, dejando a los de más baja prioridad para luego, esto puede acarrear otro problema, que los de más baja prioridad esperen en la cola para siempre, pues si siguen apareciendo procesos con prioridad mayor, los de menor siempre permanecerán relegados. b) Gestión de la memoria principal.- Al hablar de gestión debemos tomar en cuenta que se denomina todos los procesos tanto para dar de alta como de baja la información y más exactamente en nuestro caso los procesos, para ello deberemos conocer: * Conocer qué partes de la memoria están utilizadas y por quién. * Decidir qué procesos se cargarán en memoria cuando haya espacio disponible. * Asignar y reclamar espacio de memoria cuando sea necesario.
  • 10. 10 c) Gestión del almacenamiento secundario.- Recordemos que al almacenar los procesos y la información que estos procesan en la memoria RAM esta es volátil y al apagar el computador estos se pierden, razón por lo cual debemos almacenar dichos elementos en un dispositivo secundario, el Sistema Operativo realiza los siguientes procesos para dicho efecto: * Planificar los discos. * Gestionar el espacio libre. * Asignar el almacenamiento. d) El sistema de Entrada y Salida.- Consiste en un sistema de almacenamiento temporal (caché), una interfaz de manejadores de dispositivos y otra para dispositivos concretos. El sistema operativo debe gestionar el almacenamiento temporal de Entrada y Salida y servir las interrupciones de los dispositivos de Entrada y Salida. e) Sistema de archivos.- Los archivos son colecciones de información relacionada, definidas por sus creadores. Existen diferentes Sistemas de Archivos, es decir, existen diferentes formas de organizar la información que se almacena en las memorias (normalmente discos) de los ordenadores. Por ejemplo, existen los sistemas de archivos FAT, FAT32, EXT2, NTFS... Desde el punto de vista del usuario estas diferencias pueden parecer insignificantes a primera vista, sin embargo, existen diferencias muy importantes. Por ejemplo, los sistemas de ficheros FAT32 y NTFS , que se utilizan fundamentalmente en sistemas operativos de Microsoft, tienen una gran diferencia para un usuario que utilice una base de datos con bastante información ya que el tamaño máximo de un fichero con un Sistema de Archivos FAT32 está limitado a 4 gigabytes sin embargo en un sistema NTFS el tamaño es considerablemente mayor. f) Sistemas de protección.- Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El Sistema Operativo se encarga de: * Distinguir entre uso autorizado y no autoriza0do. * Especificar los controles de seguridad a realizar. * Forzar el uso de estos mecanismos de protección. g) Sistema de comunicaciones.- Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente. h) Intérprete de órdenes.- El shell del sistema es el principal componente del SO que utiliza el usuario. Este uso se realiza siempre directa o indirectamente a través del intérprete. Generalmente incorpora un lenguaje de programación para automatizar las tareas.
  • 11. 11 i) Programas de sistema.Son aplicaciones de utilidad que se suministran con el Sistema Operativo pero no forman parte de él. Ofrecen un entorno útil para el desarrollo y ejecución de programas, siendo algunas de las tareas que realizan: * Manipulación y modificación de archivos. * Información del estado del sistema. * Soporte a lenguajes de programación. * Comunicaciones. j) Gestor de recursos.- Como gestor de recursos, el Sistema Operativo administra : La CPU (Unidad Central de Proceso, donde está alojado el microprocesador), Los dispositivos de E/S (entrada y salida), La memoria principal (o de acceso directo), Los discos (o memoria secundaria), Los procesos (o programas en ejecución) y en general todos los recursos del sistema. ADMINISTRACIÓN DE TAREAS Cuando hablamos de tareas, diremos que existen 2 tipos de tareas que pueden manejar un Sistema Operativo: Monotarea: Solamente puede ejecutar un proceso (aparte de los procesos del propio Sistema Operativo) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.
  • 12. 12 Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de Sistema Operativo normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente. ADMINISTRACIÓN DE USUARIOS Cuando hablamos de la funcionalidad que un Sistema Operativo cumple hablaremos de dos tipos de usuario y de su administración: Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
  • 13. 13 Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario. MANEJO DE RECURSOS Al habla de la administración de los recursos de un Sistema Operativo, distinguiremos: Centralizado: Si permite utilizar los recursos de una sola computadora. Distribuido: Si permite utilizar los recursos como la memoria, el CPU, disco duro, periféricos en todas sus variantes, de más de una computadora al mismo tiempo.
  • 14. 14 TIPOS DE SISTEMAS OPERATIVOS En los Años 40 A finales de los años 40, con lo que podríamos llamar la aparición de la primera generación de computadoras, se accedía directamente a la consola de la computadora desde la cual se actuaba sobre una serie de micro interruptores que permitían introducir directamente el programa en la memoria de la computadora (en realidad al existir tan pocas computadoras todos podrían considerarse prototipos y cada constructor lo hacía sin seguir ningún criterio predeterminado). Por aquel entonces no existían los sistemas operativos, y los programadores debían interactuar con el hardware del computador sin ayuda externa. Esto hacía que el tiempo de preparación para realizar una tarea fuera considerable. Además para poder utilizar la computadora debía hacerse por turnos. Para ello, en muchas instalaciones, se rellenaba un formulario de reserva en el que se indicaba el tiempo que el programador necesitaba para realizar su trabajo. En aquel entonces las computadoras eran máquinas muy costosas lo que hacía que estuvieran muy solicitadas y que sólo pudieran utilizarse en periodos breves de tiempo. Todo se hacía en lenguaje de máquina. En los Años 50 A principios de los años 50 con el objeto de facilitar la interacción entre persona y computador, los sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el monitor residente, el proceso por lotes y el almacenamiento temporal.
  • 15. 15 a) Monitor residente Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyéndolos de una cinta o de tarjetas perforadas, y ejecutarlos. El problema era encontrar una forma de optimizar el tiempo entre la retirada de un trabajo y el montaje del siguiente. b) Procesamiento por lotes Como solución para optimizar , en una misma cinta o conjunto de tarjetas, de forma que se ejecutaran uno a continuación de otro sin perder apenas tiempo en la transición. c) Almacenamiento temporal Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultánea la carga del programa o la salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos técnicas, el buffering y el spooling. En los Años 60 En los años 60 se produjeron cambios notorios en varios campos de la informática, con la aparición de el circuito cerrado la mayoría orientados a seguir incrementando el potencial de los computadores. Para ello se utilizaban técnicas de lo más diversas: a) Multiprogramación
  • 16. 16 En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al controlador, y pasa a ejecutarse otro. De esta forma es posible, teniendo almacenado un conjunto adecuado de tareas en cada momento, utilizar de manera óptima los recursos disponibles. b) Tiempo compartido En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece de falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo ejecutándose el sistema operativo lo detiene para que se ejecute otro aplicación. Con esto se consigue repartir la CPU por igual entre los programas de los distintos usuarios, y los programas de los usuarios no se sienten demasiado lentos por el hecho de que los recursos sean compartidos y aparentemente se ejecutan de manera concurrente. c) Tiempo real Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado. El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de que entre el siguiente, sus primeros usos fuero• Los sistemas operativos de tiempo real son aquellos en donde no tiene importancia el usuario, sino los procesos. Se utilizan en entornos donde son procesados un gran número de sucesos o eventos. • Son construidos para aplicaciones muy específicas, tales como: tráfico aéreo, bolsas de valores, etc. Algunos campos de aplicación son los siguientes: • Control de trenes • Telecomunicaciones • Sistemas de fabricación integrada • Control de edificios, etc. Algunas características de los sistemas operativos de tiempo real son: • Su objetivo es proporcionar rápidos tiempos de respuesta • Procesa ráfagas de miles de interrupciones por segundo sin perder algún proceso
  • 17. 17 • Poco movimiento de programas entre almacenamiento secundario y memoria • Proceso de mayor prioridad expropia recursosn y siguen siendo en telecomunicaciones. d) Multiprocesador Permite trabajar con máquinas que poseen más de un microprocesador. En un multiprocesador los procesadores comparten memoria y reloj. e) Sistemas operativos desarrollados Además del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, a mediados de los 60 aparece Multics, sistema operativo multiusuario - multitarea desarrollado por los laboratorios Bell de AT&T y programado en PL/1 uno de los pocos SO desarrollados en un lenguaje de alto nivel en aquel tiempo, luego del fracaso del proyecto UNIX comienza a desarrollarse a partir de este a finales de la década. En los Años 70 Debido al avance de la electrónica, pudieron empezar a crearse circuitos con miles de transistores en un centímetro cuadrado de silicio, lo que llevaría, pocos años después, a producirse los primeros sistemas integrados. Ésta década se podría definir como la de los sistemas de propósito general y en ella se desarrollan tecnologías que se siguen utilizando en la actualidad. Es en los años 70 cuando se produce el boom de los miniordenadores y la informática se acerca al nivel de usuario. En lo relativo a lenguajes de programación, es de señalar la aparición de Pascal y C, el último de los cuales se creó específicamente para reescribir por completo el código del sistema operativo Unix, convirtiéndolo en uno de los pocos SO escritos en un lenguaje de alto nivel. En el campo de la programación lógica se dio a luz la primera implementación de Prolog, y en la revolucionaria orientación a objetos, Smalltalk.
  • 18. 18 a) Inconvenientes de los sistemas existentes Se trataba de sistemas grandes y costosos, pues antes no se había construido nada similar y muchos de los proyectos desarrollados terminaron con costos muy por encima del presupuesto y mucho después de lo que se marcaba como fecha de finalización. Además, aunque formaban una capa entre el hardware y el usuario, éste debía conocer un complejo lenguaje de control para realizar sus trabajos. Otro de los inconvenientes es el gran consumo de recursos que ocasionaban, debido a los grandes espacios de memoria principal y secundaria ocupados, así como el tiempo de procesador consumido. Es por esto que se intentó hacer hincapié en mejorar las técnicas ya existentes de multiprogramación y tiempo compartido. b) Características de los nuevos sistemas Para solventar los problemas antes comentados, se realizó un costosísimo trabajo para interponer una amplia capa de software entre el usuario y la máquina, de forma que el primero no tuviese que conocer ningún detalle de la circuitería. c) Sistemas operativos desarrollados * MULTICS (Multiplexed Information and Computing Service): Originalmente era un proyecto cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell, que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits; después fue soportado por la serie de máquinas Honeywell 6180. Fue uno de los primeros sistemas operativos de tiempo compartido, que implementó un solo nivel de almacenamiento para el acceso a los datos, desechando la clara distinción entre los ficheros y los procesos en memoria, y uno de los primeros sistemas multiprocesador. * MVS (Multiple Virtual Storage): Fue el sistema operativo más usado en los modelos de mainframes -ordenadores grandes, potentes y caros usados principalmente por grandes compañías para el procesamiento de grandes cantidades de datos- System/370 y System/390 de IBM, desarrollado también por IBM y lanzado al mercado por primera vez en 1974. Como características destacables, permitía la ejecución de múltiples tareas, además de que introdujo el concepto de memoria virtual y finalmente añadió la capacidad de que cada programa tuviera su propio espacio de direccionamiento de memoria, de ahí su nombre. * CP/M (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador 8080/85 de Intel y el Zilog Z80, salió al mercado en 1976, distribuyéndose en disquetes de ocho pulgadas. Fue el SO más usado en las computadoras personales de esta década. Su éxito se debió a que era portátil, permitiendo que diferentes programas interactuasen con el hardware de una manera estandarizada. Estaba compuesto de dos subsistemas:
  • 19. 19 o CCP (Comand Control Processor): Intérprete de comandos que permitía introducir los mandatos con sus parámetros separados por espacios. Además, los traducía a instrucciones de alto nivel destinadas a BDOS. o BDOS (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS. El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS supuso su mayor fracaso, por lo que acabó desapareciendo. En los Años 80 Con la creación de los circuitos LSI -integración a gran escala-, chips que contenían miles de transistores en un centímetro cuadrado de silicio, empezó el auge de los ordenadores personales. En éstos se dejó un poco de lado el rendimiento y se buscó más que el sistema operativo fuera amigable, surgiendo menús, e interfaces gráficas. Esto reducía la rapidez de las aplicaciones, pero se volvían más prácticos y simples para los usuarios. En esta época, siguieron utilizándose lenguajes ya existentes, como Smalltalk o C, y nacieron otros nuevos, de los cuales se podrían destacar: C++ y Eiffel dentro del paradigma de la orientación a objetos, y Haskell y Miranda en el campo de la programación declarativa. Un avance importante que se estableció a mediados de la década de 1980 fue el desarrollo de redes de computadoras personales que corrían sistemas operativos en red y sistemas operativos distribuidos. En esta escena, dos sistemas operativos eran los mayoritarios: MS-DOS, escrito por Microsoft para IBM PC y otras computadoras que utilizaban la CPU Intel 8088 y sus sucesores, y UNIX, que dominaba en los ordenadores personales que hacían uso del Motorola 68000. a) Apple Macintosh El lanzamiento oficial se produjo en enero de 1984, al precio de 2495 dólares. Muchos usuarios, al ver que estaba completamente diseñado para funcionar a través de una GUI (Graphic User Interface), acostumbrados a la línea de comandos, lo tacharon de juguete. A pesar de todo, el Mac se situó a la cabeza en el mundo de la edición a nivel gráfico. b) MS-DOS
  • 20. 20 En 1981 Microsoft compró un sistema operativo llamado QDOS que, tras realizar unas pocas modificaciones, se convirtió en la primera versión de MS-DOS (MicroSoft Disk Operating System). A partir de aquí se sucedieron una serie de cambios hasta llegar a la versión 7.1, a partir de la cual MS-DOS dejó de existir como tal y se convirtió en una parte integrada del sistema operativo Windows. b1) Microsoft Windows Familia de sistemas operativos propietarios desarrollados por la empresa de software Microsoft Corporation, fundada por Bill Gates y Paul Allen. Todos ellos tienen en común el estar basados en una interfaz gráfica de usuario basada en el paradigma de ventanas, de ahí su nombre en inglés. Las versiones de Windows que han aparecido hasta el momento se basan en dos líneas separadas de desarrollo que finalmente convergen en una sola con la llegada de Windows XP. La primera de ellas conformaba la apariencia de un sistema operativo, aunque realmente se ejecutaba sobre MSDOS. Actualmente la aparición de los Windows Vista,7 y 8 ha abierto una nueva forma de ver los Sistemas Operativos. En los Años 90 GNU/Linux En 1991 aparece la primer versión del núcleo de Linux. Creado por Linus Torvalds y un sinfín de colaboradores a través de Internet. Este sistema se basa en Unix, un sistema que en principio trabajaba en modo comandos, estilo MS-DOS. Hoy en día dispone de Ventanas, gracias a un servidor grafico y a gestores de ventanas como KDE, GNOME entre muchos. Recientemente GNU/Linux dispone de un aplicativo que convierte las ventanas en un entorno 3D como por ejemplo Beryl. Lo que permite utilizar linux de una forma muy visual y atractiva.