unix y linux - wordpress.commultiprocesador. contaba con una pantalla de rayos ... pidieran a bell...

29
UNIX Y LINUX Prof.: Rafael Mourglia

Upload: others

Post on 16-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

UNIX Y LINUXProf.: Rafael Mourglia

Page 2: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

ANTECEDENTES

Page 3: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

MÁQUINAS AÑOS 50’

Todas las máquinas eran monousuario y monotarea.

Un programador reservaba turno para poder usar la máquina. El uso

consistía en ejecutar un solo programa.

La reserva podía ser por una hora o más. Si el programa terminaba

antes, la máquina pasaba un tiempo sin ser utilizada.

También podía pasar que la ejecución del programa tardara más de

lo previsto y en ese caso se debía interrumpir la ejecución del mismo

porque había otro usuario que “tenía hora” para usar la máquina.

Page 4: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

MÁQUINAS AÑOS 60’

Llegan las máquinas de procesamientos por lotes.

Todos los programas se hacían en tarjetas perforadas

Cada programador debía enviar su trabajo en tarjetas perforadas al cuarto de máquinas.

Cuando había suficientes trabajos, un operador cargaba todas las tarjetas y la máquina lo leía y ejecutaba como un solo trabajo.

En teoría la idea era buena, ya que ejecutaba programas uno tras de otro sin tiempos de espera. Pero cada trabajo demoraba una hora o más para obtener resultados.

Un programador debía esperar mucho tiempo para obtener los resultados de su programa.

Si había una error (una coma mal ubicada, instrucción errónea, etc) se debía comenzar todo de nuevo.

Page 5: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

SISTEMAS DE TIEMPO COMPARTIDO

Una sola máquina pero que podían usarla varios usuarios a la vez

Se crea en el MIT el sistema CTSS (Compatible Time-Sharing System)

especialmente diseñado para gestionar los recursos en un sistema de

tiempo compartido.

El MIT junto a Bell Labs y General Elctric (ambos distribuidores de

computadoras) comenzaron a desarrollar en 1964 un sistema de

segunda generación: MULTICS (Multiplexed Information

and Computing Service)

Page 6: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Características de MULTICS

Estructura modular. El hardware podía crecer agregando módulos: más procesador, más memoria, más disco.

Se podían agregar o quitar módulos mientras la máquina estaba en funcionamiento.

Uno de los primeros sistemas con multiprocesador.

Contaba con una pantalla de rayos catódicos y un teclado. Por primera vez el programador podía ver lo que escribía.

Page 7: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Novedades de MULTICS

Único nivel de almacenamiento para el acceso a los datos, diferenciando los archivos (hasta entonces llamados segmentos) de los procesos en memoria.

Un proceso leía o escribía en el espacio de memoria asignado a un segmento, utilizando instrucciones simples de CPU. Luego el SO se encargaba de actualizar esa información en disco.

Enlace dinámico. Un proceso en ejecución podía hacer uso de código que estuviera guardado, levantarlo y ejecutarlo si lo necesitaba.

Ventajas:

Reutilización de código: Varios programas podían hacer uso de la misma biblioteca

Programas mas livianos: El código que se pensaba levantar de una biblioteca, no era necesario incluirlo en el programa, ya que sólo lo ejecuta si lo necesita.

Estas innovaciones fueron mejoradas y utilizadas en futuros sistemas.

Page 8: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Repercusiones de MULTICS

Inicialmente el proyecto se veía con buen futuro

Bell Labs, uno de los socios fundadores se retira del proyecto.

En 1969 Ken Thompson (investigador de Bell Labs) decide escribir una

versión simplificada de MULTICS (inicialmente en lenguaje ensamblador)en

una minicomputadora PDP-7. Un excompañero suyo llamó a este sistema

UNICS (Uniplexed Information and Computing Service, Servicio uniplexado

de información y cómputo) ya que a diferencia de MULTICS, este sistema

estaba pensado para computadoras mucho más pequeñas (sólo 2 usuarios

al mismo tiempo).

Si bien el sistema era para minicomputadoras, impresionó su buen

desempeño.

Se comenzó a perder interés en MULTICS por su compleja

programación además de que sólo servía para sistemas como GE-600

y se estaba tornando un sistema lento y costoso de mantener.

Ken Thompson

PDP-7

Page 9: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

UNIX

Page 10: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

CAMBIO DE NOMBRE: UNICS A UNIX

