jueves, 27 de enero de 2011

HISTORIA Y EVOLUCION DE LOS SISTEMAS OPERATIVOS




 Introducción Los sistemas operativos han venido evolucionando a través de los años .  ya que los sistemas operativos se  han apegado íntimamente a la arquitectura de las computadoras en las cuales se ejecutan .
 La primera computadora digital real fue diseñada por el matemático ingles Charles Babbage ( 1792 - 1871) . Aunque Babbage gasto la mayor parte de su vida y de su fortuna intentando construir su “ maquina analítica “ , nunca la hizo funcionar adecuadamente porque era un diseño puramente mecánico y la tecnología de su época no podía producir las ruedas, el engranaje, levas y otras partes mecánicas con la alta precisión que el necesitaba. Sin tener que decirlo, la maquina analítica no tuvo un sistema operativo.
  


La primera generacion (1945 - 1955 ) : Tubos de vacio y tableros enchufables
Después de los esfuerzos frustrados de Babbage, se progresó poco en la construcción de computadoras digitales hasta la segunda guerra mundial, alrededor de la mitad de la década de 1940, Howard Aiken en Hardvard, Jon Von Neumann en el Instituto de Estudios Avanzados en Princeton, J. Presper Ecker y William Mauchley en la Universidad de Pennsylvania y Konrad Zuse en Alemania, entre otros, todos obtuvieron resultados óptimos en la construcción de maquinas de calculo mediante el uso de tubos de vacío.
En estos primeros días, un grupo singular de personas diseño, construyo, programo, opero y dio mantenimiento a cada maquina. Toda la programación se realizo en lenguaje de maquina absoluto. Los lenguajes de programación se desconocían ( todavía no existía el lenguaje ensamblador ). Los primeros sistemas operativos eran extraños. El modo usual de operación consistía en que el programador firmaba para tener acceso a un bloque de tiempo en la hoja de registro situada en la pared, después bajaba al cuarto de maquinas, insertaba su tablero enchufable en la computadora y pasaba las siguientes horas esperando que ninguno de los 20,000 tubos de vació  se fundiera durante la ejecución de su programa.
Al inicio de la década de 1950, la rutina había mejorado un poco con la introducción de la tarjetas perforadas. Ahora era posible escribir  en tarjetas y leerlos, en vez de utilizar tableros enchufables; de lo contrario el procedimiento era el mismo.

 La segunda generacion (1955 - 1965 ) : Transistores y sistemas de lote
La introducción del transistor a mediados de la década de 1950 cambio la imagen radicalmente. Las computadoras se volvieron lo suficientemente confiables, en un principio hubo una clara separación entre los diseñadores, armadores, operadores, programadores y personal de mantenimiento.
Estas maquinas se instalaban en cuartos de computadoras especialmente acondicionados con aire, con cuerpo de operadores profesionales para accionarlas. un programador primeramente escribiría el programa en papel ( en FORTRAN o en lenguaje Ensamblador ) y después lo perforaría en tarjetas. Después llevaría la pila de tarjetas al cuarto de introducción al sistema y la entregaría a uno de los operadores el cual iniciaba el proceso en la computadora, este proceso desperdiciaba mucho tiempo.
Dado el alto costo del equipo, no es sorprendente que las personas buscaran rápidamente maneras de reducir el tiempo perdido. La solución que generalmente se adoptaba era el sistema de lote. La idea implícita en este sistema era la de conjuntar un cajón lleno de trabajos en el cuarto de introducción al sistema y después leerlos en una cinta magnética mediante el uso de una computadora ( relativamente ) pequeña y poco costosa, como la IBM 1401.      
Después de casi una hora de recolectar un lote de trabajos, la cinta se volvía a enrollar y se llevaba al cuarto de maquinas. Después el operador cargaba un programa especial ( el ancestro del sistema operativo de hoy en día ) , el cual leía el primer trabajo y lo ejecutaba, la salida se escribía en una segunda cinta, en vez de imprimirse. Después de terminar cada trabajo, el sistema operativo leía automáticamente el siguiente trabajo de la cinta, y comenzaba a ejecutarlo.
La estructura de un trabajo de entrada común arrancaba con una tarjeta $JOB , que especifica el tiempo máximo de ejecución en minutos, el numero de cuenta que se cargara y el nombre del programador. Después venia una tarjeta $FORTRAN , que indicaba al sistema operativo que debía cargar el compilador de FORTRAN . Venia seguido de un programa que debía compilarse y después de una tarjeta $LOAD, que ordenaba al sistema operativo cargar el programa objeto recién compilado, después venia la tarjeta $RUN, que indicaba al sistema operativo que debía ejecutar el programa con los datos que le seguían. Por ultimo, la tarjeta $END marcaba el final del trabajo. Los sistemas operativos comunes eran FMS ( el sistema monitor del FORTRAN ) e IBSYS, sistema operativo de IBM de la 7094. 



