1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

11
Historia y evolución La informática tal y como se le conoce hoy día, surgió a raíz de la II Guerra Mundial, en la década de los 40. En esos años no existía siquiera el concepto de "Sistema Operativo" y los programadores interactuaban directamente con el hardware de las computadoras trabajando en lenguaje máquina (esto es, en binario, programando únicamente con 0s y 1s). El concepto de Sistema Operativo surge en la década de los 50. El primer Sistema Operativo de la historia fue creado en 1956 para un ordenador IBM 704, y básicamente lo único que hacía era comenzar la ejecución de un programa cuando el anterior terminaba. En los años 60 se produce una revolución en el campo de los Sistemas Operativos. Aparecen conceptos como sistema multitarea, sistema multiusuario, sistema multiprocesadores y sistema en tiempo real. Es en esta década cuando aparece UNIX, la base de la gran mayoría de los Sistemas Operativos que existen hoy en día. En los años 70 se produce un boom en cuestión de ordenadores personales, acercando estos al público general de manera impensable hasta entonces. Esto hace que se multiplique el desarrollo, creándose el lenguaje de programación C (diseñado específicamente para reescribir por completo el código UNIX). Como consecuencia de este crecimiento exponencial de usuarios, la gran mayoría de ellos sin ningún conocimiento sobre lenguajes de bajo o alto nivel, hizo que en los años 80, la prioridad a la hora de diseñar un sistema operativo fuese la facilidad de uso, surgiendo así las primeras interfaces de usuario. En los 80 nacieron sistemas como MacOS..

description

Primeros temas de la materia de Taller de sistemas opertativos

Transcript of 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

Page 1: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

Historia y evoluciónLa informática tal y como se le conoce hoy día, surgió a raíz de la II Guerra Mundial, en la década de los 40. En esos años no existía siquiera el concepto de "Sistema Operativo" y los programadores interactuaban directamente con el hardware de las computadoras trabajando en lenguaje máquina (esto es, en binario, programando únicamente con 0s y 1s).

El concepto de Sistema Operativo surge en la década de los 50. El primer Sistema Operativo de la historia fuecreado en 1956 para un ordenador IBM 704, y básicamente lo único que hacía era comenzar la ejecución de un programa cuando el anterior terminaba.

En los años 60 se produce una revolución en el campo de los Sistemas Operativos. Aparecen conceptos como sistema multitarea, sistema multiusuario, sistema multiprocesadores y sistema en tiempo real.

Es en esta década cuando aparece UNIX, la base de la gran mayoría de los Sistemas Operativos que existen hoy en día.

En los años 70 se produce un boom en cuestión de ordenadores personales, acercando estos al público general de manera impensable hasta entonces. Esto hace que se multiplique el desarrollo, creándose el lenguaje de programación C (diseñado específicamente para reescribir por completo el código UNIX).

Como consecuencia de este crecimiento exponencial de usuarios, la gran mayoría de ellos sin ningún conocimiento sobre lenguajes de bajo o alto nivel, hizo que en los años 80, la prioridad a la hora de diseñar un sistema operativo fuese la facilidad de uso, surgiendo así las primeras interfaces de usuario.

En los 80 nacieron sistemas como MacOS..

Page 2: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

FIGURA 3. MS-DOS, Windows.

En la década de los 90 hace su aparición Linux, publicándose la primera versión del núcleo en septiembre de 1991, que posteriormente se uniría al proyecto GNU, un sistema operativo completamente libre, similar a UNIX, al que le faltaba para funcionar un núcleo funcional. Hoy en día la mayoría de la gente conoce por Linux al Sistema Operativo que realmente se llama GNU/Linux

LINEA DEL TIEMPO

1960

AS OPERATIVOS

IBSYS

SHARE Operating System proporcionaba nuevos métodos para gestionar los buffers y los dispositivos de entrada/salida, y, al igual que GM-NAA I/O, permitía la ejecución de programas realizados en lenguaje maquina.

Inicialmente funcionaba en ordenadores IBM 704, pero posteriormente fue portado a los IBM 709.

1961

CTSS: Significa Compatible Time-Sharing-System (Sistema de Tiempo Compartido Compatible), fue uno de los primeros sistemas operativos de tiempo compartido; fue desarrollado en el Centro de Computación del MIT. Se presentó en1961, y se utilizó en el MIT hasta 1973.

1962

EXEX II: Fue un sistema operativo de tipo Procesamiento por lotes (batch), desarrollado para la computadora

Page 3: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

UNIVAC 1107 por CSC (Computer Sciences Corporation).

1964

