PDF de programación - Tema 5 - Introducción al Sistema Operativo UNIX

Imágen de pdf Tema 5 - Introducción al Sistema Operativo UNIX

Tema 5 - Introducción al Sistema Operativo UNIXgráfica de visualizaciones

Publicado el 29 de Noviembre del 2019
373 visualizaciones desde el 29 de Noviembre del 2019
58,5 KB
16 paginas
Creado hace 21a (03/09/1998)
T EM A 5

Introducción al Sistema
Operativo UNIX

Contenido

5.1. Introducción

5.1.1. Historia
5.1.2. Arbol genealógico de Unix
5.1.3. Principios de diseño
5.1.4. Estructura de UNIX

5.2. UNIX desde el punto de vista del usuario

5.2.1. Conexión y desconexión al sistema
5.2.2. El shell

5.2.2.1. Redirección de salida estándar
5.2.2.2. Redirección de entrada estándar
5.2.2.3. Cauces o tuberías (pipes)
5.2.2.4. Metacaracteres
5.2.2.5. El lenguaje del shell

5.3. Fundamentos de UNIX

5.3.1. Procesos

5.3.1.1. Comunicación entre Procesos
5.3.1.2. Señales

5.3.2. El sistema de ficheros

5.3.2.1. Seguridad y protección de ficheros

5.3.3. Entrada/Salida
5.3.4. Modelo de memoria
5.3.5. Llamadas al sistema

5.4. Ordenes de UNIX más comunes

5.4.1. Ordenes para el manejo de directorios
5.4.2. Ordenes para el manejo de ficheros
5.4.3. Ordenes para el control de procesos
5.4.4. Ordenes para seguridad y protección
5.4.5. Ordenes varias

5.5. Referencias

TEMA 5

INTRODUCCIÓN AL SISTEMA OPERATIVO UNIX

5.1. Introducción
Aunque el sistema operativo más empleado es MS-DOS, UNIX destaca por ser utilizado en sistemas que van
desde computadores personales hasta supercomputadores. El interés de su estudio radica, además, en que
muchos principios de diseño en sistemas operativos se aplican en él.

5.1.1. Historia
Los orígenes de UNIX se remontan a finales de los años 60, cuando los laboratorios Bell, de AT&T,
participan en el desarrollo de un nuevo sistema operativo llamado Multics. Este sistema fracasó, entre otros
motivos, porque estaba diseñado para soportar cientos de usuarios con un hardware similar al de un
computador personal PC/AT. Era un sistema demasiado avanzado para su época.

Uno de los ingenieros de los laboratorios Bell que habían trabajado en Multics, Ken Thompson,
escribió una versión reducida de Multics sobre una computadora PDP-7 que se encontraba en desuso, dando
lugar a lo que fue la versión primitiva de UNIX. Su trabajo fue bien considerado y Dennis Ritchie comenzó
a colaborar con él.

En esos momentos ocurrieron dos acontecimientos que fueron el origen de la difusión de UNIX. En
primer lugar, el sistema fue llevado a sistemas PDP-11, que eran más avanzados que el obsoleto PDP-7.
Estos sistemas fueron los dominantes en el mundo de los minicomputadores en la década de los 70. En
segundo lugar, para que el sistema fuera portable, Thomson decidió escribirlo en un lenguaje de alto nivel
que él mismo diseñó llamado B. Este lenguaje tenía muchas limitaciones (era interpretado y no tenía tipos
de datos estructurados) y Ritchie diseñó un sucesor de B, llamado C, y escribió un compilador para él. En
1973, el sistema operativo fue reescrito en C.

En esta época, AT&T no podía comercializar productos relacionados con la informática, por lo que se
decidió que UNIX podía ser cedido, con el código fuente incluido, a las universidades que lo solicitaban para
uso educacional. No se ofrecía ningún tipo de soporte técnico. Por otro lado, el PDP-11 era el sistema más
empleado en la mayoría de los departamentos de computación de las universidades. Este cúmulo de
circunstancias originó la rápida difusión de UNIX.

UNIX fue llevado a nuevas máquinas, pero su simplicidad y claridad hizo que muchas empresas lo
mejorasen a su modo, lo que originó versiones diferentes de la original. En el periodo de 1977 a 1982 los
laboratorios Bell suministraron una versión comercial conocida como UNIX system III. La siguiente versión
fue la UNIX system V, y AT&T comenzó a ofrecer soporte técnico en enero de 1983. Sin embargo, en la
universidad de California en Berkeley se había desarrollado una variante de UNIX cuya última versión,
4.3BSD, contenía muchas mejoras (memoria virtual, gestión de redes, utilidades como vi, csh, etc.). Como
consecuencia, muchos fabricantes basaron su versión de UNIX en 4.3BSD en lugar de la versión oficial de
AT&T, la system V.

A finales de los 80, las dos variantes anteriores, incompatibles entre sí, eran las más empleadas. Como,
además, cada fabricante introducía sus propias mejoras, el resultado es que el mundo de UNIX estaba
dividido en dos y no existían normas para los formatos de los códigos binarios de los programas, lo que
limitaba el éxito comercial de UNIX, ya que era prácticamente imposible que un programa desarrollado en
una versión fuese ejecutable en otra. El primer intento de aunar las dos versiones fue auspiciado por IEEE y
se denominó POSIX (Portable Operating System), que partió de una intersección de las dos versiones. Sin
embargo, para evitar que AT&T tomase el control de UNIX, un grupo de fabricantes (IBM, DEC, Hewlett-
Packard, ...) formó un consorcio llamado OSF (Open System Foundation) para producir un nuevo sistema
que estuviese conforme con las normalización de IEEE y que contuviese, además, un elevado número de
nuevas características, como un sistema de ventanas (X11), un interfaz gráfico de usuario (MOTIF), etc. Por
su parte, AT&T organizó su propio consorcio, UI (Unix International), con fines similares. UI desapareció