La tercera generacion (1965 - 1980 ) : Circuitos integrados ( CI ) y multiprogramacion
Al inicio de la década de 1960 muchos fabricantes de computadoras tenían dos líneas de trabajo distintas y totalmente incompatibles. Por un lado existían las computadoras científicas de grande escala orientadas a las palabras, como la 7094, que se utilizaban para realizar cálculos numéricos de ciencias e ingeniería. Por el otro lado estaban las computadoras comerciales orientadas a los caracteres, como 1401, que se utilizaban para el ordenamiento de cintas  e impresión por parte de bancos y compañías de seguros.
El desarrollo y mantenimiento de dos líneas de productos diferentes era una proposición costosa para los fabricantes. Además, muchos nuevos compradores de computadoras necesitaban una maquina pequeña, pero después se expandían y querían una maquina de mayor tamaño que ejecutara todos sus programas antiguos, pero con mayor velocidad.
IBM intento resolver estos dos problemas de un solo golpe introduciendo en el mercado el Sistema/360. El 360 era una serie de maquinas compatibles con el software que variaban del tamaño de la 1401 a una mucho mas poderosa que la 7094, el 360 estaba diseñado para realizar cálculos tanto científicos como comerciales. Por lo tanto una sola familia de maquinas podía satisfacer las necesidades de todos los clientes.
El sistema 360 fue la primera línea importante de computadoras que utilizo circuitos integrados ( CI ), con lo cual ofreció una mayor ventaja de precio/rendimiento sobre las maquinas de la segunda generación.
La intención era que todo el software, como el sistema operativo, tenían que funcionar en todos los modelos. Tenia que correr en sistemas pequeños, y en sistemas muy grandes. Tenia que funcionar adecuadamente en sistemas con algunos periféricos y en sistemas con muchos periféricos.
No había manera de que IBM escribiera una pieza de software que cumpliera todos esos requisitos conflictivos. El resultado fue un sistema operativo enorme y extraordinariamente complejo. Constaba de millones de líneas de lenguaje ensamblador escritas por miles de programadores, y contenía miles y miles de errores ocultos.       
A pesar de tamaño y problemas enormes , OS/360 y los sistemas operativos similares de la tercera generación satisfacían a muchos de sus clientes razonablemente bien, También popularizaron varias técnicas importantes ausentes en los sistemas operativos de la segunda generación. La mas importante de estas fue la multiprogramación. Cuando el trabajo corriente se detenía para esperara a que se completara una operación en cinta u otra operación de E/S, la unidad central de procesamiento ( CPU ) simplemente permanecía ociosa hasta que terminara la operación de E/S . La solución que evoluciono consistía en partir la memoria en varias partes, con trabajo diferente en cada partición. Mientras que un trabajo esperaba a que se completara la E/S, otro trabajo podía estar utilizando la CPU. Si se podían mantener suficientes trabajos en la memoria central al mismo tiempo, la CPU podía mantenerse ocupada casi el 100% del tiempo.
Otra caracteristica de importancia en los sistemas operativos de la tercera generación era la capacidad de leer trabajos de tarjetas contenidas en el disco tan pronto como se llevaban al cuarto de computación. Siempre que se terminaba un trabajo, el sistema operativo podía cargar uno nuevo del disco en la partición no vacía y ejecutarlo, esta técnica se denomina manejo por cola de impresión.  
Los sistemas operativos de la tercera generación seguían siendo básicamente sistemas de lote. Con los sistemas operativos de la tercera generación, el tiempo entre la entrega de un trabajo y la devolución de la salida comprendía a menudo varias horas.
El deseo de obtener un tiempo de respuesta corto marco el camino para el tiempo compartido, variante de la multiprogramación, en la cual cada usuario tiene una terminal en línea. En un sistema de tiempo compartido si hay 20 usuarios dentro del sistema y 17 de ellos están pensando o platicando o bien tomando café, la CPU puede distribuirse en turno para los tres trabajos que necesitan servicio.
Aunque el primer sistema de tiempo compartido ( CTSS ) serio fue creado en MIT  en una unidad 7094 especialmente modificada, no se volvió popular sino hasta que el hardware de protección necesario se disemino durante la tercera generación.
Después del éxito del sistema CTSS, MIT, Bell laboratories y General electric decidieron embarcarse en el desarrollo de la “ computadora de servicio publico “. conocido como MULTICS ( Multiplexed information and computing service, información multicanalizada y servicio de computación ) . Para resumir una larga historia, MULTICS introdujo muchas ideas originales en la literatura de computación, pero su construcción era mas difícil de lo que nadie había sospechado. MULTICS tuvo enorme influencia sobre otros sistemas subsiguientes.
Otro avance durante la tercera generación fue el crecimiento de las minicomputadoras, comenzando con DEC PDP-1 en 1961. Uno de los científicos que había trabajado en el proyecto MULTICS, Ken Thompson, hallo después una pequeña PDP-7 y empezó a escribir después una versión desguarnecida de MULTICS para un usuario. Este sistema se llamo “UNICS” ( Uniplexed information and computing service, información unicanalizada y servicio de computación ), pero su ortografía cambio mas tarde por UNIX. UNIX se ha desplazado a mas computadoras que ningún otro sistema operativo de la historia y su uso sigue aumentando rápidamente.



 La cuarta generacion (1980 - 1990 ) : Computadoras personales
