Introducción al UNIX II

Anuncio
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
1
• 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
2
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.
3
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
4
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.
5
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.
6
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.
7
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
... ... ...
8
Descargar