EXEC 8: Era el sistema operativo UNIVAC desarrollado para el UNIVAC 1108 en 1964. Se combinan las mejores características de los sistemas operativos anteriores: EXEC I y II EXEC (utilizado en el UNIVAC 1107).

1965

OS/360: Desarrollado por IBM en 1964, fue desarrollado como una familia de tres programas de control, que incrementaban en tamaño así como en funcionalidad.

1970

BATCH-11: Se trata de archivos de texto sin formato, guardados con la extensión BAT que contienen un conjunto de comandos MS-DOS.

1971

OS/8: S / 8 es el sistema operativo más utilizado en la minicomputadora PDP-8 desarrollado por Digital Equipment Corporation de Maynard, Massachusetts. OS / 8 fue originalmente llamado MS / 8 y, por un breve tiempo, PS / 8 ("Programming System / 8") antes de Digital se establecieron en el nombre de OS / 8 en 1971.

1972

MFT (sistema operativo): MFT está destinado a servir como un recurso provisional hasta que Multiprogramación con un número variable de tareas (MVT), la intención de "destino" de configuración de OS/360, se hizo disponible en 1967. Las primeras versiones de MVT tenido muchos problemas, por lo que la MFT simple se siguió utilizando durante muchos años. Después de la introducción de nuevas máquinas System/370 con la memoria virtual, en 1972 MFT se desarrolló en OS/VS1, el último sistema de esta línea en particular.

1972

VM/CMS: El VM/CMS es un sistema operativo de virtual que se anunció para el público en 1972 por IBM

1973

Alto OS: El Xerox Alto, desarrollado en el Xerox PARC en1973, fue uno de los primeros personales de la historia

Page 4: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

1976