Con la creación de los circuitos integrados LSI ( integración a grande escala ) , chips que contiene miles de transistores en un centímetro cuadrado de silicon, la era de computadora personal vio sus inicios.
Dos sistemas operativos han dominado la escena de la computadora personal: MS-DOS, escrito por Microsoft, Inc., para la IBM PC y otras computadoras que utilizan la CPU Intel 8088 y sus sucesores. y UNIX, que domina en las computadoras personales mayores que hacen uso de CPU Motorola 68000.
Aunque la versión inicial de MS-DOS era relativamente primitiva, versiones subsiguientes han incluido mas y mas características de UNIX, lo que no es totalmente sorprendente dado que Microsoft es un proveedor importante de UNIX, que usa el nombre comercial de XENIX.
Un avance importante que empezó a tomar su sitio a mediados de la década de 1980 es el desarrollo de redes de computadoras personales que corren sistemas operativos en red y sistemas operativos distribuidos. En un sistema operativo en red, los usuarios tienen conocimiento de la existencia de múltiples computadoras y pueden ingresar en maquinas remotas y reproducir archivos de una maquina a la otra. Cada maquina ejecuta su sistema operativo local y tiene un usuario propio ( o usuarios).
Un sistema distribuido, es aquel que se presenta ante sus usuarios como un sistema uniprocesador tradicional, aunque en realidad este compuesto de múltiples procesadores. En un sistema distribuido real, los usuarios no tienen conocimiento de donde se están ejecutando sus programas o de donde están ubicados sus archivos; todo esto se debe manejar en forma automática y eficiente por medio del sistema operativo.
Los sistemas operativos en red no son fundamentalmente diferentes de los sistemas operativos uniprocesadores. Sin duda necesitan un controlador de interfaz en red y algún software de bajo nivel para impulsarlo, así como programas para lograr un ingreso remoto al sistema y un acceso remoto del archivo .
Los sistemas operativos distribuidos reales requieren mas que simplemente agregar un poco de código a un sistema operativo uniprocesador, ya que los sistemas operativos distribuidos y centralizados difieren de manera decisiva.  

 Historia de Minix
