Transcript
Page 1: Intro - Sistemas Operativos

1

Introducción

Capítulo 1

1.1 ¿Qué es un sistema operativo?1.2 Evolución de los sistemas operativos1.3 Tipos de sistemas operativos1.4 Recordando aspectos hardware1.5 Conceptos de sistemas operativos1.6 Llamadas al sistema1.7 Estructura de los sistemas operativos

Page 2: Intro - Sistemas Operativos

2

Introducción

• Un ordenador consiste de– hardware

– Programas del sistema

– Programas de aplicación

Ruta de datosALURegistrosCPU

Acceso aperiféricos

Page 3: Intro - Sistemas Operativos

3

• Es una máquina extendida– Esconde los detalles del hardware

– Presenta una máquina virtual:

instrucciones del

lenguaje máquina

– Presenta abstracciones: fichero, proceso, I/O, memoria

Por ejemplo: lectura de un fichero (Minix)

¿Qué es un sistema operativo? (1)

+ llamadas al sistema

Page 4: Intro - Sistemas Operativos

4

¿Qué es un sistema operativo? (2)

Page 5: Intro - Sistemas Operativos

5

¿Qué es un sistema operativo? (3)/* puertos de E/S utilizados por la tarea del disquete */#define DOR 0x3F2 /* bits de control del motor */#define FDC_STATUS 0x3F4 /* registro de estado controlador */#define FDC_DATA 0x3F5 /* registro de datos del controlador */#define DMA_ADDR 0x004 /* puerto 16 bits inferiores dir DMA */#define DMA_TOP 0x081 /* puerto 4 bits superiores dir DMA */#define DMA_COUNT 0x005 /* puerto para cuenta de DMA */#define DMA_M2 0x00C /* puerto de estado de DMA */#define DMA_M1 0x00B /* puerto de estado de DMA */#define DMA_INIT 0x00A /* puerto de inicialización de DMA *//* bytes de comandos para el controlador de disquete */#define FDC_SEEK 0x0F /* comando de búsqueda a la unidad */#define FDC_READ 0xE6 /* comando de lectura a la unidad */#define FDC_WRITE 0xC5 /* comando de escritura a la unidad */#define FDC_RECALIBRATE 0x07 /* vete al cilindro 0 *//* códigos de error */#define ERR_SEEK -1 /* error en búsqueda */#define ERR_TRANSFER -2 /* error en transferencia */#define ERR_STATUS -3 /* error al obtener el estado */#define ERR_RECALIBRATE -4 /* error al recalibrar */#define ERR_WR_PROTECT -5 /* disquete protegido contra escritura */#define ERR_DRIVE -6 /* algo va mal con la unidad */

Page 6: Intro - Sistemas Operativos

6

¿Qué es un sistema operativo? (4)

• Es un gestor de recursos– Memoria, procesador, discos, impresoras, …– Dispositivos no compartidos (impresora)– Protección de memoria– ¿Quién utiliza qué recurso?– Multiplexación de recursos en tiempo y espacio

Page 7: Intro - Sistemas Operativos

7

Evolución sistemas operativos (1)

• Primera generación 1945 - 1955– tubos de vacío, tarjetas cableadas

• Segunda generación 1955 - 1965– transistores, sistemas batch

• Tercera generación 1965 – 1980– circuitos integrados y multiprogramación

• Cuarta generación 1980 – hoy– Ordenadores personales

Page 8: Intro - Sistemas Operativos

8

Evolución sistemas operativos (2)

Primeros sistemas batch (2ª generación)– Lleva las tarjetas al 1401– Lee tarjetas a la cinta– Monta la cinta en el 7094 que realiza los cálculos– Monta la cinta en 1401 que imprime los resultados

Page 9: Intro - Sistemas Operativos

9

Evolución sistemas operativos (3)

• Un trabajo FORTRAN – 2ª generación

Page 10: Intro - Sistemas Operativos

10

Evolución sistemas operativos (4)

• 3ª generación:- Multiprogramación- Simultaneous Peripheral Operation On Line- Tiempo compartido: CTSS, MULTICS, UNIX

Page 11: Intro - Sistemas Operativos

11

Evolución sistemas operativos (5)

• 4ª generación:- Alta escala de integración: microcomputadores- Control Program for Microcomputer [CP/M]- Disk Operating System - MicroSoft Disk Operating System [MSDOS]- Graphical User Interface - Windows 3.x, 95, 98, NT, 2000, Me, XP, Vista- Linux (Red Hat, Debian, Caldera, ...)- Sistemas operativos de Red- Sistemas operativos distribuidos

Page 12: Intro - Sistemas Operativos

12

Tipos de sistemas operativos (1)• Sistemas operativos para mainframe

– Batch, transacciones, tiempo compartido– OS/390

• Sistemas operativos para servidores– Servicios de impresión, ficheros, web– Unix, Windows 2000, Linux

• Sistemas operativos multiprocesador– Unix, Encore

• Sistemas operativos para ordenadores personales• Sistemas operativos de tiempo real

– Hard real-time system, soft real-time system• Sistemas operativos empotrados (embarcados)

– PalmOS, Windows CE• Sistemas operativos para tarjetas inteligentes

Page 13: Intro - Sistemas Operativos

13

Conceptos de sistemas operativos (1)

• Proceso

– Un programa en ejecución.

• Espacio de direccionamiento– Código (texto)

– Datos

– Pila

• Contexto (entrada de la tabla de procesos)– Registros de la CPU

– PC, SP, PSW (SR).

– Tabla de ficheros abiertos

– Mapa de memoria

– .......

Page 14: Intro - Sistemas Operativos

14

Conceptos de sistemas operativos (2)

• Proceso– operaciones asociadas a un proceso

• Crear un proceso (relación padre-hijo)

• Terminar un proceso

• Comunicación y sincronización entre procesos

• Pedir/Liberar memoria

• Esperar a que termine uno de los hijos

• Cargar un fichero ejecutable

• Establecer/tratar/enviar señales

– Un proceso tiene varios identificadores

• uid, identificador del usuario propietario del proceso

• pid, identificador del propio proceso

• gid, identificador del grupo del propietario del proceso

Page 15: Intro - Sistemas Operativos

15

Conceptos de sistemas operativos (3)• Interbloqueo entre procesos

Los interbloqueos se producen por la competencia entre

procesos por conseguir los recursos del sistema

Page 16: Intro - Sistemas Operativos

16

Conceptos de sistemas operativos (4)• Gestión de memoria

– Asignación/Liberación de memoria

– Mecanismos de protección

– Gestión de huecos y compactación

– Gestión de la memoria virtual (paginación, segmentación)

• Gestión de dispositivos de E/S

– Teclados, monitores, impresoras, discos, ...

– Software de E/S independiente del dispositivo (protección,

buffering, esquema de nombrado, tamaño de bloque, ...)

– Software de entrada salida dependiente del dispositivo (drivers)

Page 17: Intro - Sistemas Operativos

17

Conceptos de sistemas operativos (5)• Sistema de ficheros

Page 18: Intro - Sistemas Operativos

18

Conceptos de sistemas operativos (6)

• Operaciones sobre ficheros– Crear, abrir, cerrar, leer, escribir, posicionar, borrar, ...

• Un directorio también es un fichero (árbol)

• Un fichero tiene un nombre– Absoluto, desde el directorio raíz (root directory)

/Faculty/Prof.Brown/Courses/CS101

– Relativo al directorio de trabajo (working directory) si wk = /Faculty/Prof.Brown,

Courses/CS101

Existe una llamada para establecer el directorio de trabajo

• Descriptor de fichero– Cuando se abre un fichero, el SO devuelve un identificador

Page 19: Intro - Sistemas Operativos

19

Conceptos de sistemas operativos (7)

• Antes de montar – Los ficheros del disquete son inaccesibles

• Después de montar el floppy en b,– Los ficheros del disquete forman parte del sistema de ficheros

