jueves, 8 de marzo de 2012

PRACTICA 4: SUBPROCESOS EN JAVA

PRACTICA 4
SUBPROCESOS EN JAVA

Objetivo.
Ejemplificar los diferentes estados en los cuales puede estar un proceso aplicando la programación con hilos en java.

Metodología.
Crear un archivo en java y que en ejecución cree dos subprocesos usando hilos. (el código correcto en JAVA se anexa).
Ejecute varias veces el programa y comente los resultados.
Coloque comentarios descriptivos, en el archivo para cada línea del código
Anexe figuras donde demuestre la ejecución del programa.


Anexo código.

public class Hilos { //nombre de la clase
   public static void main( String args[] )// metodo donde mandamos imprimir
   {
      ImprimirSubproceso subproceso1 = new ImprimirSubproceso( "subproceso1" );//creación de los objetos a imprimir
      ImprimirSubproceso subproceso2 = new ImprimirSubproceso( "subproceso2" );//creación de los objetos a imprimir 
      System.err.println( "Iniciando (arrancando) subprocesos" );//muestra lo que dirá en pantalla
 subproceso1.start();//El método start crea los recuros del sistema necesarios para que el subproceso se ejecute y a continuación, llama al método run, el subproceso se dice que está en el estado Runnable.
      subproceso2.start();//El método start crea los recursos del sistema necesarios para que el subproceso se ejecute y a continuación, llama al método run, el subproceso se dice que está en el estado Runnable.
   }
}
class ImprimirSubproceso extends Thread {// método donde llamamos el método anterior y hacemos una extension con un hilo
   private int tiempoInactividad;// entero de tipo privado
       public ImprimirSubproceso( String nombre )// llama al constructor de la clase de la que se hereda (extends)"super clase"
   {
      super( nombre );//superclase
      tiempoInactividad = ( int ) ( Math.random() * 5000 );//operación matemática
   }    
  public void run()//El método run es el corazón del subproceso, es donde tiene lugar la acción del subproceso
   {
      try {
         System.err.println(
            getName() + " va a estar inactivo durante " + tiempoInactividad );// valor del nombre
         Thread.sleep( tiempoInactividad );// La función sleep se hereda de Thread y su argumento es el tiempo de pausa en milisegundos.
      }
      catch ( InterruptedException excepcion ) {
         excepcion.printStackTrace();
      }
      System.err.println( "El " + getName() + " terminó su inactividad" );//interrupción del proceso.}
}



REFLEXIÓN:
Para hablar de hilos en Java primeramente se necesita entender lo que es un hilo. Un hilo es un proceso que se está ejecutando en un momento determinado en nuestro sistema operativo, como cualquier otra tarea, esto se realiza directamente en el procesador. Existen los llamados 'demonios' que son los procesos que define el sistema en sí para poder funcionar y otros que llamaremos los hilos definidos por el usuario o por el programador, estos últimos son procesos a los que el programador define un comportamiento e inicia en un momento específico.

ACTIVIDAD 3: DEADLOCK

ACTIVIDAD 3
DEADLOCK





1.- Liste ejemplos de deadlock.

En un estadio de futbol mucha gente quiere entrar y las entradas se saturan de gente y se tienen que formar en filas para poder pasar ordenadamente.

En la central camionera llegan y salen muchos camiones y en determinado tiempo caso, puede estar ocupado el anden de un camión que va llegando  y se tiene que  esperar a que cargue el otro y salga.


2.- Considere el deadlock de trafico.

a)      Muestre las 4 condiciones necesarias que están presentes en el ejemplo.
1.- Exclusion mutua: Cada auto tiene un lugar a donde ir y siguen una dirección.
2.- Retener y Esperar: Un coche ya tiene un carril pero al hacer un cruce usa a si mismo otro carril diferente para atravesarlo.
3.- No expropiación: El coche no puede pasar sobre el de enfrente, tiene que esperar al avance.
4.- Espera circular: Los autos no pueden avanzar hasta que uno avance asi sucesivamente.

b)     Plantear una regla para evitar el deadlocks en el ejemplo.
Colocando unos semáforos en los cruces de las avenidas.

3.-  Sistema con 4 recursos del mismo tipo que son compartidos por 3 procesos, cada uno necesita como máximo 2 recursos.

 


4.- Una computadora tiene 6 impresoras con n procesos. Cada proceso puede necesitar 3 dispositivos. Que valor debe tomar n para que el sistema este libre de deadlock.

 