Cuando UNIX era joven ( versión 6 ), el código fuente se encontraba en todas partes, con autorización de AT&T, y se estudiaba frecuentemente, John Lions, llego a escribir un pequeño folleto que describía su operación, línea por línea, este folleto se utilizo como libro de texto en muchos cursos universitarios.
Cuando AT&T entrego la versión 7, empezó a comprender que UNIX era un valioso producto comercial, así que emitió la versión 7 con una licencia que  prohibía el estudio del código fuente en cursos con el objeto de evitar poner en peligro su condición como secreto comercial, muchas universidades se quejaron simplemente descartando el estudio de UNIX y  enseñando solo teoría.
Por desgracia, el solo enseñar teoría deja al estudiante con una visión desproporcionada de lo que en realidad es un sistema operativo. Para remediar esta situación, decidí escribir un nuevo sistema operativo que seria compatible con UNIX desde el punto de vista del usuario, pero completamente diferente en el interior. El nombre MINIX surge de mini-UNIX porque es lo suficientemente pequeño que hasta alguien que no sea maestro puede entender la forma en que trabaja.
MINIX  tiene otra ventaja sobre UNIX, se escribió una década después que UNIX y se ha estructurado en forma mas modular. El sistema de archivo de MINIX , por ejemplo, no es parte del sistema operativo en absoluto, pero corre como un programa de usuario. Otra diferencia es que UNIX se diseño para ser eficiente; MINIX se diseño para ser legible, el código de MINIX, por ejemplo , tiene mas de 3000 comentarios en  él.
MINIX se ha diseñado para ser compatible con la versión 7 de UNIX. AL igual que UNIX, MINIX se escribe en lenguaje de programación C. La implementacion inicial se hizo en la IBM PC, MINIX no requiere un disco duro para correr, con lo cual se ajusta a los presupuestos de muchos estudiantes.

LISTA DE COMANDOS WINDOWS

                                             COMANDOS WINDOWS                                     