CP/M: CP/M (Control Program for Microcomputers) fue un sistema operativo desarrollado por Gary Kildall para el microprocesador Intel 8080 (los Intel 8085 y Zilog Z80 podían ejecutar directamente el código del 8080, aunque lo normal era que se entregara el código recompilado para el microprocesador de la máquina.

1978

Apple DOS 3.1: fue un sistema operativo para la serie de microordenadores de la serie Apple II fue lanzado apartir de finales de 1978 a principios de 1983.

1980

QDOS: El QDOS (siglas en inglés de "Quick and Dirty Operating System") es lo que se traduce en español como "Sistema Operativo Rápido y Sucio". Escrito y comercializado por Tim Paterson, era un sistema de16 bits que pertenecía a la compañía estadounidense Seattle Computer Products.

1981

XDE (Tajo): La estación de trabajo Xerox Star, conocida oficialmente como el «8010 Star Information System»(Sistema de Información Star 8010) fue introducida por Xerox Corporation en1981.

Xenix: Microsoft XENIX era un sistema operativo tipo UNIX desarrollado por Microsoft. Microsoft lo llamó así debido a que no tenía licencia para utilizar el nombre "UNIX". Es un sistema obsoleto, sin embargo ocupa poco espacio de disco y es rápido.

1981

MS-DOS: MS-DOS (siglas de MicroSoft Disk Operating System,Sistema operativo de disco de Microsoft) es unsistema operativo para computadoras basados en x86.

1982

SunOS: SunOS fue la versión del sistema operativo derivado de Unix y BSD desarrollado por Sun Microsystems para sus estaciones de trabajo y servidores hasta el principio de los años 1990.

1983

Apple Lisa: El Apple Lisa fue un revolucionario computador personal diseñado en Apple computer durante el principio de los años 1980.

Novell NetWare: Novell Netware es un sistema operativo. Es una de las plataformas de servicio para ofrecer

Page 5: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

acceso a la red y los recursos de información, sobre todo en cuanto a servidores de archivos.

1984

MSX-DOS: MSX es el nombre de un estándar de microordenador doméstico de 8 bits comercializado durante los años 1980 y principio de los años 1990.

QNX: Es un sistema operativo de tiempo real basado en Unix que cumple con la norma POSIX.

1985

AmigaOS: Fue desarrollado originalmente por commodore International, e inicialmente presentado en 1985 junto con el Amiga 1000.

Atari TOS: The Operating System (TOS) es el sistema operativo de la gama de ordenadores Atari ST. Esta gama incluye el 520ST, el 1040ST y las variantes F, FM y E (ej. 1040STE). Posteriormente, las máquinas de 32 bits (TT030 y Falcon) fueron desarrolladas usando una nueva versión de TOS, llamada MultiTOS, la cual permite multitarea.

1986

HP-UX: HP-UX es la versión de Unix desarrollada y mantenida por Hewlett-Packard desde 1983, ejecutable típicamente sobre procesadores HP PA RISC y en sus últimas versiones sobre Intel Itanium a pesar de estar basada ampliamente en System V incorpora importantes características BSD.

1987

IRIX: IRIX es un sistema operativo compatible con Unix, creado por Silicon Graphics para su plataforma MIPSde 64 bits.

Minix: MINIX es un clon del sistema operativo Unix distribuido junto con su código fuente y desarrollado por elprofesor Andrew S. Tanenbaum en 1987

OS/2: OS/2 es un sistema operativo de IBM que intentó suceder a DOS como sistema operativo de las computadoras personales. Se desarrolló inicialmente de manera conjunta entre Microsoft e IBM, hasta que la primera decidió seguir su camino con su Windows 3.0e IBM se ocupó en solitario de OS/2.

A/UX: A/UX (de Apple Unix) fue una implementación del sistema Unix desarrollada por Apple Computer para algunas de sus computadoras Macintosh. Las versiones siguientes funcionaron en las series Macintosh II, Quadra y Centris, así como el SE.

LynxOS: LynxOS RTOS es un sistema operativo de tiempo real tipo Unix de LynuxWorks (anteriormente "Lynx Real-Time Systems").

MVS/ESA: MVS (Multiple Virtual Storage, Múltiple Almacén Virtual en inglés) fue el sistema operativo más usado en los modelos de mainframes System/370 y System/390 de IBM. No tiene ninguna relación con VM/CMS, otro sistema operativo de IBM.

Page 6: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

OS/400: OS/400 es un sistema operativo utilizado en la línea deminiordenadores AS/400 (actualmente servidoreseServer iSeries) de IBM.

1989

NeXTSTEP: NeXTSTEP es el sistema operativo orientado a objetos, multitarea que NeXT Computer, Inc. diseñó para ser ejecutados en los computadores NeXT.

RISC OS: RISC OS es un sistema operativo desarrollado por Acorn Computers una compañía británica que dejo de existir, fue hecho para computadoras de escritorio basado en los chips ARM.

SCO Unix: Sistema operativo propietario, perteneciente a The SCO Group. Está basado en Unix System V.

1989

NeXTSTEP: NeXTSTEP es el sistema operativo orientado a objetos, multitarea que NeXT Computer, Inc. diseñó para ser ejecutados en los computadores NeXT.

RISC OS: RISC OS es un sistema operativo desarrollado por Acorn Computers una compañía británica que dejo de existir, fue hecho para computadoras de escritorio basado en los chips ARM.

1990

BeOS: BeOS es un sistema operativo para PC desarrollado por Be Incorporated en 1990, orientado principalmente a proveer alto rendimiento en aplicaciones multimedia.

81991

Linux: Linux es un núcleo libre de sistema operativo basado en Unix. Es uno de los principales ejemplos de software libre.

1992

Solaris: Solaris es un sistema operativo de tipo Unix desarrollado desde 1992 inicialmente por Sun Microsystems y actualmente por Oracle Corporation como sucesor de SunOS.

1993 Plan 9: Plan 9 from Bell Labs o simplemente Plan 9 es un sistema operativo distribuido, usado principalmente como vehículo de investigación.

FreeBSD: FreeBSD es un sistema operativo libre para computadoras basado en las CPU de arquitectura Intel, incluyendo procesadores Intel 80386, Intel 80486(versiones SX y DX), y Pentium.

NetBSD: NetBSD es un sistema operativo de la familia Unix (en sí no se le puede llamar "un Unix", ya que

Page 7: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

ésta es una marca comercial de AT&T, pero se denomina como "sistema de tipo UNIX" o "derivado de UNIX"),de código abierto y libre.

OpenBSD: OpenBSD es un sistema operativo libre tipo Unixmultiplataforma, basado en 4.4BSD. Es un descendiente de NetBSD, con un foco especial en la seguridad y la criptografía.

OS/390: OS/390 es un sistema operativo de International Business Machines (IBM) para los mainframes IBMS ystem/370 y System/390. Es básicamente una versión renombrada de MVS que añade los Servicios de sistema UNIX.

1995

WINDOWS 95: Windows 95 fue un sistema operativo con interfaz gráfica de usuario híbrido de entre 16 y 32bits. Fue lanzado al mercado el 24 de agosto de 1995 por la empresa de software Microsoft con notable éxito de ventas.

Plan 9 (Segunda Versión): Plan 9 from Bell Labs o simplemente Plan 9 es un sistema operativo distribuido, usado principalmente como vehículo de investigación.

1996

Windows NT 4.0: Windows NT 4.0 fue la cuarta versión del sistema operativo de Microsoft Windows NT, lanzado en 1996. Es un sistema Windows de 32-bit disponible para estaciones de trabajo y versiones para servidores con una interfaz gráfica similar a la de Windows 95.

1997

Inferno: Inferno es un sistema operativo para la creación y soporte de sistemas distribuidos.

Mac OS 7.6: System 7 (nombre clave Big Bang y a veces llamado Mac OS 7) es una versión de Mac OS, el sistema operativo de los ordenadores personales Macintosh introducido el 13 de mayo de 1991. Sucede al System 6, y fue el principal sistema operativo de los Mac hasta ser sustituido por Mac OS 8 en 1997.

SkyOS: SkyOS es un sistema operativo propietario, escrito desde cero (no está basado en ningún otro SO), para PC del tipo x86 (también conocidas como i386). Como todo sistema operativo moderno, soporta características como el multiproceso simétrico (SMP),memoria virtual, memoria protegida, multitarea y flujo deejecución por hilos (threading en inglés) y es altamente compatible con POSIX, entre otras cosas.

1998

Windows 98: Windows 98 (cuyo nombre en clave es Memphis) fue un sistema operativo gráfico publicado el 25 de junio de 1998 por Microsoft y el sucesor de Windows 95. Como su predecesor, es un producto monolítico híbrido de 16 y 32 bits.

Page 8: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

ReactOS: ReactOS (React Operating System) es un sistema de código abierto destinado a lograr la compatibilidad binaria con aplicaciones de software y controladores de dispositivos hechos para Microsoft Windows NT versiones 5x en adelante (Windows XP y sus sucesores).

2000

AtheOS: AtheOS, acrónimo de Athena Operating System, era un sistema operativo de código abierto para plataforma Intel x86. Al principio AtheOS pretendía ser un clon de Amigaos,

MorphOS: MorphOS es un sistema operativo, en parte propietario y en parte de código abierto, producido para ordenadores basados en los procesadores Power PC (PPC).

Windows 2000: Windows 2000 es un sistema operativo de Microsoft que se puso en circulación el 17 de febrero de 2000 con un cambio de nomenclatura para su sistema NT.

Windows Me: Windows Millennium Edition, como se conoce comercialmente (que se pronuncia como una abreviatura, "ME"). Es el sistema operativo gráfico híbrido de 16-bit/32-bit lanzado el 14 de septiembre de2000 diseñado por Microsoft Corporation para el mayoritario mercado de usuarios de PCs.

2001

Windows XP: Windows XP (cuyo nombre en clave inicial fueWhistler) es una versión de Microsoft Windows, línea de sistemas operativos desarrollado por Microsoft.

z/OS: z/OS es el sistema operativo actual de las computadoras centrales de IBM. Del sistema MVT (de 1967) se pasó al MVS en 1974 añadiéndole múltiples espacios de memoria virtual, agregándole a éste compatibilidad UNIX se pasó al OS/390 en 1995, y ampliando a éste el direccionamiento de 64 bits se pasó a z/OS en el año 2000.

2002

gnulinex: gnuLinEx es una distribución Linux libre basada en Debian GNU/Linux y GNOME, contando conOpenOffice.org como suite ofimática, entre otras aplicaciones.

2003

Windows Server 2003: Windows Server 2003 es un sistema operativo de la familia Windows de la marca Microsoft para servidores que salió al mercado en el año 2003. Está basada en tecnología NT y su versión delnúcleo NT es la 5.2.

2006

WINDOWS VISTA: Windows Vista es una versión de Microsoft Windows, línea de sistemas operativos

Page 9: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

desarrollada por Microsoft. Esta versión se enfoca para ser utilizada en equipos de escritorio en hogares y oficinas, equipos portátiles, tabletas y equipos media center.

2007

Mac OS X v10.5: Mac OS X v10.5 denominado Leopard es la sexta versión del sistema operativo de Apple, Mac OS X, para computadoras de escritorio y servidores Macintosh.

iPhone OS 1.0: iOS (anteriormente denominado iPhone OS) es un sistema operativo móvil de Apple. Originalmente desarrollado para el iPhone, siendo después usado en dispositivos como el iPod Touch, iPad y el Apple TV.

2009

JNode 0.2.8: JNode es un sistema operativo totalmente hecho en Java, a excepción de una mínima cantidad de código en assembler.

El objetivo consiste en desarrollar un sistema operativo para uso personal en el que cualquier aplicación pueda correr de manera rápida y segura.

Windows 7: Windows 7 es una versión de Microsoft Windows, línea de sistemas operativos producida por Microsoft Corporation. Esta versión está diseñada para uso enPC, incluyendo equipos de escritorio en hogares y oficinas, equipos portátiles, tablet PC, netbooks y equipos media center.

Palm webOS: HP webOS es un sistema operativo multitarea parasistemas embebidos basado en Linux, desarrollado por Palm, Inc., ahora propiedad de Hewlett-Packard Company, el cual fue presentado al público en elConsumer Electronics Show de Las Vegas el 8 de enero de 2009 junto con el Palm Pre.

Android: Android es un sistema operativo móvil basado en Linux, que junto con aplicaciones middleware estáenfocado para ser utilizado en dispositivos móviles como teléfonos inteligentes, tabletas, Google TV y otros dispositivos.

2010

Windows Phone 7.1: Windows Phone es un sistema operativo móvil desarrollado por Microsoft, como sucesor de la plataforma Windows Mobile.

Page 10: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

Estructura general del sistema operativoEn esta unidad examinaremos cuatro estructuras distintas que ya han sido probadas.

Estructura modular.También llamados sistemas monolíticos. Este tipo de organización es con mucho la mas común;bien podría recibir el subtitulo de "el gran embrollo". La estructura consiste en que no existeestructura alguna. El sistema operativo se escribe como una colección de procedimientos, cada unode los cuales puede llamar a los demás cada vez que así lo requiera. Cuando se usa esta técnica,cada procedimiento del sistema tiene una interfaz bien definida en términos de parámetros yresultados y cada uno de ellos es libre de llamar a cualquier otro, si este ultimo proporciona ciertocálculo útil para el primero. Sin embargo incluso en este tipo de sistemas es posible tener al menosalgo de estructura. Los servicios (llamadas al sistema) que proporciona el sistema operativo sesolicitan colocando los parámetros en lugares bien definidos, como en los registros o en la pila, paradespués ejecutar una instrucción especial de trampa de nombre "llamada al núcleo" o "llamada alsupervisor".

Esta instrucción cambia la máquina del modo usuario al modo núcleo y transfiere el control alsistema operativo. El sistema operativo examina entonces los parámetros de la llamada, paradeterminar cual de ellas se desea realizar. A continuación, el sistema operativo analiza una tabla quecontiene en la entrada k un apuntador al procedimiento que realiza la k-esima llamada al sistema.Por ultimo, la llamada al sistema termina y el control regresa al programa del usuario.

Esta organización sugiere una organización básica del sistema operativo:

• Un programa principal que llama al procedimiento del servicio solicitado.

• Un conjunto de procedimientos de servicio que llevan a cabo las llamadas al sistema.

• Un conjunto de procedimientos utilitarios que ayudan al procedimiento de servicio.

Estructura jerárquica.A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, sehizo necesaria una mayor organización del software, del sistema operativo, donde una parte delsistema contenía subpartes y esto organizado en forma de niveles.

Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuvieraperfectamente definida y con un claro interface con el resto de elementos.

Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de loscuales fue denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó confines didácticos. Se puede pensar también en estos sistemas como si fueran `multicapa’. Multics yUnix caen en esa categoría. [Feld93].

Page 11: 1.- Historia, Evolucion y Estructura de Los Sistemas Operativos

En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales. Otraforma de ver este tipo de sistema es la denominada de anillos concéntricos o “rings”.

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), pordonde pueden entrar las llamadas de las capas inferiores. De esta forma, las zonas más internas delsistema operativo o núcleo del sistema estarán más protegidas de accesos indeseados desde lascapas más externas. Las capas más internas serán, por tanto, más privilegiadas que las externas.

Máquina Virtual.Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrandouna máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separandos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquinaextendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintossistemas operativos dando la sensación de ser varias máquinas diferentes.

El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar acabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como sesoliciten. Estas máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real,de manera que en cada una de ellas se pueda ejecutar un sistema operativo diferente, que será el queofrezca la máquina extendida al usuario .

Cliente-servidor ( Microkernel)El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede serejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas.

Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple conlas mismas actividades que los sistemas operativos convencionales.

comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores comoclientes. Por ejemplo, un programa de aplicación normal es un cliente que llama al servidorcorrespondiente para acceder a un archivo o realizar una operación de entrada/salida sobre undispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro.” [Alcal92].Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya queel núcleo provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos,dejando a los servidores proveer la mayoría que el usuario final o programador puede usar. Estosservidores deben tener mecanismos de seguridad y protección que, a su vez, serán filtrados por elnúcleo que controla el hardware. Actualmente se está trabajando en una versión de UNIX quecontempla en su diseño este paradigma.