5.- Sistema compuesto de 4 procesos y 3 tipos de recursos (números de unidades de recursos 3,2,2).

P1 retiene una unidad  de R1 y requiere 1 unidad de R2.
P2 retiene 2 unidades de R2 y requiere 1 unidad de R1 y R3.
P3 retiene 1 unidad de R1 y requiere 1 unidad de R2.
P4 retiene 2 unidades de R3 y requiere 1 unidad de R1.
Muestre el grafo de asignación de recursos.





Reflexión: 

En esta actividad aprendimos lo que es un deadlock utilizando algunos ejemplos de deadlock que vemos en la vida cotidiana.
También realizamos grafos de asignación de recursos y a identificar que el sistema estuviera libre de deadlock.




       

PRACTICA 5: DEADLOCK DE PROCESOS EN JAVA


Práctica no.5
DEADLOCK DE PROCESOS EN JAVA
Objetivo: Comprender el concepto de Bloqueo Mutuo de Procesos ejemplificando con hilos en java.
En esta práctica lo que hicimos fue demostrar a través de código en java como se representa un interbloqueo de procesos, a través de un ejemplo.
Código en java:

public class Deadlock {
    static class Friend {
        private final String name;
        public Friend(String name) {
            this.name = name;
        }
        public String getName() {
            return this.name;
        }
        public synchronized void bow(Friend bower) {            System.out.format("%s: %s has bowed to me!%n",                     this.name, bower.getName());
            bower.bowBack(this);
        }
        public synchronized void bowBack(Friend bower) {            System.out.format("%s: %s has bowed back to me!%n",                    this.name, bower.getName());
        }
    }

    public static void main(String[] args) {
        final Friend alphonse = new Friend("Alphonse");
        final Friend gaston = new Friend("Gaston");
        new Thread(new Runnable() {
            public void run() { alphonse.bow(gaston); }
        }).start();
        new Thread(new Runnable() {
            public void run() { gaston.bow(alphonse); }
        }).start();
    }
}
 
El programa ejecuta un diálogo de “Alphonse” que dice:  “Gaston se ha inclinado para saludarme pero al mismo tiempo “Gaston” dice: “Alphonse se ha inclinado para saludarme”;  pero nunca se lleva a cabo la ejecución del segundo método dentro del programa ya que se crea un interbloqueo.

Programa cambiando los nombres a al y al de una compañera:
public class Deadlock {
    static class Friend {
        private final String name;
        public Friend(String name) {
            this.name = name;
        }
        public String getName() {
            return this.name;
        }
        public synchronized void bow(Friend bower) {
            System.out.format("%s: %s has bowed to me!%n",
                    this.name, bower.getName());
            bower.bowBack(this);
        }
        public synchronized void bowBack(Friend bower) {
            System.out.format("%s: %s has bowed back to me!%n",
                    this.name, bower.getName());
        }
    }

    public static void main(String[] args) {
        final Friend juancarlos = new Friend("Juan Carlos");
        final Friend laura = new Friend("Laura");
        new Thread(new Runnable() {
            public void run() { juancarlos.bow(laura); }
        }).start();
        new Thread(new Runnable() {
            public void run() { laura.bow(juancarlos); }
        }).start();
    }
}


Reflexión:
Esta práctica me ayudo a conocer como funcionan los interbloqueos dentro de los procesos y la importancia que tienen los algoritmos de planificación para que estos lleven un orden y puedan ejecutarse adecuadamente.
El deadlock entre procesos es muy común y esto ocasiona un ciclo que nunca termina ya que si algún proceso requiere un recurso que tenga otro proceso y éste a su vez el de otro, nunca se van a poder ejecutar.  


ACTIVIDAD 4: Scheduling algoritms

Actividad 4
Scheduling algoritms
La práctica consistió en la realización de algoritmos de planificación, de acuerdo a ciertos procesos y su ráfaga de tiempo, ordenarlos de acuerdo al planificador FCFS(FISRT-COME-FIRST-SERVED), crear la gráfica de Gantt, calcular el turnaround y el promedio de espera.
Igualmente usando los mismos datos, calculamos el algoritmo de planificación SJF (SHORTEST-JOB-FIRST) y de igual manera, calcular el turnaround y el promedio de tiempo de espera.
A su vez realizamos la gráfica de Gantt, turnaround y promedio de tiempo de espera de una lista de procesos mediante el algoritmo de planificación.
REFLEXIÓN:
La actividad me ayudo mucho ya que supe como se administran los procesos para poderse ejecutar y lo que tiene que hacer el planificador de algoritmos para administrarlos. También que existen diferentes algoritmos para poderlos llevar acabo tales como los apropiativos y los no apropiativos.  Encontré un parecido a estos algoritmos con la estructura de datos, las colas.

