Informática


Introducción al UNIX II


INTRODUCCIÓN AL UNIX

Hardware : es la parte física del ordenador

Componentes básicos del hardware :

  • dispositivos de entrada (ej : teclado, mouse, scanner, lápiz óptico...)

  • procesador (pentium-166, ...)

  • memoria interna (RAM)

  • unidad de almacenamiento interna (HD)

  • dispositivos de salida (pantalla, impresoras...)

ENTRADA UNIDAD CENTRAL SALIDA

DE PROCESO

Almacenamiento secundario

------------------------ o ---------------------------

Software : son los programas de un ordenador

Dentro del software hay dos categorías :

  • S/W de sistema : S.O.(es el más importante y el imprescindible para que un ordenador funcione) y lenguajes de programación

  • S/W de aplicación : son varios ( procesadores de texto, hojas de cálculo...)

--------------------------- o ------------------------------

ESQUEMA GENERAL :

S/W APLICACIÓN

S/W SISTEMA

H/W

El S/W de aplicación no trata directamente con el H/W sinó que pasa a través del S/W del sistema.

** Otra representación del camino que siguen las órdenes hasta llegar al H/W

Nivel de orden.

nivel de servicio

núcleo

H/W

  • El núcleo (Kernel) : es el nivel más interno del S.O

  • El nivel de Servicio : acepta las peticiones del nivel de orden y las traduce en un conjunto de

instrucciones detalladas para el Kernel

  • El nivel de orden : también llamado SHELL (caparazón). El command.com es el SHELL del MS-DOS

Este nivel es la única parte del S.O. con la que los usuarios pueden interactuar. (dar órdenes, copy. dir,).Después estas órdenes se traducen para cada nivel hasta llegar al S/W. (Cada vez que baja de nivel es más complicado programarlo)