El nombre UNICS fue dado al principio por Brian Kernighan(investigador de Bell Labs). Mas allá del significado del acrónimo, este nombre fue dado en tono de broma ya que consideraba a UNICS como una “versión castrada” de MULTICS por tratarse de un sistema para minicomputadoras.

El hecho es que fonéticamente en inglés UNICS se escucha similar a “EUNUCHS” (eunuco).

Por tal motivo, una vez que se vio a UNICS como un sistema prometedor, en 1970 se decidió cambiar su nombre a UNIX y posteriormente se registró oficialmente como UNIX®

Page 11: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

UNIX EN LA PDP-11

Al proyecto UNIX se une Dennis Ritchie, creador del lenguaje C. Más adelante se une el resto del equipo de Ritchie.

UNIX se trasladó a la máquina PDP-11/20 y más adelante a las PDP-11/45 y PDP-11/70.

Estas máquinas eran mucho más potente que la PDP-7. Algunas características fueron:

Memorias físicas grandes para la época (Entre 256KB y 2MB)

Hardware de protección de memoria, lo que permitía dar asistencia a muchos usuarios al mismo tiempo.

Primeras computadoras en usar microprocesadores y memoria cache.

Page 12: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Cambio de lenguaje

Inicialmente UNIX fue desarrollado en lenguaje ensamblador, al igual

que MULTICS.

Estaba resultando tediosos el trabajo de tener que adaptar el código

a cada máquina en donde se instalaba UNIX.

Intento 1 de resolver el problema:

Thompson diseña un lenguaje llamado B (versión simplificada de otro

lenguaje: BCPL). Por lo tanto decide reescribir UNIX en este lenguaje.

El lenguaje B tenía muchas debilidades, por ejemplo falta de estructuras.

Lo problemas del lenguaje B llevan también al fracaso de reescribir UNIX

en este lenguaje.

Page 13: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Cambio de lenguaje

Intento 2 de resolver el problema

Dennis Ritchie crea el lenguaje C (sucesor de B). Desarrolla un compilador para este lenguaje muy potente.

Thompson y Ritchie deciden reescribir UNIX en C.

Se obtuvo un muy buen resultado no sólo para UNIX, sino también para C que a partir de entonces se comenzó a utilizar como uno de los principales lenguajes para desarrollar sistemas operativos.

UNIX pasa a ser el primer SO escrito en un lenguaje de alto nivel. Sólo unas pocas líneas quedaron escritas en lenguaje ensamblador (necesarias para el contacto mas directo con el hardware)

Page 14: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Filosofía detrás de UNIX

Los intentos por crear un SO de propósitos generales fracasaron.

UNIX pretendía ser un sistema que verdaderamente se adaptara a las necesidades del usuario. Esto únicamente se podía lograr mediante un sistema que tuviera funcionalidades mínimas y luego cada usuario pudiera modificar este sistema para sus propósitos.

La idea de modificar un sistema a la necesidad del usuario ya estaba presente en otros sistemas, pero la modificación de los mismos era muy compleja (estaban enteramente desarrollados en lenguaje ensamblador)

EL hecho de que UNIX fuera reescrito en lenguaje C, hizo que verdaderamente el trabajar con este sistema fuera sencillo.

Se logró una mayor independencia del hardware. Si se quería utilizar UNIX en arquitecturas distintas a las que fue desarrollado inicialmente, sólo bastaba con compilar nuevamente el sistema en la versión de computadora deseada.

Page 15: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Repercusiones de UNIX

En 1974, donde UNIX ya iba en su cuarta edición, Ritchie y Thompson publicaron un famoso artículo sobre UNIX (Ritchie y Thompson, 1974).

La publicación de este artículo estimuló a muchas universidades para que pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de Bell Labs, era un monopolio en ese entonces y no podía estar en el negocio de las computadoras, no tuvo objeción para licenciar UNIX a las universidades por una modesta cuota.

La PDP-11 era utilizada en muchas universidades, y si bien contaba con SO propio, este era considerado muy malo, por eso tanto profesores como estudiantes preferían utilizarla con UNIX.

Para la versión 6 de UNIX este contaba con 8200 líneas escritas en C y 900 líneas escritas en ensamblador.

Page 16: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Repercusiones de UNIX

Se comenzaron a crear versiones propias de UNIX

Microsoft vendió la versión 7 de UNIX bajo el nombre de XENIX

UNIX portable

Era posible gracias al código realizado en C

Sólo bastaba con que la computadora a instalar UNIX tuviera un compilador