EVIDENCIAS:



 

miércoles, 15 de febrero de 2012

UNIDAD 1

Introducción a los Sistemas Operativos

PRÁCTICA 1

CONSULTA DE LAS VERSIONES DEL S.O.
Objetivos
Determinar la versión y la revisión del sistema operativo (SO).
Analizar el método utilizado para configurar las actualizaciones de Windows vista.
Determinar el numero de revisio de una determinada aplicación
Introducción:
Es importante mantener actualizados los sistemas operativos y las aplicaciones para garantizar un funcionamiento estable y enfrentar las vulnerabilidades de seguridad.  Estas actualizaciones se denominan revisiones, parches, correciones o simplemente actualizaciones.  Aunque Windows ofrece un sistema de actualizaciones automáticas integrado, en el cual incluso se pueden configurar si se quiere que la instale directamente o solamente las descargue para instalarlos cuando se desee, algunos usuarios prefieren usar otros métodos de actualización.
Material y Equipo necesario.
Computadora.
Metodología.
PASO 1: determine el numero de versión y de revisión del Sistema Operativo.
a.       ¿Qué versión del S.O (especifique) y de service pack tiene instalada en su computadora? Defina que es el service pack.
RESPUESTA:  Windows 7 professional, con service pack 1.
Service pack 1: grupo de parches que actualizan, corrigen y mejoran aplicaciones de los Sistemas Operativos.
b.      ¿Cuánta memoria física (RAM) hay instalada y cuanta disponible?
RESPUESTA:  el equipo tiene de memoria RAM instalada:  1 Gb. Y no me muestra la disponible.
c.       ¿Por qué es importante la memoria física para un sistema operativo?
RESPUESTA:  porque según sea la capacidad es la velocidad con la que se ejecuta el sistema operativo, el cual también depende de la capacidad del mismo Sistema Operativo.
d.      Especifique paso a paso como accedió a la información anterior
RESPUESTA: 
paso 1: nos vamos a inicio.
Paso 2: buscamos panel de control y accesamos.
Paso 3: una vez en panel de control buscamos “todos los elementos de panel de control”.
Paso 4: ingresamos a “sistema” donde nos muestra todas las características de nuestro sistema operativo actualmente en uso.
EPASO 2: Configure el sistema operativo para activar o desactivar la actualización automática.
a.       Que opciones ofrece Windows para instalar las actualizaciones.
RESPUESTA: Windows ofrece actualizaciones automáticas o estas también pueden ser descargadas por medio de la red .
b.      Que opciones se recomienda y cual no.
RESPUESTA: se recomienda la actualización automática ya que hay mas seguridad y protección para nuestro sistema operativo. Las que son por medio de descargas no son muy fiables ya que no brindan seguridad al 100%.
c.       Investigue ¿Cuál es la hora por defecto para la instalación de actualizaciones y con que frecuencia?
RESPUESTA:  en mi equipo de computo esta programado para que sea actualice todos los días a las 3:00 am.
d.      ¿Cuál es la configuración actual para las actualizaciones automáticas y por que cree que la persona que configuro la computadora selecciono esta opción?
RESPUESTA: la configuración actual del equipo es:  instalar actualizaciones automáticamente (recomendado), todos los días a las 3:00 am.  Y creo que fue seleccionada esta opción por que de esa forma la actualización no se ve interrumpida y es mas rápida su ejecución.
e.      Especifique paso a paso como accedió a la información anterior
RESPUESTA: de la pagina de internet: //support.microsoft.com y directamente de mi equipo de computo por medio del panel de ontrol----Windows update----cambiar configuración.
PASO 3: Determine la versión de una aplicación
a.       Abra cualquier aplicación.
b.      ¿Cuál es la versión de la aplicación (especifique nombre)?
RESPUESTA : NetBeans IDE 7.0.1
c.       Algunas aplicaciones incluyen la opción “buscar actualizaciones”. ¿La aplicación tiene esta opción?
RESPUESTA :    la aplicación si cuenta con esta opción.
d.      Especifique paso a paso como accedió a la información anterior.
RESPUESTA:  en mi equipo de computo, me fui a inicio, de ahí busque la opción “todos los programas”, abri la aplicación NetBeans IDE 7.0.1 y para ver sus actualizaciones a “herramientas”.
PASO 4: Reflexion.
a.       ¿Cuándo es importante obtener una actualización para una alicacion o un sistema operativo?
RESPUESTA :  cuando termine la fecha y hora indicada en la configuración (es decir, haya caducado), esto para tener mas y un mejor rendimeinto con nuestro sistema y estar al dia con las novedades del mismo.
b.      Mencione por que es necesario conocer la versin del sistema oprativo o de la aplicación en uso.
RESPUESTA: por que de esta forma podemos buscar programas que son compatibles y de fácil instalación y soporte (por que depende de la capacidad que tenemos en nuestro sistema).
SUGERENCIAS DIDACTICAS.
Trabajo individual.
Consultar la ayuda proporcionada por el sistema oprativo.
RESULTADOS.
Explicar a detalle y anexe figuras que ilustren los resultados obtenidos (anexar).
CONCLUSIONES.
Es muy importante conocer nuestro equipo de computo, conocer sus características tanto físicas como internas, para saber su capacidad y conocer su rendimiento.  También para conocer y manejar adecuadamente nuestro sistema operativo,al igual que identificar si a nuestro equipo se le puede instalar algún otro sistema opertivo (dependiendo su capacidad).

