View
0
Download
0
Category
Preview:
Citation preview
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 1
Introducción a UNIXIntroducción a UNIXPerspectiva de las computadoras y los sistemas Perspectiva de las computadoras y los sistemas operativosoperativos
Fundamentos de Informática ICurso 2007-2008
Ingeniería Técnica en Informática de SistemasCésar Llamas Bello
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
ÍndiceÍndice
Lo primero: la computadoraMáquina multinivelMáquina multinivelDescripción general de UNIX
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 2
La computadoraLa computadora
El procesoLa máquina genéricaLa máquina genéricaModelo de ejecución síncronoModelo de ejecución asíncronoLa jerarquía de memoriasLa organización de la memoriaLa organización de la memoriaEl lenguaje de la máquina
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
El procesoEl procesoDatos
delid
Datosde
entradaProceso
informático salidaentrada informático
DatosDatos
programa
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Datosde
salidaMáquinagenérica
Datosde
entrada
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 3
La máquina genéricaLa máquina genérica
Datosde
Dispositivos deentrada y salida
entrada
Datosde
salida
Li t d Unidad de
Registros
Busdel sistema
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Lista deinstrucciones
Unidad central deprocesamiento (UCP)
Memoriaprincipal
Unidad deejecución
del sistema
Modelo de ejecución síncronoModelo de ejecución síncrono
L l
Fase de lectura
inicioLeer la
instrucciónactual
Ejecutar la fi
Fase de ejecución
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Ejecutar lainstrucción fin
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 4
Modelo de ejecución síncronoModelo de ejecución síncrono10111011
10111011
inicio
00010111
11001011
11111011
01011111
Lista deinstrucciones
Secuenciade ejecución
de instrucciones
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
11011101
11101110
11101011fin
Modelo de ejecución asíncronoModelo de ejecución asíncrono
inicioLeer la
instrucciónactual
Fase de lectura
actual
Ejecutar lainstrucción fin
Fase de ejecución
F d i t ióInterrupciones
h bilit d
Interrupcionesinhabilitadas
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Test interrupción:interrupción
Fase de interrupciónhabilitadas
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 5
Modelo de ejecución asíncronoModelo de ejecución asíncrono10111011
10111011
inicio Programade servicio
de la interrupción
00010111
11001011
11111011
01011111
Programaprincipal
10111011
10111011
00010111
11001011
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
11011101
11101110
11101011fin
11111011
La jerarquía de memoriasLa jerarquía de memorias
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 6
La organización de la memoriaLa organización de la memoria012
Byte 0Byte 1B t 2
Direcciónde memoria 0
24
Direcciónde memoria
Palabra 0Palabra 1P l b 22
34
Byte 2Byte 3Byte 4
contenidode memoria
468
Con palabrasde 2 bytes
Palabra 2Palabra 3Palabra 4
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
n-2n-1
Byte n-2Byte n-1
n-4n-2
contenidode memoria en bytes
Palabra (n-2)/2Palabra (n-1)/2
contenidode memoria en
palabras (words)
El lenguaje de la máquinaEl lenguaje de la máquina10111011
10111011
mov a,b
mov a,#10programa
en laVersiónhumana
d l00010111
11001011
11111011
01011111
,
sub a,b
cmp a,0
jprz -3
ld 15 c
máquina del programa(ensamblador)
Tipos de instrucciones:
• carga y transferencia de datos• aritmética, lógica
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
01011111
11011101
11101110
11101011
ld 15,c
rotr a
ld a,16
mov a,b
• relación, de bits• de control de la secuencia• de control de dispositivos• de control del estado de la UCP
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 7
Máquina multiMáquina multi--nivelnivel
Concepto de máquina multi-nivelDefinición de sistema operativoDefinición de sistema operativoEl nivel de sistema operativo
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Concepto de máquina multiConcepto de máquina multi--nivelnivel
Lenguaje nuevo
Máquina nueva
Lenguaje original programación, ...
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Máquina original
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 8
Concepto de máquina multiConcepto de máquina multi--nivelnivel
L j
AGREGACIÓNSUBSTITUCIÓN
Lenguaje nuevo
Má i
Lenguaje original
Lenguaje nuevo
Má i
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Máquinaoriginal
Máquinanueva
Máquinanueva
Máquinaoriginal
¿Qué es un sistema operativo?¿Qué es un sistema operativo?Software que actúa como intermediario entre el usuario y el hardware de una computadora y y p ycuyo propósito es proporcionar un entorno en el cual el usuario pueda ejecutar programas de manera cómoda y eficiente:◦ Gestiona recursos hardware.◦ Proporciona nuevos recursos.p◦ Proporciona herramientas de configuración y
programación.
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 9
El nivel de sistema operativoEl nivel de sistema operativo
El sistema operativo es una máquina ampliada formada por agregación de:ampliada formada por agregación de:◦ nuevas instrucciones, que añaden expresividad
y◦ nuevas abstracciones.
Se utiliza mediante:◦ una interfaz de programación de aplicaciones
e◦ intérpretes de lenguajes de alto nivel
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Introducción a UNIXIntroducción a UNIX
Principales abstracciones de UNIXArquitectura software de UNIXArquitectura software de UNIXHistoria de UNIXPrincipios de diseño de UNIXRudimentos
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 10
Principales abstracciones de UNIXPrincipales abstracciones de UNIX
ProcesoMemoria (memoria virtual )Memoria (memoria virtual, ...)Archivo y sistema de archivos◦ de datos y especiales (de dispositivo, de
memoria, ...)
Stream (flujo de datos) y tuberías (pipes)( j ) y (p p )Comunicación entre procesos:◦ sockets (conectores), semáforos, colas de
mensajes, memoria compartida, ...Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Principales abstracciones de UNIXPrincipales abstracciones de UNIX
Proceso:◦ UNIX es Multitarea:◦ UNIX es Multitarea:
el tiempo de cómputo se reparte entre los procesos.
◦ UNIX es de Tiempo Compartido:Varios usuarios emplean el sistema de modo interactivo.
◦ Cada proceso se comporta como si tuviera la máquina solo para él
memoria, recursos hardware, UCP, ...Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 11
Principales abstracciones de UNIXPrincipales abstracciones de UNIX
Memoria:◦ Cada proceso ve un espacio de direcciones ◦ Cada proceso ve un espacio de direcciones
virtual propio.◦ La memoria virtual de cada proceso está
protegida◦ La memoria virtual puede rebasar, en tamaño,
a la memoria principal disponiblea la memoria principal disponible.
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Principales abstracciones de UNIXPrincipales abstracciones de UNIX
Archivos:◦ Todos los archivos se ven como una cadena ◦ Todos los archivos se ven como una cadena
de bytes.◦ Las operaciones son las mismas,
independientemente del dispositivo.◦ Los archivos se organizan como una jerarquía
de carpetas y sub carpetasde carpetas y sub-carpetas.◦ Los dispositivos hardware (y software) se ven
como archivos (aunque especiales).
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 12
Principales abstracciones de UNIXPrincipales abstracciones de UNIX
Streams (flujos):◦ Son la abstracción de canales de entrada y ◦ Son la abstracción de canales de entrada y
salida.◦ La entrada y salida de los procesos se realiza
mediante streams.◦ Los streams permiten conectar procesos con
archivos (y dispositivos)archivos (y dispositivos).◦ Los streams permiten conectar unos
procesos con otros (tuberías).
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Principales abstracciones de UNIXPrincipales abstracciones de UNIX
Comunicación y sincronización entre procesos:procesos:◦ Los procesos pueden comunicarse y
sincronizar sus acciones por mecanismos variados, de alto nivel.◦ Los mecanismos de comunicación entre
procesos permiten que los procesos residan procesos permiten que los procesos residan en diferentes máquinas.
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 13
Arquitectura software de UNIXArquitectura software de UNIX
AplicacionesInterfaz de
Interfaz deusuario de aplicaciones
Núcleo (kernel) de UNIX
Interfaz de llamada a servicios del sistema
Bibliotecas de lenguajes: C, C++, Java, ...
Shell (intérprete de órdenes)
Sistemai
Interfaz deprogramación
de aplicacioneses
tring
ido
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Hardware: CPU, memoria, dispositivos, ...
Gestores de dispositivos
Núcleo (kernel) de UNIXoperativo re
Historia de UNIXHistoria de UNIXV1
V6 BSDXenixV7
PWB 2BSD 3BSD
4BSD
4.2BSD2.11BSD
32V
Xenix2
SYSV
Ult i
Plan9
V8
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
4.3BSD
4.4BSD
SCO
SVR4
Linux
Solaris
AIX SunOSUltrix
Mach
OSF1
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 14
Historia de UNIXHistoria de UNIXAntecedentes:◦ CTSS, MULTICS, y los defectos de otros sistemas
operativos !!Primeras versiones:◦ Ken Thompson y Dennis Ritchie (Bell, 1969)◦ Reimplementación en C (1971)◦ BSD (Berkeley Software Distributions, 1977)Estándares actuales:Estándares actuales:◦ POSIX (IEEE, ISO), X/Open Group, SVR4 (System V
R4), SVR5.◦ ¿Linux?
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Principios de diseño de UNIXPrincipios de diseño de UNIX
Orientado a la construcción de softwareSimplicidadSimplicidadConstrucción de software mediante componentes simples.Extensibilidad: Código abierto y documentado.
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 15
RudimentosRudimentos
La conexión con el sistema:◦ Antes de conectarnos debemos disponer de ◦ Antes de conectarnos debemos disponer de
una cuenta de «usuario» en el sistema:◦ La cuenta se identifica con un nombre:
LOGIN: nombre
◦ Se autentica con una clave:PASSWORD lPASSWORD: clave
◦ ¡No suministre a nadie su clave!
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
RudimentosRudimentosEl conjunto de archivos se organiza en forma de árbol de directorios (carpetas).
/
users
alum
paco
mi_programa
telefonos.txt
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
...
...bin
...
homepage.html
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 16
RudimentosRudimentos/
bin Archivos con programas del sistema
Directorio raíz del sistema de archivos
dev
etc
tmp
var
Archivos especiales de dispositivo
Archivos y programas de mantenimiento
Archivos temporales (eliminables)
Archivos variables del sistema (spool, ...)
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
... lib
usr
Bibliotecas del sistema y de lenguajes
Utilidades, herramientas, aplicaciones, ...
RudimentosRudimentosA nivel de usuario, se dispone de un intérprete de mandatos (shell), que se maneja en modo línea desde el terminal.desde el terminal.
$
$ cat hola.txt
hola que tal
$ ls
hola.txt homepage.html Mi_programa Telefonos.txt
$ h
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
$ who am I
paco
$ hostname
tajo.uva.es
$
FI1. ITI Sistemas - Introdución a UNIX (0)
(C) César Llamas, 2007 - Dpt. Informática - UVa 17
Disposición laboratoriosDisposición laboratorios
Cada puesto bota en dos sistemas:◦ Windows XP◦ Windows XP◦ Linux (éste es de donde hay que arrancar)
Tened cuidado de seleccionarlo en el arranque.
Los directorios y archivos de cada usuario l d í d ú l i son enlazados vía red según el usuario
que se conecta a cada máquina.
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Introducción a UNIXIntroducción a UNIXPerspectiva de las computadoras y los sistemas Perspectiva de las computadoras y los sistemas operativosoperativos
Fundamentos de Informática ICurso 2007-2008
Ingeniería Técnica en Informática de SistemasCésar Llamas Bello
Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007
Recommended