de C. Si no lo tenía se hacía uno.

Luego se recompilaban las fuentes de UNIX en el compilador de la máquina a

ser instalado.

Sólo se debían reescribir en lenguaje ensamblador los drivers, única parte que

no podía estar en lenguaje C por ser propio de cada máquina.

Page 17: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

BSD

Normalmente en la época lo normal era que cada equipo trajera su propio SO y cada usuario debiera estudiar ese sistema para poderlo utilizar. Permitían configuraciones pero muy limitadas.

Pero en el entorno de la programación o investigación, es necesario contar con funciones específicas. Por lo tanto debía ser necesario poder reescribir el código para realizar dichas funciones.

En 1977 en la Universidad de California en Berkeley se crea BSD (Berkeley Software Distribution), sistema que permitía adaptarse a las investigaciones que se realizaban.

AT&T había permitido a Berkeley manipular UNIX durante la década de los 70, pero en un momento dado decidió retirar esa posibilidad, por lo que esa universidad decidió separarse de AT&T.

UNIX seguió por su lado y Berkeley creó su propia versión, BSD.

Page 18: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

BSD y System

La Universidad de California en Berkeley continúa trabajando sobre UNIX y aporta considerables mejoras.

Con la ayuda de concesiones de la ARPA (Agencia de Proyectos de Investigación Avanzados del Departamento de Defensa de los EE.UU.), Berkeley produjo y liberó una versión mejorada para la PDP-11, conocida como 1BSD (First Berkeley Software Distribution, Primera distribución de software de Berkeley). Muy poco después se produjo otra versión, llamada 2BSD, también para la PDP-11.

Por otro lado Laboratorios Bell siguieron con los desarrollos, presentando distintas versiones de investigación hasta que en 1982 se produce el lanzamiento de System III, la primera versión comercial del sistema operativo UNIX. En 1983 AT&T introdujo el UNIX System versión 1.

Por primera vez AT&T prometió compatibilidad ascendente en las próximas versiones de sus sistemas UNIX. Esto significaba que los programas desarrollados sobre UNIX Sistema versión 1 funcionarían correctamente en las versiones siguientes.

Page 19: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Dos sistemas UNIX distintos

A finales de la década de 1980 había dos versiones muy populares,

distintas y en cierta forma incompatibles de UNIX: 4.3BSD y System V

Release 3.

Esto complicaba mucho a los programadores ya que debían crear dos

compilaciones distintas si querían que una aplicación funcionara en los

dos sistemas.

Se vio la necesidad de establecer estándares.

Page 20: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

SURGIMIENTO DE POSIX

Para solventar las diferencias entre los dos sistemas UNIX más

importantes del momento, se recurre al Consejo de Estándares del IEEE

(Institute of Electrical and Electronics Engineers), un organismo muy

respetado (hasta hoy) y considerado neutral.

Se crea el Proyecto POSIX donde participan personas relacionadas a

la industrial, universidades y del gobierno.

Las primeras tres letras significan Sistema operativo portable

(Portable Operative System). Las letras IX se agregaron para que el

nombre tuviera el estilo de UNIX.

Page 21: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

SURGIMIENTO DE POSIX

Finalmente el comité de POSIX produjo un estándar

conocido como 1003.1. Este estándar define un conjunto

de procedimientos de biblioteca que todo sistema UNIX

que esté en conformidad debe proveer.

La mayoría de estos procedimientos invocan una

llamada al sistema, pero unos cuantos se pueden

implementar fuera del kernel.

Los procedimientos comunes son open, read y fork. La

idea de POSIX es que un distribuidor de software, que

escriba un programa utilice sólo los procedimientos

definidos por el estándar 1003.1, tenga la seguridad

de que este programa se ejecutará en todos los

sistemas UNIX que estén en conformidad.

Page 22: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

MINIX

Si bien UNIX se desarrolló inicialmente para sistemas pequeños, lo cierto es que su crecimiento hizo que terminara utilizándose en grandes sistemas y con fines de investigación y para ser utilizado por grupos grandes de trabajo.

Esto dejaba fuera a personas que de forma individual quisieran experimentar con sistemas UNIX.

En 1987 Andrew Tanembaum desarrolla MINIX. Un sistema basado en UNIX respetando el estándar POSIX. EL mismo era prácticamente equivalente e la versión 7 de UNIX.

Estaba basado en una arquitectura de microkernel lo que permitía una facilidad al momento de comprender y mantener el código.