PRÁCTICA 2

INTERFACES DE USUARIO.
OBJETIVOS.
Aplicar las interfaces utilizadas por el sistema operativo
Determinar la diferencia entre las distintas interfaces analizadas.
INTRODUCCION.
La interfaz de usuario es el medio con que el usuario puede comunicarse con una maquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo, normalmente suelen ser fáciles de entender y fáciles de accionar.
TIPOS DE INTERFACES DE USUARIO.
a.       SEGÚN LA FORMA DE INTERACTUAR DEL USUARIO
Atendiendo a como elusuario puede interactuar con la interfaz, se clasifican en :
-interfaces alfanuméricas (interpretes de comandos) que solo presentan texto.
-interfaces graficas de usuario (GUI, graphics user interfaces), las que permiten comunicarse con la computadora de una forma muy rápida e intuitiva represntando gráficamente los elementos de control y medida.
-interfaces táctiles que representan gráficamente un “panel de control” en una pantalla sensible que permiten interaccionar con el dedo de forma similar asi se accionara un control físico.
b.      SEGÚN SU CONSTRUCCION
-interfaces de hardware: se trat de un conjunto de controles o dispositivos que permiten que el usuario intercambie datos con la maquina, ya sea introduciéndolos (pulsadores, botones, teclas, reguladores, palancas, manivelas, perillas) o leyéndolos(pantallas, diales, medidores, marcadores, instrumentos).
- interfaces de software: Son programas o parte de ellos, que permiten expresar nuestros deseos a la computadora o visualizar su respuesta.
El principal objetivo de una interfaz de usuario es que este se pueda comunicar a través de ella con algún tipo de dispositivo, conseguida esta comunicación, el segundo objetivo que se debería perseguir es el de que dicha comunicación se pueda desarrollar de la forma mas fácil y comoda posible para el usuario, sin embargo, las interfaces no siempre son intuitivas tal como es el caso de las interfaces de línea de ordenes 8CLI), que se encuentran por ejemplo en algunos sistemas oprativos commo los NOS de los Routers o algunos Shell de Unix, DOS, etc.  Estas interfaces son las primeras que utilizaron las computadoras pero se siguen usando, ya que también es importante reconocer que son el mejor medio para que el administrador del sistema pueda llevar a cabo tareas complejas, por ello el sistema operativo dispone de un interprete de comandos (Shell en Unix, consola o símbolo del sistema en Windows) como parte fundamental de la interfaz del usuario.
MATERIAL Y EQUIPO NECESARIO.
Computadora
METODOLOGIA.
PASO 1. Muestre un ejemplo grafico de al menos 3 tipos de interfaces mencionadas previamente, identifique sus componentes y explique brevemente.
                 (interfaz grafica (iconos))                                       (interfaz alfanumérico (muestra texto))