Panel de control
·         CONTROL : abre el panel de control
·         CONTROL ADMINTOOLS : abre las herramientas administrativas
·         CONTROL KEYBOARD : abre las propiedades del teclado
·         CONTROL COLOR : abre las propiedades de pantalla
·         CONTROL FOLDERS : abre las opciones de carpeta
·         CONTROL FONTS : abre las fuentes
·         CONTROL INTERNATIONAL o INTL.CPL : abre la configuración regional y de idioma
·         CONTROL MOUSE o MAIN.CPL : abre las propiedades del mouse
·         CONTROL USERPASSWORDS : abre las cuentas de usuario
·         CONTROL USERPASSWORDS2 o NETPLWIZ : administración de usuarios y su acceso
·         CONTROL /NAME MICROSOFT.BACKUPANDRESTORECENTER : abre el centro de respaldo y recuperación (Para Vista únicamente).
·         CONTROL PRINTERS : impresoras y faxes disponibles
·         APPWIZ.CPL : abre agregar o quitar programas
·         OPTIONALFEATURES : abre la herramienta agregar o quitar componentes Windows (únicamente para Vista)
·         DESK.CPL : abre las propiedades de pantalla
·         HDWWIZ.CPL : abre el asistente para agregar hardware
·         INFOCARDCPL.CPL : abre el asistente de compatibilidad de programas
·         IRPROPS.CPL : abre la utilidad de infrarojo
·         ISCSICPL : abre la herramienta de configuración del iniciador ISCI Microsoft (únicamente para Vista)
·         JOY.CPL : abre el dispositivo de juegos
·         MMSYS.CPL : abre las propiedades de dispositivos de sonido y audio
·         SYSDM.CPL : abre las propiedades del sistema
·         TABLETPC.CPL : abre la configuración para Tablet pc (únicamente para Vista)
·         TELEPHON.CPL : abre la herramienta de información de la ubicación
·         TIMEDATE.CPL : abre las propiedades de fecha y hora
·         WSCUI.CPL : abre el centro de seguridad de Windows
·         ACCESS.CPL : abre las opciones de accesibilidad (únicamente para XP)
·         WUAUCPL.CPL : abre el servicio de actualizaciones automáticas de Windows (únicamente para XP)
·         POWERCFG.CPL : abre el administrador de opciones de energía
·         COLLAB.CPL : abre la visualización instantánea (únicamente para Vista)
·         AZMAN.MSC : abre el administrador de autorización (únicamente para Vista)
·         CERTMGR.MSC : abre los certificados para el usuario actual
·         COMPMGMT.MSC : abre la administración de equipos
·         COMEXP.MSC o DCOMCNFG : abre los servicio de componentes (únicamente para Vista)
·         DEVMGMT.MSC : abre el Administrador de dispositivos.
·         EVENTVWR o EVENTVWR.MSC : abre el Visor de sucesos
·         FSMGMT.MSC : abre las carpetas compartidas
·         NAPCLCFG.MSC : abre la herramienta de configuración del cliente NAP (únicamente para Vista)
·         SERVICES.MSC : abre el administrador de Servicios
·         TASKSCHD.MSC o CONTROL SCHEDTASKS : abre el planificador de tareas (únicamente para Vista)
·         GPEDIT.MSC : abre el editor de directiva de grupo (para las ediciones profesionales y más de Windows)
·         LUSRMGR.MSC : abre el editor de usuarios locales y grupos
·         SECPOL.MSC : abre la configuración de seguridad local
·         NTMSMGR.MSC : abre el administrador de medios de almacenamiento extraíbles
·         NTMSOPRQ.MSC : abre las solicitudes del operador de medios de almacenamiento extraíbles
·         RSOP.MSC : abre el conjunto resultante de directivas
·         WMIMGMT.MSC : abre Windows Management Infrastructure
·         TPM.MSC : abre la herramienta gestión de modulo de plataforma protegida en el equipo local (únicamente para Vista)
·         PERFMON PERFMON.MSC : abre el monitor de rendimiento de Windows.
·         MMC : abre una nueva consola vacía
·         MDSCHED : abre la herramienta de diagnostico de la memoria (únicamente para Vista)
·         DXDIAG : abre la herramienta de diagnostico de DirectX
·         ODBCAD32 : abre el administrador de orígenes de datos ODBC
·         REGEDIT REGEDT32 (únicamente para Vista) : abre el editor del registro
·         DRWTSN32 : abre Dr. Watson (Pour XP uniquement)
·         VERIFIER : abre el administrador del comprobador de controlador
·         CLICONFG : abre la herramienta de configuración de cliente de red SQL
·         UTILMAN : abre el administrador de utilidades *COMPUTERDEFAULTS : abre la herramienta de programas predeterminados (únicamente para Vista)
·         CREDWIZ : abre la ventana para hacer copias de seguridad y restaurar contraseñas de usuarios (únicamente para Vista)
·         LPKSETUP : abre el asistente de instalación y desinstalación de idiomas (únicamente para Vista)
·         MOBSYNC : abre elementos para sincronizar
·         REKEYWIZ : abre el administrador de certificados de cifrado de archivos (únicamente para Vista)
·         SLUI : abre el asistente de activación de Windows (únicamente para Vista)
·         MSCONFIG : abre la utilidad de configuración del sistema
·         SYSEDIT : abre el editor de configuración del sistema (atención, manipular con prudencia)
·         SYSKEY : abre la herramienta de protección de la base de datos de cuentas de Windows (atención, manipular con mucha prudencia!)