Estaba disponible con todo el código fuente y se podía utilizar para fines educativos.

Page 23: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

LINUX

Page 24: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

Surgimiento

MINIX era muy utilizado por estudiantes para entender el funcionamiento de un SO. Se podían hacer pruebas y cambios en su código de forma sencilla.

La limitación de MINIX llevó a muchos a pedir que se agregaran funcionalidades.

El autor se negó a agregar esas funcionalidades por considerar que complejizaría al sistema que tenía como objetivo ser objeto de estudio para estudiantes.

Además MINIX no era gratis, su código se podía modificar, pero había que comprarlo.

Linus Torvalds decide crear su propia versión de UNIX basada en MINIX.

Page 25: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

LINUX

Inicialmente Linus Torvalds comenzó este proyecto como hobby en la universidad de Helsinki en Finlandia.

La idea principal era crear un sistema colaborativo donde varios programadores pudieran aportar ideas y adaptarlas a sus necesidades y de forma totalmente libre y gratuito.

Inicialmente tuvo que poner la limitación de que podía ejecutarse en procesadores 386. (Luego fue extendido a otras plataformas)

En 1991 Linus saca la versión 0.01 de un núcleo, aunque no lo anuncia porque no era muy agradable de usar y hacía poca cosa (no era ejecutable, se necesitaba un sistema MINIX para compilarlo) aunque tenía lo necesario para leer y escribir ficheros en un disquette.

Le puso como nombre Linux, que es un acrónimo en inglés de ``Linus UNIX'' (el UNIX de Linus).

Page 26: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

AVANCES DE LINUX

Linux fue ampliamente distribuido por internet y muchos

desarrolladores se interesaron en el proyecto.

En octubre de 1991 anunció la primera versión de Linux, capaz de

ejecutar BASH -Bourne Again Shell- y el compilador conocido como

GCC -GNU Compiler Collection-. A partir de ese momento, Linux

empezó a evolucionar rápidamente.

Salieron más versiones: 0.03 - 0.10 y en marzo de 1992 Linus lanza

la versión 0.95. Esto fue gracias a todos los programadores

interesados en el proyecto.

Page 27: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

GNU/LINUX

Linux no es un SO en si mismo, sino sólo el kernel (o núcleo) con las funcionalidades básicas para gestionar los recursos de la computadora de manera segura y proveer funciones para comunicarse con este hardware.

Hacía falta un conjunto de aplicaciones que utilizara este kernel y pudiera crearse el SO.

En 1983 Richard Stallman fundó el proyecto GNU, con el fin de crear sistemas operativos parecidos a UNIX y compatibles con POSIX y totalmente libres.

Dos años más tarde creó la "Fundación del Software Libre" y escribió la GNU General Public License (GPL) para posibilitar el software libre en el sistema de copyright.

Page 28: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

GNU/LINUX

Filosofía del proyecto GNU:

Esta filosofía estaba en sintonía con los deseos de Torvalds y es por eso

que en 1992 adopta la licencia GPL y se crea el SO GNU/Linux.

Software libre significa que los usuarios del software tienen libertad (la cuestión no es el precio).

Desarrollamos el sistema operativo GNU para que los usuarios pudiesen tener libertad en sus tareas

informáticas.

En concreto, el software libre implica que los usuarios tienen las cuatro libertades esenciales:

(0) Ejecutar el programa

(1) Estudiar y modificar el código fuente del programa

(2) Redistribuir copias exactas

(3) Distribuir versiones modificadas.

www.gnu.org

Page 29: UNIX Y LINUX - WordPress.commultiprocesador. Contaba con una pantalla de rayos ... pidieran a Bell Labs una copia de UNIX. Como AT&T, la empresa matriz de ... MINIX era muy utilizado

REFERENCIAS

https://es.wikipedia.org/wiki/Multics

https://prezi.com/grvu78dew3wl/multics-so/

https://blogthinkbig.com/unix-el-padre-de-los-sistemas-operativos-actuales

https://disenowebakus.net/historia-de-unix.php

http://sopa.dis.ulpgc.es/adminso/material-didactico-practico/tutorial/CONTENIDOS/LINUX1/LINUX1.htm

https://sites.google.com/site/info3episco/unidad-2---sistemas-operativos/06---breve-historia-del-origen-de-linux

https://www.gnu.org/philosophy/philosophy.es.html

Sistemas operativos modernos A. Tanembaum. Pág. 719