(intefaz táctil (interactua con lápiz o dedo))
PASO 2. Explica 3 acciones que te permite realizar la GUI tanto con el teclado como con el raton.
RESPUESTA: AUTOCAD, video lllamadas, touchscreen, videojuegos, Excel, internet, fotoshop.
PASO 3. Ejecucion de comandos con la interfaz CLI.  Accede a la CLI de Windows. Utiliza el comando cmd (change mode, desde inicio y en buscar escríbelo), en el prompt teclea:
a.       HELP (describe lo que sucede al teclearlo): aparece un listado de comandos, que proporciona información de ayuda para todo los comandos.
b.      Cd (describe el resultado obtenido):  cambia de un directorio activo a otro.
c.       Dir (para que sirve el comando y que resultado genero): volumen de C y numero de serie, muestra todo lo almacenado en C, fecha, hora, DIR, carpeta, archivos y subdirectorios en un directorio.
d.      Busca el comando para buscar directorios:
° Crea un directorio con tu nombre,
° Ingresa al directorio,
° Una vez ahí crea otro con tu apellido,
° Regresa a la raíz c:\> (con cd….hasta llegar),
° Escribe tree (con control c, suspende)
NOTA: Describe en cada punto los comandos utilizados y que resultado obtuviste.
Me mostro todos mis directorios que están en mi equipo, al igual que los archivos guardados, mostrándome a la vez como esta estructurado mi directorio.
PASO 4: selecciona la opción mas adecuada para cada planteamiento:
a.       Las aplicaciones diseñadas para un sistema operativo particular regularmente utilizan un tipo de interfaz:  IGUAL.
b.      La interfaz del usuario en programas caracterizada por ser intuitiva y de fácil aprendizaje es:  LA INTERFAZ GRAFICA DE USUARIO (GUI).
c.       Para controlar el sistema la interfaz de comandos requiere: HACER CLICK SOBRE LOS ICONOS
d.      La interfaz considerada para usuarios experimentados debido a que es necesario recordar la sintaxis y nomenclatura correcta del comando es:  LA INTERFAZ LINEA DE COMANDOS.
PASO 5: REFLEXION
a.       ¿Cuáles son las ventajas de usar GUI o CLI?
GUI: es mas fácil y entendible, para el usuario es importante lo que ve en pantalla, la presentación, confiabilidad y poco costo.
CLI: fáciles de ejecutar (Shell unix), rapidez.  Es importante que el usuario conozca bien los comandos, no recordar ni palabras ni sintaxis.
b.      ¿Cuáles son las desventajas de usar GUI o CLI?
GUI:  requieren de un usuario calificado que estudie y conozca los comandos lo cual resulta muy restrictivo.
CLI: se presenta dificultad al momento de diseñar una interfaz por línea de comando ideando una metáfora, no se puede ingresar por errores ortográficos por lo que ocasiona problemas a un usuario inexperto.
CONCLUSIONES.
Conocimos la importancia de la interfaz de usuario y los tipos de interfaces que esto implica.
Son muy importantes ya que por el medio grafico podemos ver los resultados de cada instrucción que se de a nuestro equipo y de esta manera es mas rápido y fácil de aprender. Aunque la parte complicada es conocer cada uno de los comandos para que asi con la línea de órdenes saber lo que implica y para que nos es útil cada cosa y asi con esto saber dar ordenes a nuestro sistema operativo.

ACTIVIDAD 1

Avances importantes de la historia de los SO.
a.       Recolectar material para elaborar una línea de tiempo en la cual se represente avences importantes en la historia de los SO.
b.      Como resultado de lo anterior clasificar los desarrollos históricos de sistemas operativos comerciales como: Windows, Linux, Unix.  El profesor asignará el sistema operativo a investigar.
c.       Conteste las siguientes preguntas:
Los sistemas operativos se clasifican:
1)      De acuerdo al número de usuarios en: Monousuario y Multiusuario.
2)      Con respecto a programas que ejecuta al mismo tiempo: Monotarea y Multitarea. 
3)      De acuerdo al número de procesadores que administra en: Uniproceso y Multiproceso.
4)      Con respecto al tiempo de respuesta que ofrecen al usuario en: Tiempo real y tiempo compartido.

d.      Clasificar el sistema operativo asignado de acuerdo a:
1.       Número de usuarios que atiende: Multiusuario, ya que el usuario administrador es fijo y protegido en algunas cosas y para tener acceso a más programas sin dañar configuración.
2.       Programas que ejecuta al mismo tiempo: Multitarea, ya que se pueden abrir varios programas al mismo tiempo y dar indicaciones y éstas puedan ejecutarse.
3.       Número de procesadores que administra: Multiproceso.
4.       Tiempo de respuesta que ofrecen al usuario: Tiempo real. La respuesta del sistema es inmediata después de iniciar el proceso.