____________________________________________________________________________________
TEMA 5. Introducción al Sistema Operativo UNIX
Pág. 1

en 1993, AT&T vendió UNIX a la empresa Novell y algunos miembros de UI se incorporaron a OSF. En
1995, Novell vendió los derechos de Unix a la empresa Santa Cruz Operation.

En la actualidad, sigue sin haber una versión única de UNIX. Incluso dentro de OSF existen varias

versiones: AIX de IBM, Ultrix de DEC, HP-UX de HP, Solaris y SunOs de Sun, etc.).

5.1.2. Arbol genealógico de Unix
En la siguiente figura se muestra un árbol genealógico de UNIX.

1969

1976

1978

1980

Xenix

PWB

TS

PWB2

System III

Xenix 3

System V

V1

V6

V7

32V

V8

1982

1983

1984

1986

1987

1989

1990

1992

1993

SVR2

SunOS

Mach

SunOS 3

Xenix 5

SVR3

V9

SVR4

v10

SunOS 4

OSF1

Plan9

Solaris

Solaris 2

Figura 1.- Árbol genealógico de UNIX.

BSD

2BSD

3BSD

4BSD

4.1BSD

4.2BSD

4.3BSD

4.3BSD
Tahoe

4.3BSD
Reno

4.4BSD

5.1.3. Principios de diseño
UNIX fue diseñado para ser un sistema operativo interactivo, multiusuario y multitarea:
• Interactivo quiere decir que el sistema acepta órdenes, las ejecuta y se dispone a esperar otras nuevas.
• Multitarea significa que puede realizar varios trabajos, denominados procesos, al mismo tiempo.
• Multiusuario significa que más de una persona puede usar el sitema al mismo tiempo.

UNIX fue diseñado por programadores para ser usado por programadores en un entorno en que los

usuarios son relativamente expertos y participan en el desarrollo de proyectos de software.

Es común que varios programadores cooperen activamente para realizar un producto software, por lo
que UNIX ofrece facilidades que permiten a los usuarios el trabajar en equipo y el compartir información de
forma controlada. Este enfoque es muy distinto al de un sistema operativo de un computador personal, en el
que un usuario no necesariamente experto en informática trabaja con un procesador de textos. Así, existen
herramientas para el desarrollo de programas como make, que permite sacar partido de las posibilidades que

____________________________________________________________________________________
TEMA 5. Introducción al Sistema Operativo UNIX
Pág. 2

ofrece la compilación separada, y el sistema de control de código fuente (SCCS, Source Code Control
System), que se usa para el mantenimiento de las diferentes versiones de los programas durante el desarrollo
de los mismos.

Para un programador experto, un sistema operativo debe ser, como mínimo, simple y consistente. Así,
por ejemplo, los ficheros son meras secuencias de bytes. Por otro lado, si la orden ls A* muestra por
pantalla todos los ficheros cuyos nombres comienza por A, la orden rm A* debe de borrar todos los ficheros
cuyos nombres empiezan por A y no el único fichero cuyo nombre es A*.

Un programador experto también quiere que un sistema operativo sea flexible y potente. Esto significa
que el sistema debe de ofrecer un conjunto pequeño de elementos básicos que se puedan combinar de
muchas maneras para construir una aplicación más compleja. Una de las líneas básicas de diseño de UNIX
es que todo programa debe de hacer únicamente una cosa y hacerla bien.

Por último, a los programadores no les gusta escribir más de lo necesario. Por este motivo, las órdenes
del sistema son muy simples (cp en lugar de copy, rm en lugar de remove, du en lugar de disk_usage,
etc.).

5.1.4. Estructura de UNIX
La estructura de UNIX se amolda a un típico modelo en capas, de forma que cada capa únicamente puede
comunicarse con las capas que se hallan en los niveles inmediatamente inferior y superior (ver Figura 2).

El núcleo (kernel) del sistema interactúa directamente con el hardware y proporciona una serie de
servicios comunes a los programas de las capas superiores, de forma que las peculiaridades del hardware
permanecen ocultas. Como los programas son independientes del hardware, es fácil (en teoría) mover
programas entre sistemas UNIX que se ejecutan en hardware diferente. Programas como el intérprete de
comandos (shell) sh y el editor vi interactúan con el kernel a través de llamadas al sistema, que permiten el
intercambio de información entre el kernel y los programas.

programas de aplicación

cpp

ls

sh

Kernel

who

comp

cc

as

Hardware

ld

vi

grep

a.out

date

wc

programas de aplicación

Figura 2.- Estructura de UNIX.

5.2. UNIX desde el punto de vista del usuario
UNIX se compone de tres partes principales: el núcleo (kernel), el sistema de ficheros y el intérprete de
comandos (shell). Estas dos últimas son visibles al usuario, mien
  • Links de descarga
http://lwp-l.com/pdf16987

Comentarios de: Tema 5 - Introducción al Sistema Operativo UNIX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad