Índice - uvacllamas/fi1/2007-08/iniciounix.pdf · fi1. iti sistemas - introdución a unix (0) (c)...

17
FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 1 Introducción a UNIX Introducción a UNIX Perspectiva de las computadoras y los sistemas Perspectiva de las computadoras y los sistemas operativos operativos Fundamentos de Informática I Curso 2007-2008 Ingeniería Técnica en Informática de Sistemas Cé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 computadora Máquina multinivel Máquina multinivel Descripción general de UNIX Fundamentos de Informática I - I.T.I. Informática de Sistemas (C) César Llamas, 2007

Upload: others

Post on 27-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 2: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 3: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 4: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 5: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 6: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 7: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 8: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 9: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 10: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 11: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 12: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 13: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 14: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 15: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

Page 16: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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

$

Page 17: Índice - UVacllamas/fi1/2007-08/inicioUnix.pdf · FI1. ITI Sistemas - Introdución a UNIX (0) (C) César Llamas, 2007 - Dpt. Informática - UVa 2 La computadora yEl proceso yLa máquina

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