e.      El trabajo será presentado en clase como un debate con otro equipo con el mismo tema.
f.        Los incisos c y d serán contestados de manera individual en una hoja de reciclaje la cual debe tener como encabezado el titulo de la actividad. Se deberá mostrar el haber leído antes de contestar dichas preguntas, ser breve y conciso.
g.       Además incluir una reflexión personal que conteste las siguientes preguntas una vez elaborada la actividad:
·         Lo que sabía del tema: Era lo básico e indispensable para usar un sistema operativo como Windows y usarlo para la casa y hacer tareas ó conexión a Internet.
·         Lo que aprendí: Supe más características técnicas que ofrece Windows y así poder hacer un mejor y completo uso del sistema operativo. 
·         Lo que me gustaría aprender: Lo que aprendí de Windows, me gustaría saberlo por igual de otros sistemas operativos para poder tener un amplio conocimiento.
·         Como lo aplicaré en mi vida profesional: Por si algún día tengo la necesidad de desarrollar un sistema operativo, ya tengo las bases para hacerlo.

INFORMACIÓN DE LA LÍNEA DE TIEMPO UTILIZADA POR EL EQUIPO DE WINDOWS:
1975–1981: Inicio de Microsoft
Los comienzos: cofundadores de Microsoft, Paul Allen (izquierda) y Bill Gates Los comienzos: cofundadores de Microsoft, Paul Allen (izquierda) y Bill Gates
Es la década de 1970. En el trabajo, dependemos de las máquinas de escribir. Si necesitamos copiar un documento, es probable que usemos un mimeógrafo o papel de calco. Pocos han oído hablar de las microcomputadoras, pero dos jóvenes apasionados de la informática, Bill Gates y Paul Allen, perciben que la informática personal es el camino hacia el futuro.
En 1975, Gates y Allen constituyen una sociedad denominada Microsoft. Como la mayoría de las empresas cuando dan sus primeros pasos, Microsoft comienza siendo una compañía pequeña pero con una visión enorme: un equipo informático en cada escritorio y en cada hogar. Durante los próximos años, Microsoft comienza a cambiar la forma en que trabajamos.
El amanecer de MS-DOS
En junio de 1980, Gates y Allen contratan a Steve Ballmer, excompañero de Gates con el que estudió en Harvard, para que les ayude a dirigir la empresa. Al mes siguiente, IBM se pone en contacto con Microsoft en relación con un código de proyecto denominado "Chess". En respuesta, Microsoft se concentra en un nuevo sistema operativo (el software que administra o ejecuta el hardware del equipo y que, además, sirve como puente entre el hardware del equipo y los programas, como un procesador de texto). Es la base sobre la que se pueden ejecutar los programas del equipo. Llamaron al nuevo sistema operativo "MS-DOS".
1982–1985: Presentación de Windows 1.0
Escritorio de Windows 1.0
Microsoft trabaja en la primera versión de un nuevo sistema operativo. Interface Manager es el nombre en clave y se piensa en dejarlo como nombre definitivo, pero Windows prevalece debido a que describe mejor los cuadros y las "ventanas" informáticas, que resultan fundamentales en el nuevo sistema. Windows se anuncia en 1983, pero lleva un tiempo desarrollarlo. Los escépticos lo llaman "vaporware" (humo informático).
Windows 1.0 embalado Windows 1.0 embalado
El 20 de noviembre de 1985, dos años después del anuncio inicial, Microsoft lanza Windows 1.0. Ahora, en lugar de escribir comandos de MS-DOS, es posible desplazarse entre pantallas o "ventanas" señalando y haciendo clic con el mouse. Según Bill Gates, "se trata de un software exclusivo diseñado para el usuario de PC serio..."
Hay menús desplegables, barras desplazables, iconos y cuadros de diálogo que facilitan el aprendizaje y el uso de los programas. Se puede alternar entre varios programas sin tener que salir de ellos y reiniciarlos de manera individual. Windows 1.0 viene con varios programas, incluida la administración de archivos de MSDOS, Paint, Windows Writer, Bloc de notas y Calculadora, así como con un calendario, un archivo de tarjetas y un reloj que ayudan a administrar las actividades diarias. Incluso hay un juego: Reversi.
1987–1992: Windows 2.0–2.11: Más ventanas, más velocidad
Escritorio de Windows 2.0
El 9 de diciembre de 1987, Microsoft lanza Windows 2.0, con iconos de escritorio y memoria expandida. Con compatibilidad mejorada para gráficos, ahora es posible superponer ventanas, controlar el diseño de la pantalla y usar métodos abreviados de teclado para acelerar el trabajo. Para este lanzamiento, algunos desarrolladores de software escriben sus primeros programas basados en Windows.
Windows 2.0 Windows 2.0
Windows 2.0 está diseñado para el procesador Intel 286. Nada más lanzarse el procesador Intel 386, se publica Windows/386 para aprovechar sus funcionalidades de memoria extendida. Las versiones posteriores de Windows continúan mejorando la velocidad, la confiabilidad y la capacidad de uso del equipo.
1990–1994: Windows 3.0–Windows NT: Los gráficos entran en escena
Escritorio de Windows 3.0
El 22 de mayo de 1990, Microsoft anuncia Windows 3.0, al que poco después seguirá Windows 3.1, en 1992. Juntos vendieron 10 millones de copias en los primeros dos años, lo que lo convirtió en el sistema operativo Windows más utilizado. La dimensión de este éxito hace que Microsoft revise sus planes originales. La memoria virtual mejora los gráficos visuales. En 1990, Windows comienza a tomar el aspecto de las futuras versiones.
Ahora, Windows tiene un rendimiento significativamente mejor, gráficos avanzados con 16 colores e iconos mejorados. Una nueva ola de equipos 386 ayuda a impulsar la popularidad de Windows 3.0. Gracias a su total compatibilidad con el procesador Intel 386, los programas se ejecutan mucho más rápido. Llegan a Windows 3.0 el Administrador de programas, el Administrador de archivos y el Administrador de impresión.
1995–2001: Windows 95: Los equipos informáticos alcanzan la madurez (y no olvidemos Internet)
Escritorio de Windows 95
El 24 de agosto de 1995, Microsoft lanza Windows 95, que marca un récord de ventas con 7 millones de copias durante las primeras cinco semanas. Es el lanzamiento más publicitado que Microsoft jamás ha realizado. Los anuncios en la TV presentaban a los Rolling Stones cantando "Start Me Up" con imágenes del nuevo botón de Inicio. El comunicado de prensa comenzaba con un simple: "Ya está aquí".
Día del lanzamiento: Bill Gates presenta Windows 95 Día del lanzamiento: Bill Gates presenta Windows 95
Es la era de los fax/módems, el correo electrónico, el nuevo mundo en línea y de los deslumbrantes juegos multimedia y el software educativo. Windows 95 tiene compatibilidad integrada con Internet, conexión de red por acceso telefónico y nuevas funciones de Plug and Play que facilitan la instalación de hardware y software. El sistema operativo de 32 bits, además, ofrece funciones multimedia mejoradas, características más eficaces para equipos informáticos móviles y redes integradas.
1998–2000: Windows 98, Windows 2000, Windows Me
Windows 98
Escritorio de Windows 98
Presentado el 25 de junio de 1998, Windows 98 es la primera versión de Windows diseñada específicamente para los consumidores. Los equipos informáticos son habituales en la oficina y en el hogar, y comienzan a aparecer los cibercafés, desde donde se puede acceder a Internet. Windows 98 se describe como un sistema operativo que "Funciona mejor, juega mejor".
Con Windows 98, resulta más fácil encontrar información en los equipos y en Internet. Otras mejoras incluyen la capacidad de abrir y cerrar programas más rápidamente y la compatibilidad con discos DVD y dispositivos de bus serie universal (USB). Otro elemento que aparece por primera vez es la barra Inicio rápido, que permite ejecutar programas sin tener que buscarlos en el menú Inicio ni en el escritorio.
Windows Me
La experiencia multimedia de Windows Me
Windows Me, diseñado para el uso en el hogar, incorpora numerosas mejoras relacionadas con la reproducción de música, vídeo y redes domésticas; además, supone un enorme avance en materia de confiabilidad en comparación con versiones anteriores.
Elementos que aparecen por primera vez: Restaurar sistema, una característica que retrotrae la configuración de software del equipo a una fecha o a una hora anterior a la aparición de un problema grave; Windows Movie Maker proporciona a los usuarios herramientas para montar, guardar y compartir digitalmente vídeos caseros, y las tecnologías del Reproductor de Microsoft Windows Media 7 permiten buscar, organizar y reproducir elementos multimedia digitales.
Windows 2000 Professional
Windows 2000 Professional Windows 2000 Professional
Más que una actualización de Windows NT Workstation 4.0, Windows 2000 Professional fue diseñado para reemplazar a Windows 95, Windows 98 y Windows NT Workstation 4.0 en todos los equipos comerciales y portátiles. Creado a partir de la base de código de eficacia probada de Windows NT Workstation 4.0, Windows 2000 incorpora importantes mejoras relacionadas con la confiabilidad, facilidad de uso, compatibilidad con Internet y compatibilidad con equipos informáticos móviles.
Entre otras mejoras, Windows 2000 Professional simplifica la instalación de hardware mediante la compatibilidad con una amplia variedad de nuevo hardware Plug and Play, incluidos productos de red e inalámbricos avanzados, dispositivos USB, dispositivos IEEE 1394 y dispositivos infrarrojos.
2001–2005: Windows XP: Estable, rápido y fácil de usar
Escritorio de Windows XP Home Edition
El 25 de octubre de 2001, se lanza Windows XP, con un diseño renovado centrado en la facilidad y en un centro de servicios de Ayuda y soporte técnico unificado. Se presenta en 25 idiomas. Desde mediados de la década de 1970 hasta el lanzamiento de Windows XP, en el mundo se habían instalado unos 1.000 millones de PCs.
Para Microsoft, Windows XP se convertirá en uno de los productos de mayor venta de los años venideros. Es rápido y estable. La navegación en el menú Inicio, en la barra de tareas y en el Panel de control es más intuitiva. Se incrementa la preocupación (y concienciación) por los virus y los piratas informáticos, pero en gran medida los temores se disipan gracias a la posibilidad de realizar actualizaciones de seguridad en línea. Los usuarios comienzan a entender las alertas sobre datos adjuntos sospechosos y virus. Se pone más énfasis en la ayuda y en la asistencia técnica.
2006–2008: Windows Vista: Inteligencia y seguridad
Escritorio de Windows Vista
Windows Vista se presentó al mercado en 2006 con el sistema de seguridad más sólido conocido hasta el momento. El Control de cuentas de usuario ayuda a evitar que software potencialmente dañino ejecute cambios en el equipo. En Windows Vista Ultimate, el Cifrado de unidad BitLocker brinda mejor protección de datos al equipo, a medida que las ventas de equipos portátiles y las necesidades de seguridad aumentan. Además, Windows Vista cuenta con mejoras en el Reproductor de Windows Media, ya que cada vez más personas comienzan a ver sus equipos como ubicaciones centrales de medios digitales. En ellos pueden ver televisión, mirar y enviar fotografías, y editar vídeos.
Windows Vista Ultimate Windows Vista Ultimate
El diseño juega un papel importante en Windows Vista, y elementos tales como la barra de tareas y los bordes de las ventanas adquieren un nuevo aspecto. La búsqueda adquiere un nuevo énfasis y ayuda a los usuarios a encontrar archivos en sus equipos más rápidamente. Windows Vista presenta nuevas ediciones, cada una de las cuales contiene una combinación diferente de características y prestaciones. Se presenta en 35 idiomas. El botón Iniciar rediseñado aparece por primera vez en Windows Vista.
2009 hasta hoy: Windows 7 y lo que vendrá...
Escritorio de Windows 7
A finales de la primera década del siglo XXI, llegó el mundo inalámbrico. Cuando en octubre de 2009 se produce el lanzamiento de Windows 7, las ventas de equipos portátiles superan a las de equipos de escritorio, y es habitual conectarse en zonas interactivas inalámbricas públicas, como los cafés. Se pueden crear redes inalámbricas en la oficina o en el hogar.
Windows 7 incluye muchas características, como nuevos mecanismos para trabajar con ventanas (Ajustar, Aero Peek y Aero Shake). Windows Touch hace su debut y permite usar los dedos para explorar la Web, ver fotos y abrir archivos y carpetas. Se puede reproducir música, vídeos y fotos desde el equipo en un estéreo o en el televisor.
En el otoño de 2010, Windows 7 había vendido siete copias por segundo: el sistema operativo de venta más rápida de la historia.


Reflexión: Esta actividad me ayudó mucho ya que conocí la historia más a fondo del sistema operativo que más uso y de donde proviene asi como su evolución y mejoramiento con el paso del tiempo.
También pude conocer la historia de los demás sistemas operativos más importantes tales como linux y unix y saber como surgieron.