FUNCIONES DE UN SISTEMA OPERATIVO EN GENERAL

  • Proveedor de servicios

  • Administrador de hardware (cada S.O. distribuye el H/W de una manera diferente)

    • . controla la memoria

    • . administra el tiempo de la CPU para cada proceso

    • . administra los dispositivos periféricos (impresoras...9

  • Suministra el interface de usuario, es decir, la SHELL.

. dirigidas por órdenes (copy, dir...)

. dirigidas por menús (menús desplegables...)

. interface gráficas (G.U.I. => Grafic users interface)

ENTORNOS DEL S.O.

  • Monotarea : se diseña así el S.O. para ejecutar un sólo proceso cada vez, es decir si se ejecuta otro programa, el primero se queda parado. (está destinado a microcomputadores). Un ejemplo sería el MS-DOS, incluso WIN 3.1.

  • Multitarea : son capaces de ejecutar más de un programa a la vez. Ejemplo  Windows 95.

Hay un primer plano (que es lo que se ejecuta, lo que se ve), y un segundo plano (llamado Backgrand) que se está ejecutando, pero no se ve.

  • Monousuarios : son aquellos S.O que sólo puede usarlo un usuario, es decir, que solo pueden personalizarse para un usuario. Ejemplo el MS-DOS.

  • Multiusuario : más de un usuario puede usar el mismo ordinador, es decir, cada usuario tendrá su propio escritorio dentro del mismo ordenador. Ejemplo NT, UNIX.

En estos sistemas solo hay una CPU, por lo que un procesador solo puede ejecutar un programa, en el momento que viene otro programa deja de ejecutar el primero y pasa al segundo. Para poder atender a todos los programas, el procesador aprovecha la diferencia de velocidad existente entre el ordenador y los dispositivos periféricos y entre orden y orden , le sobra tiempo (aunque sean milésimas de segundo) y ejecuta uno u otro programa.

ORDENADOR

terminal 1

IMPRESORA

CPU MEMORIA terminal 2

E/S

etc.

** EL ordenador está compuesto por CPU y memoria y estos se apoyan en los dispositivos de almacenamiento. Conectados al ordenador tenemos los terminales, los cuales son “tontos”, es decir, todo se ejecuta en el servidor y ellos sólo te lo muestran, (ej. cajeros automáticos...), también hay conectados impresoras, dispositivos de E/S, etc.

(AQUÍ SE ACABA LA INTRODUCCIÓN)

UNIX

HISTORIA DEL UNIX

Es un sistema operativo multiusuario y multitarea.

Su origen se data en el 1960. En esta época habían unos Laboratorios Bell, los cuales querían diseñar un S.O. que fuera multitarea, multiusuario, rápido..

En estos laboratorios trabajaban Ken Thompson y Denis Ritchie y diseñaron un sistema que le llamaron MULTICS. Este proyecto resultó ser el esperado, por lo que decidieron instalar el MULTICS en una máquina pequeña (una PDP-7).

En el 1969 consiguieron que funcionase el MULTICS para dos usuarios, entonces lo llamaron UNICS. Este sistema operativo estaba escrito en ensamblador, pero este lenguaje tiene una desventaja, que solo sirve para la máquina donde lo desarrollas. En el 1973 decidieron reescribir el código en un lenguaje de alto nivel, el C, llamándolo entonces UNIX. Ahora ya se podía instalar en cualquier máquina grande (de hecho en aquella época solo funcionaba con máquinas grandes). Hacia el año 1990 se hizo la adaptación del UNIX a los PC's, a este sistema operativo se le llamó LINUX.

Estos investigadores dejaron libremente este sistema operativo a las Universidades, y así se añadió una nueva asignatura, UNIX.

Actualmente existen dos grupos que están desarrollando el Sistema operativo (UNIX), es decir dos ramas de UNIX :

Sistem V de UNIX ( Compañía AT&T)

BSD (Universidad Berkeley)

CARACTERÍSTICAS DEL UNIX

Transportabilidad : significa que el UNIX (al estar hecho en C) es transportable a cualquier ordenador, independientemente del H/W.

C COMPILADOR ENSAMBLADOR

Multiusuario : Un número de usuarios pueden compartir los recursos, por lo que se han de ofrecer medidas de seguridad (muy importante), es decir, que un usuario no pueda borrar archivos de otros. (Windows 95 es multiusuario, pero a nivel de seguridad deja mucho que desear)

Sistema de archivos jerárquico : ejemplo MS-DOS. Que de un directorio raíz se ramifican directorio y archivos.

Las operaciones E/S son independientes de los dispositivos. UNIX trata a los dispositivos (ej. mouse, impresora, teclado..) como ficheros. Por lo en UNIX hay un directorio de dispositivos, donde residen los periféricos de E/S. Se pueden redirigir las entradas y las salidas a cualquier archivo o dispositivo (que para UNIX archivo=dispositivo).

Interface de usuario (SHELL) : la SHELL de UNIX está diseñada por y para programadores. Por lo que cuando decimos de borrar un fichero no nos saldrá un mensaje de “¿ESTÁ SEGURO ?”, porque se supone que es para gente que sabe lo que hace (programadores). El entorno de UNIX es muy simple, no hay gráficos, se basa en una línea de comandos.

La SHELL es el interface del usuario (es el entorno del S.O.), pero no forma parte de él.

Hay varios tipos de SHELL : bash (Baurne Again Shell), ash, ksch, X (shell gráfica, con

iconos...).

Cada programador puede programarse su propia SHELL, acabando siempre en `sh'.

El S.O. UNIX te dá la posibilidad de arrancar el ordenador en la SHELL que queramos.

ESTRUCTURA DEL UNIX 

El directorio principal de UNIX es ROOT y se le identifica con el símbolo `/' (ej. si ponemos / accederemos al directorio ROOT). De este directorio cuelgan los siguientes directorios del sistema:

  • bin : en este directorio están todos los archivos ejecutables del sistema(básicos e imprescindibles)

  • lib : en este directorio están todas las librerías de los programas instalados.

  • etc : en este directorio hay “cosas varias”.

  • usr : es el directorio de usuarios, aquí van los ejecutables de los usuarios, es decir, los no imprescindibles.

  • home ( o también llamado users) : incluye los usuarios del sistema, es decir, cada usuario tendrá aquí un directorio particular.

  • dev (`devices'=dispositivos) : aquí estarán los archivos de dispositivos, como el fd0(del floppy disk), hda(del hard disk `a'), etc..

  • En UNIX los atributos de los ficheros y de los directorios son nueve (están agrupados de tres en tres): (r w x, r w x, r w x)

`r'=> permiso de lectura

`w' => permiso de escritura

`x' => permiso de ejecución

Los tres primeros son los derechos del usuario, los tres siguientes son los derechos del grupo y los tres últimos son los derechos de todo el mundo. Hay un usuario, llamado supervisor, al cual se le asigna el directorio root.

Ejemplo : si un directorio no tiene la `x' activada no podremos acceder a él (hacer un cd..)

PROTOCOLO TCP/IP (Transfer CP/ Intenet Protocol)

Este protocolo sirve para que las máquinas se puedan comunicar entre ellas. Cada máquina ha de tener una dirección IP, compuesta por 12 números en hexadecimal. Cada cadena de tres números se llama dominio (ej: upc.es) y puede ir desde 000 hasta 255.

Ejemplo : 147.083.036.036 => dirección IP de un ordenador concreto en una red a nivel mundial.

Dentro de la dirección los seis primeros dígitos te los dá el proveedor, y los seis siguientes los decides tú.

Para conectar nuestro terminal con el servidor, se utiliza un programa llamado TELNET.

CULTURILLA ...La extensión del dominio (upc.es) hace referencia al país “españa”, y no podemos elegirla. Si estamos en EEUU la extensión será `.us', si estamos en Gran Bretaña será `.uk' . Las empresas tienen la extensión `.com'.

COMANDOS DE UNIX

! ! ! UNIX DISTINGUE MAYÚSCULAS DE MINÚSCULAS ! ! !

El punto (.) nos indica el directorio actual. Dos puntos (..) nos indica el directorio anterior.

Passwd : nos permite cambiar el password de acceso al UNIX .Cuando ejecutamos esta orden, primero nos pide el anterior password y luego el nuevo.

date : nos muestra la fecha y hora del sistema

cal : nos muestra el calendario del mes actual. Si ponemos “cal 1997” nos muestra el calendario de todos los meses del año que pongamos. Para paginar el calendario se pone

“cal 1997 | more” y luego para que continúe se pulsa ENTER.

chmod : es el archivo que modifica el estado de `r', `w' y `x'. Es decir activamos la `r' o la desactivamos...

Ejem. Si ponemos...”chmod 777”, lo que hacemos es activar todos los atributos, los nueve, de la siguiente manera : cada 7, corresponde a un grupo de tres (rwx). Se pasa el número a binario y dependiendo de si es 0(quita permiso) ó 1(dá permiso) ese atributo o no 111,111,111.

si ponemos ...”chmod 463”, correspondería a 100,110,011 (rwx,rwx,rwx).

  • Los siguientes comandos hacen referencia tanto a ficheros como a directorios :

ls  (list): es el dir de MS-DOS. Si añadimos “-la” nos salen también los atributos y los ocultos, el “-la” también proporciona el tamaño y fecha de creación. Los ficheros que empiezan por “.” son ocultos.

pwd : nos muestra la ruta donde estamos.

cp (copy) : es el copy de MS-DOS.

Ejemplo : cp /home/marte/directori.txt /home/marte/directorio/directori.txt

Una forma más corta de realizar un copy :primero me sitúo en marte con un cd y luego :

cp directori.txt .(que equivale a /home/marte)/directori.txt

rm (remove) : es el delete de MS-DOS, para borrar ficheros.

rmdir : para borrar directorios.

mkdir : para crear directorios.

cd : es el cd de MS-DOS.

mv (move) : renombra. Es como el rename en el MS-DOS.

more : equivale al type en MS-DOS.

La estructura de una orden UNIX es: orden [-opciones] [argumentos]

whoami : nos dice quienes somos.

who -q : te dice la gente que hay conectada. La `-q' te saca el resultado más rápido.

who -H : nos dice también la gente que está conectada, pero añade una cabecera.

cc -g programa.c : te compila el programa “programa.c” en C. Con la opción `-g' te copia también en el ejecutable el código fuente.

cd : nos llega directamente a nuestro directorio. (marte)

faltan los comandos del 3/12/97

DESCRIPCIÓN INTERNA DEL UNIX

Características del sistema de ficheros :

Tiene una estructura jerarquica (árbol inverso).

Realiza un tratamiento consistente de los datos de los ficheros.

Protege los datos de los ficheros.

Permite un crecimiento dinámico de los ficheros.

Puede crear y borrar ficheros.

Trata los dispositivos y periféricos como ficheros.

FICHERO : es una secuencia de bytes sin estructura, tiene asociado un tamaño y un inodo (i-nodo, nodos i).

DISCO : secuencia de bloques de información (512b/1024b/2048b/4096b). El tamaño de los bloques se puede definir entre estos cuando se instala un S.O. UNIX.

Un fichero se guarda en un disco en un bloque o bloques, según el tamaño del fichero. Un bloque en UNIX vendría a representar un cluster en MS-DOS.

INODO : Estructura de datos definida por el S :O : donde se guarda toda la información de un fichero. Es algo parecido a la FAT del MS-DOS pero con bastantes diferencias . En un inodo se guarda la siguiente información :

  • Tamaño (bytes).

  • Fecha de creación, última modificación y última lectura.

  • Bits de protección (rwx, rwx, rwx).

  • Propietario del fichero (Un S.O. Multiusuario).

  • Grupo asociado.

  • Lista de bloques en el disco.

  • Tipo de fichero : Plain (normal), Directorio, FIFO (tuberia), Dispositivo.

Layout del disco :

Un sitema UNIX puede controlar uno o varios discos físicos y cada uno puede contener uno o varios sistemas de ficheros. Los sistemas de ficheros son particiones lógicas del disco.

Bloque 0 Bloque 1 o Lista de inodos Zona de datos

Superbloque

BLOQUE 0 : Es el bloque de Boot (arranque), que es lo que primero se lee y se carga en memoria (la inf. Necesaria para botar). Es un pequeño programa (algoritmo) que se encarga de buscar al S .O. y de cargarlo en memoria.

BLOQUE 1 : Información del sistema de ficheros.

Fecha de creación.

Número de inodos y de bloques de datos.

Nombre del sistema de ficheros.

Flags : Read-Only, Clean, Bloques libres, Lista de inodos y de bloques libres.  

Razones por las que no podríamos grabar un fichero en Unix :

  • HD lleno, no hay bloques de datos libres.

  • No hay inodos libres.

En aplicaciones BD : 3 ficheros=10Gb pocos inodos y mucha zona de datos. Y en aplicaciones WEB que son ficheros Htm/Html (texto) muchos inodos y una zona de datos reducida.

Un inodo 32 bytes si nuestro disco está configurado en bloques de 1k podríamos tener 32 inodos/bloque. Si tenemos 10.000 ficheros, nos ocuparán 10.000 inodos que serían 320.000 bytes (320kb : 320 bloques).

Bloques libres :

A la hora de grabar datos en el disco un S.O. busca bloques libres de la siguiente manera : Tiene 10 punteros(inodos) a bloques libres y luego un 11 puntero a un bloque que a su vez guarda punteros a bloques libres.

BLOQUES LIBRES

1 10

11 -1

Si llegasemos a utilizar todas las direcciones de bloques libres el último apunta a otro bloque con direcciones de bloques libres. Un -1 indica que no hay más bloques.

Mapeo de los bloques de datos en un inodo :

Falta por explicar

LINUX

En el directorio /DEV/ directorio de dispositivos se encuentran los siguiente archivos de dispositivos :

Disqueteras Discos Duros Impresora Terminal Pantalla

fd0 hda lp0 Tty0

fd1 hdb ... Tty1

... ... ...




Descargar
Enviado por:Ferran
Idioma: castellano
País: España

Te va a interesar