Programas y herramientas de Windows
·         EXPLORER : abre el explorador de Windows
·         IEXPLORE : abre Internet Explorer
·         WAB : abre la libreta de direcciones (únicamente para Vista)
·         CHARMAP : abre la tabla de caracteres
·         MSPAINT : abre Paint
·         WRITE Wordpad : abre Wordpad
·         NOTEPAD : abre el bloc de notas
·         SNIPPINGTOOL : abre la herramienta de captura de pantalla (únicamente para Vista).
·         CALC : abre la calculadora
·         CLIPBRD : abre el portapapeles (para XP únicamente)
·          WINCHAT : abre el programa de Microsoft de chat en red (para Windows XP únicamente)
·         SOUNDRECORDER : abre el altavoz
·         DVDPLAY : ejecuta la unidad de DVD
·         WMPLAYER : abre Windows Media Player
·         MOVIEMK : abre Windows Movie Maker
·         JOURNAL : abre un nuevo journal (únicamente para Vista)
·         STIKYNOT : abre el recordatorio (únicamente para Vista)
·         OSK : muestra el teclado en pantalla.
·         TABTIP : abre el panel de ingreso de datos Tablet PC (únicamente para Vista)
·         MAGNIFY : abre la lupa
·         WINCAL : abre el calendario de Windows (únicamente para Vista)
·         DIALER : abre el marcador telefónico de Windows
·         EUDCEDIT : abre el editor de caracteres privados
·         SNDVOL : ajusta las propiedades del volumen
·         RSTRUI : abre la herramienta de restauración del sistema (únicamente para Vista)
·         %WINDIR%\SYSTEM32\RESTORE\RSTRUI.EXE : abre la herramienta de restauración del sistema (para XP únicamente).
·         MSINFO32 : abre la informacion del sistema
·         MRT : abre la herramienta de eliminación de software malintencionado de Windows.
·         TASKMGR : abre el administrador de tareas de Windows
·         CMD : abre la consola
·         MIGWIZ : abre el asistente para transferencia de archivos y configuraciones (únicamente para Vista)
·         MIGWIZ.EXE : abre el asistente para transferencia de archivos y configuraciones (para XP únicamente)
·         SIDEBAR : abre la barra de Windows (únicamente para Vista)
·         SIGVERIF : abre la herramienta de comprobación de la firma del archivo
·         WINVER : abre la ventana Acerca de Windows para conocer la versión de Windows
·         FSQUIRT : abre el asistente para la transferencia de archivos Bluetooth
·         IEXPRESS : abre el asistente de archivos auto-extraíbles. Tutorial AQUI
·         MBLCTR : abre l centro de movilidad de Windows (únicamente para Vista)
·         MSRA : abre el asistente remoto de Windows
·         MSTSC : abre la herramienta de conexión a escritorio remoto
·         MSDT : abre la herramienta de diagnostico y soporte de Microsoft
·         WERCON : abre la herramienta de reportes y soluciones a los problemas (únicamente para Vista)
·         WINDOWSANYTIMEUPGRADE : permite la actualización de Windows Vista
·         WINWORD: abre Word (si está instalado)
·         PRINTBRMUI : abre el asistente de migración de impresora (para Vista únicamente)

Administración de discos
·         DISKMGMT.MSC : abre el administrador de discos
·         CLEANMGR : abre la herramienta para liberar espacio en disco
·         DFRG.MSC : abre el desfragmentador de disco
·         DEFRAG: desfragmenta el disco duro (para saber como utilizarlo, haz clic AQUI
·         CHKDSK : efectúa un análisis de la partición precisados en los parámetros del comando (para mayor información, escribe CHKDSK /? en la consola CMD)
·         DISKPART : abre la herramienta para particionar (un poco difícil de usar)

Administracion de red e Internet
·         IPCONFIG : muestra la configuración de las direcciones IP en el ordenador (Para mayor información, escribe:
·         IPCONFIG /? en la consola CMD)
·         CONTROL NETCONNECTIONS o NCPA.CPL : muestra las conexiones de red
·         INETCPL.CPL : abre las propiedades de Internet
·         FIREWALL.CPL : abre el firewall de Windows
·         WF.MSC : abre las funciones avanzadas del firewall de Windows (únicamente para Vista).
·         NETSETUP.CPL : abre el asistente para configuración de red (únicamente para XP)

Otros comandos
·         JAVAWS : muestra la caché del programa JAVA (si está instalado)
·         AC3FILTER.CPL : abre las propiedades del filtro AC3 (si está instalado)
·         FIREFOX : abre Mozilla FireFox (si está instalado)
·         NETPROJ : permite la conexión a un proyector de red (únicamente para Vista)
·         LOGOFF : cierra la sesión activa
·         SHUTDOWN : apaga Windows
·         SHUTDOWN –A : detiene el apagado de Windows
·         %WINDIR% o %SYSTEMROOT% : abre la carpeta de instalación de Windows
·         %PROGRAMFILES% : abre la carpeta de instalación de otros programas (Program Files)
·         %USERPROFILE% : abre la carpeta del perfil del usuario conectado actualmente
·         %HOMEDRIVE% : abre el explorador en la partición donde el sistema operativo está instalado
·       SFC /SCANNOW : hace un scan de todos los archivos del sistema y repara los archivos dañados
·       SFC /VERIFYONLY : hace un scan únicamente de los archivos del sistema
·       SFC /SCANFILE="nombre y ruta del archivo" : hace un scan del archivo indicado, y lo repara si está dañado
·       SFC /VERIFYFILE="nombre y ruta del archivo" : hace un scan únicamente del archivo indicado
·       SFC /SCANONCE : hace un scan de los archivos del sistema la próxima vez que se inicie el ordenador
SFC /REVE