• Sistema de ficheros montado

Page 20: Intro - Sistemas Operativos

20

Conceptos de sistemas operativos (8)• Tipos de ficheros

– Ficheros ordinarios (regulares)

– Ficheros especiales de dispositivo• Los dispositivos de E/S se ven como ficheros.

– Especial de bloques (por ejemplo, discos, /dev/hd01)

– Especial de caracteres (por ejemplo, impresora /dev/lpt)

– Tuberías (pipes)• Un pseudofichero

• Dos descriptores: uno para leer y otro para escribir

• Comunican procesos

Page 21: Intro - Sistemas Operativos

21

Conceptos de sistemas operativos (9)

• Shell– Intérprete de comandos

– No es parte del sistema operativo

– sh, csh, ksh, bash

– Crea procesos nuevos para ejecutar comandos

– Gestiona las redirecciones (entrada/salida) y pipes$ cat file1 file2 file3 | sort > /dev/lp

– Ejecución en background$ cat file1 file2 file3 | sort > /dev/lp &

• Seguridad– Bits rwx de los ficheros (3 juegos: propietario, grupo, otros)

rwx rwx rwx

Page 22: Intro - Sistemas Operativos

22

Llamadas al sistema (1)

Veremos llamadas al sistema de POSIX

Son invocaciones de rutinas de biblioteca

Page 23: Intro - Sistemas Operativos

23

Llamadas al sistema (2)

Ejemplo: count = read (fd, &buffer, nbytes)

¿ ?

Page 24: Intro - Sistemas Operativos

24

Llamadas al sistema (3)

Page 25: Intro - Sistemas Operativos

25

Llamadas al sistema (4)• Esqueleto de una shell:nn

while (TRUE) { /* repeat forever */

type_prompt( ); /* display prompt */ read_command(command, parameters) /* input from terminal

*/ if (fork() != 0) { /* fork off child process */ /* Parent code */ waitpid (-1, &status, 0); /* wait for child to

exit */ } else { /* Child code */ execve (command, parameters, 0); /* execute command

*/ }}

Page 26: Intro - Sistemas Operativos

26

Llamadas al sistema (5)

Page 27: Intro - Sistemas Operativos

27

Llamadas al sistema (6)

Page 28: Intro - Sistemas Operativos

28

Llamadas al sistema (7)

(a) Antes de que ast haga: link (“/usr/jim/memo”, “/usr/ast/note”)

(b) Los mismos directorios después de la llamada al sistema

link

Page 29: Intro - Sistemas Operativos

29

Llamadas al sistema (8)

(a) Sistema de ficheros antes de mount (“/dev/fd0”, “/mnt/”, 0)

(b) Sistema de ficheros después de la llamada al sistema

Page 30: Intro - Sistemas Operativos

30

Llamadas al sistema (9)

Page 31: Intro - Sistemas Operativos

31

Llamadas al sistema (10)

Los tres segmentos de un proceso: texto, datos, pila

brk (newDirection)

(La sección 1.6.5 no entra)

Page 32: Intro - Sistemas Operativos

32

Estructura de los S.O. (1)

Sistema monolítico

Llamadas al sistema

Page 33: Intro - Sistemas Operativos

33

Estructura de los S.O. (2)

Capas del sistema operativo Minix

Sistemas por capas

Page 34: Intro - Sistemas Operativos

34

Estructura de los S.O. (3)

Estructura del VM/370 con CMS

Máquinas virtuales

Page 35: Intro - Sistemas Operativos

35

Estructura de los S.O. (4)

Exokernels

• El exokernel crea N máquinas virtuales y cada una tiene asignado un subconjunto de los recursos hardware de la máquina real.

• El exokernel (en modo kernel) valida que el acceso a los recursos sea correcto.

Page 36: Intro - Sistemas Operativos

36

Estructura de los S.O. (5)

El modelo cliente-servidor

Page 37: Intro - Sistemas Operativos

37

Estructura de los S.O. (6)

Modelo cliente-servidor en un sistema distribuido


Top Related