sistema informÁtico conceptos de hardware …so-grado/1_introduccion.pdf · introducciÓn sistema...

65
INTRODUCCIÓN SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE INTERRUPCIONES ESTRUCTURA DEL S.O. EVOLUCION DE LOS S.O. ARRANQUE Y PARADA TIPOS DE S.O.

Upload: others

Post on 30-Aug-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

INTRODUCCIÓN

SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE

INTERRUPCIONES ESTRUCTURA DEL S.O.

EVOLUCION DE LOS S.O. ARRANQUE Y PARADA

TIPOS DE S.O.

Page 2: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

BibliografíaFariña, Pedreira: LBD@2010

g

• Básica:– Carretero et al., 2007, Sistemas Operativos, una visión, , p ,aplicada (2ª ed), Mc Graw Hill

• Otros:Otros:– Andrew S. Tanenbaum, 2009, Sistemas OperativosModernos (3ª ed) Prentice HallModernos (3ª ed), Prentice Hall

– Silberschatz, A.; Galvin, P.B.; Gagne, G., 2005,F d t d l Si t O ti (7ª d) M GFundamentos de los Sistemas Operativos (7ª ed), Mc GrawHill

Bibliografía

Page 3: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

, @Arquitectura básica de un computador

Page 4: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

• Máquina desnuda

O d d d i i– Ordenador carente de sistema operativo

– Sólo el hardware, sin ningún software instalado

– En sí mismo no hace “nada”

– El hardware por sí mismo sólo es capaz de ejecutarprogramas en código máquina

• Secuencia de instrucciones en lenguaje máquina

• Un programador tendría que programar “TODO”!!• Un programador tendría que programar TODO !!

Page 5: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

Fariña, Pedreira: LBD@2010

Ej l i lifi d d á i• Ejemplo, muy simplificado, de programa máquina…LOAD R1, #16[R10] // R1 Mem (R10+16)LOAD R2, #32[R10] // R2 Mem (R10+32)ADD R3, R1, R2SAVE R3, #16[R11] //Mem (R11+16) R3…

Que en pascal podría ser algo como lo siguiente: (aunque no sea corrento)res3 := var[16] + var[32];

c

Page 6: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

P l á• Pero queremos algo más:– Ejecutar varios procesos de forma simultánea, que tienen que

compartir los recursos del computadorcompartir los recursos del computador

– Olvidarnos del detalle de uso de cada componente HW

/• P.ej: controladores de cada tipo de ratón/tarjeta gráfica,…

– Tener un entorno de trabajo en el computador

• Para lanzar nuestros programas, manejar ficheros (sistemaficheros),…

– Escribir programas en lenguajes de alto nivel (compilación)

– Tener múltiples usuarios que utilicen el sistema, posiblementede forma concurrentede forma concurrente.

– Etc.

Page 7: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

SISTEMA INFORMÁTICO

S.O. INTRODUCCIÓN 2

SISTEMA OPERATIVO

HARDWARE

Usuario 1 Usuario 2 Usuario 3 Usuario n …

Compilador Ensamblador Editor Base de datos

Programas del sistema y aplicaciones

Acceso a : Disco? Teclado? Ratón? …

Software

usuario

aplicación

sistemaoperativo

hardware

Page 8: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 3

.

CAPAS DE UN SISTEMA INFORMÁTICO Nivel de usuario

Nivel de lenguaje de alto nivel

Nivel físico-lógico digital

Nivel de lenguaje máquina Y ensamblador

NIVEL DE S.O

Page 9: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 4

CAPAS DE UN SISTEMA INFORMÁTICO (2) • Nivel físico-lógica digital

– Circuitos combinacionales y secuenciales (contadores, registros, biestables,puertas lógicas, etc.)

– Se estudian los registros del procesador y la unidad aritmético-lógica

• Nivel de lenguaje máquina y ensamblador– Se estudian los códigos de las operaciones, modos de direccionamiento, tipos

de datos, registros del procesador, registros de control de dispositivos de E/S,etc.

– El ensamblador es similar, conceptualmente hablando, al lenguaje máquina perousa nemotécnicos para las instrucciones, macroinstrucciones y la posibilidad deservirse de los servicios ofrecidos por el S.O. que está debajo.

• Nivel de Sistema Operativo– Surge como necesidad de proteger los recursos del computador

• Nivel de lenguaje de alto nivel– Su objetivo es facilitar el desarrollo de la programación. Se encuentra orientado

hacia los problemas que trata y no hacia la máquina

• Nivel de usuario– En este nivel el usuario no necesita conocimientos informáticos sino entender el

programa y el problema que trata

Load R1, #16[R10] // R1 <-- Mem(R10+16) Load R2, #32[R10] // R2 <-- Mem(R10+32) ADD R3, R2, R1

res := var[16]+var[32];

, dar servicios, etc.

Registros

variables

Page 10: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 5

ESTRUCTURA DEL COMPUTADOR

flujo de control flujo de datos

REGISTROS

UNIDAD

ARITMETICO-LOGICA

MEMORIA

PRINCIPAL DATOS

CODIGO

ROM

UNIDAD DE CONTROL

REGISTRO DE ESTADO

CONTADOR DE PROGRAMA REGISTRO DE INSTRUCCIÓN

PUNTERO DE PILA

U N I D A D

D E

E N T R A D A / S A L I D A

CPU = UC + ALU

de datos (normales)

(1)

Page 11: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

ESTRUCTURA DEL COMPUTADOR (2) • El ciclo de ejecución se lleva a cabo según el conjunto de instrucciones de cada

CPU. Este conjunto de instrucciones se adapta a los requerimientos físicos de laCPU. Los elementos de que disponen para la ejecución de las instrucciones puedenser– Registros generales. Almacenan información de forma temporal– Contador de programa (program counter). Contiene la dirección de la siguiente instrucción

a ejecutar– Apuntador de pila (stack pointer). Apunta a la parte superior de la pila actual en la

memoria. La pila almacena una serie de informaciones por cada procedimiento al que se haentrado y del que no se ha salido (parámetros de entada, variables locales y variablestemporales que no se mantienen en los registros)

– PSW (palabra de estado del programa) contiene bits de código de condición, prioridad de laCPU, modo (kernel o usuario) y otros bits de control. Juega un papel importante en lasllamadas al sistema y en E/S

• Las CPU actuales tienen dos modos de funcionamiento: modo kernel y modousuario. En el modo kernel no hay límites en el acceso a los objetos de la CPU, enel modo usuario hay restricciones en su uso. Los programas de los usuarios seejecutan en modo usuario. El S.O. se ejecuta en modo kernel. Hay una instrucción(TRAP, no accesible a los usuarios) para intercambiar estos modos defuncionamiento. Las operaciones de E/S y el acceso a la memoria protegida no sonposibles en modo usuario.

• Llamadas al sistema. Es la forma que utilizan los S.O. para ejecutar aquellasacciones que los procesos de usuario no pueden hacer.

S.O. INTRODUCCIÓN 6

Page 12: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

ESTRUCTURA DEL COMPUTADOR (3)

• UNIDAD ARITMETICO-LOGICA– Realiza los cálculos aritméticos y lógicos sobre uno o dos datos– Los datos con los que se realizan los cálculos se almacenan previamente en la

memoria o en registros. Los resultados se llevan también a la memoria o a losregistros.

– La lógica de funcionamiento de las instrucciones la determina el lenguajemáquina o ensamblador de la máquina

• MEMORIA– RAM y ROM. En ella reside el programa máquina a ejecutar y los datos de

entrada y salida del programa• UNIDAD DE CONTROL

– Se encarga de regular el funcionamiento de los distintos elementos para quefuncionen coordinadamente

S.O. INTRODUCCIÓN 7

– Lee de mem sig instruc. máquina – La interpreta – Lee de memoria datos si necesario – Ejecuta instrucción – Almacena resultado (si hay)

Page 13: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

REGISTRO DE ESTADO

S.O. INTRODUCCIÓN 8

Modo Traza T 15 14

Sistema/Usuario S 13 12 1

Mascara 12 10 De 11 9 Interrupciones 10 8

7 6 5

Extensión X 4 Negativo N 3 Cero Z 2 Desbordamiento V 1 Acarreo C 0

Octeto del sistema

Octeto del usuario

Modo Ejecución:

(Visible en Modo Kernel)

Page 14: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 9

MODELO DE PROGRAMACIÓN • Se caracteriza por los siguientes aspectos:

– Elementos de almacenamiento• Registros generales• Contador de programa• Puntero/os de pila• Registro de estado• Memoria principal• Contadores de E/S

– Juego de instrucciones• Define las operaciones que es capaz de hacer el ordenador.

– Modos de ejecución• Modo usuario (tiene limitaciones: no permite realizar operaciones de E/S ni

modificar parte del registro de estado ni los registros de soporte de gestiónde la memoria)

• Modo núcleo privilegiado (sin limitaciones)

(Define los Recursos y características que se ofrecen al programador)

1

2

3

Registros de E/S

(que se pueden utilizar en instrucciones)

Page 15: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 10

MODELO DE PROGRAMACIÓN (2)

– Secuencia de funcionamiento • La unidad de control se encarga de su funcionamiento. • Se trata de una secuencia que se repite sin cesar:

» Lectura de la instrucción apuntada por el PC » Incremento del PC » Ejecución de la instrucción

• Los elementos que pueden provocar un cambio de este ciclo son: – Instrucción máquina de salto o bifurcación – Interrupciones externas o internas. El contador del programa es

modificado, saltando a otro programa (el S.O.) – Una instrucción máquina de llamada al sistema (p.ej.: TRAP, IN) que

provoca un efecto similar a la interrupción

4

(Define los Recursos y características que se ofrecen al programador)

Page 16: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 11

¿QUÉ ES UN S.O.?

Un S.O. es un programa, pero es un programa un tanto especial o diferente de los demás en el sentido que realiza funciones distintas y no relacionadas y que se describen a continuación:

• EL S.O. COMO PROGRAMADecimos que el S.O. es un programa (o conjunto de ellos). Desde este punto de vista cumple con los esquemas elementales de todo programa informático (algoritmos + estructuras de datos). Un S.O. es un programa en el cual los datos lo componen tablas de información acerca de los objetos que gestiona:

recursos físicos (disco, impresoras, CPU... etc.)recursos lógicos (procesos de usuarios, ficheros, tiempo de CPU... etc.)

y la algoritmia es la lógica que se encarga de asignar de forma eficiente esos recursos físicos a los recursos lógicos.

• EL S.O. COMO MÁQUINA EXTENDIDAHemos dicho que la arquitectura de los ordenadores es difícil de programar, sobre todo para E/S. Una función fundamental del S.O. es ocultar estos detalles al usuario y presentar una interface de uso común para todos los usuarios. El programador no necesita conocer los detalles del disco u otro hardware para hacer uso de él pues el S.O. le proporciona esa información a través del software específico (controladores de hardware) de cada uno.

• EL S.O. COMO ADMINISTRADOR DE RECURSOSOtra función muy importante es la de gestor de los recursos del sistema. Los programas utilizan todo tipo de hardware y es el S.O. el encargado de asignarlos a cada proceso de forma correcta.

f= open("x.txt"); write (f,...) --> Escribe en un HDD en un fichero dado

open/write funcionarán indep de si HDD con Ext3, NTFS,... Samsung o Seagate,...

- Saber recursos que están libres (CPU, MEM, espacio HDD, impresora, - Asignar recursos - Recuperar recursos que ya no se usen

Page 17: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

ACTIVACION DEL S.O.

• Cuando finaliza el arranque del S.O., este cede el control a los procesos y a partir de ahí son estos y los perifericos los que lo despiertan (activan de nuevo) mediante una interrupción. Esta activación puede proceder de tres fuentes diferentes:

– INTERRUPCIONES – LLAMADAS AL SISTEMA – EXCEPCIONES

S.O. INTRODUCCIÓN 12

Page 18: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 13

• Se activa con una señal que llega a la unidad de control

• Cuando llega la señal (debe encontrarse activada este tipo de interrupción), la unidad de control realiza un ciclo de activación de interrupción. Los pasos de este ciclo son: – Salva algunos registros del procesador – Eleva el modo de ejecución del procesador, pasándolo a núcleo – Carga un nuevo valor en el contador de programa – En muchos procesadores inhibe las interrupciones

• Los procesadores suelen incluir varias líneas de solicitud de interrupción, cada una de las cuales puede tener una determinada prioridad. Si se activan al mismo tiempo varias de estas líneas, se atiende la de mayor prioridad, quedando las demás a la espera. Las mas prioritarias suelen ser: – Excepciones hardware asíncronas – Excepciones hardware síncronas (de programa) – Interrupciones externas – Llamadas al sistema (TRAP)

• El procesador suele incluir un mecanismo de inhibición selectiva que permite detener todas o determinadas líneas de interrupción. La inhibición puede afectar a todas o a las de nivel inferior. Cuando se habilitan, puede que se hayan perdido las que se produjeran durante la inhibición o puede que hayan sido encoladas.

INTERRUPCIONES

Page 19: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 14

INTERRUPCIONES (2) • Las interrupciones se pueden generar por diversas

causas – Excepciones hardware síncronas (excepciones software)

• Problemas de ejecución – Operación inválida en la unidad aritmética – División por cero – Operando no normalizado – Desbordamiento en el resultado – Resultado inexacto en la unidad aritmética – Dispositivo no existente – Región de memoria inválida – Desbordamiento de la pila – Violación de los límites de memoria asignada – Código de operación máquina invalido

• Depuración – Punto de ruptura

• Fallo de página

1

3.000.000.000 + 3.000.000.000

(BREAK POINT)

(ACCESO A DATOS QUE AÚN NO ESTÁN EN MEMORIA)

(STACK OVERFLOW)

Page 20: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

INTERRUPCIONES (3)

– Excepciones hardware asíncronas • Error de paridad en el bus • Error de paridad en la memoria • Fallo de alimentación • Límite de temperatura excedido

– Interrupciones externas. Se trata de interrupciones producidas

por elementos externos al procesador: • El reloj • Los controladores de dispositivos de E/S • Otros procesadores

– Instrucciones máquina de llamadas al sistema

S.O. INTRODUCCIÓN 15

2

3

4 (TRAP, INT,...)

Page 21: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 16

INTERRUPCIONES (4) ...y qué pasa cuando se produce una interrupción ?

(incluido el C.P. del proc 1) ...

lo que indica cual será la

siguiente instrucción a

ejecutar de dicho proceso

Page 22: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 17

INTERRUPCIONES (5) EJEMPLO:

(CONTADOR PROGRAMA)

(registro)

NOTA: P1.1 = programa1, línea 1 NOTA: P2.1 = programa2, línea 1

NOTA: U1 == Memoria[2000]

Page 23: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

siguiente instrucción a

ejecutar es P1.1

Page 24: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

siguiente instrucción a

ejecutar es P1.2

Page 25: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

siguiente instrucción a

ejecutar es P1.3 ...

PERO SE PRODUCE

UNA INTERRUPCIÓN -->

Guardar estado (incluido

el CP) y atender

interrupción

Page 26: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

- Se atiende la interrupción,

- Al volver de la R.T.I. el

planificador da la CPU al

proceso 2

--> Se ejecutará la

instrucción P2.1

Page 27: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

Siguiente instrucción a

ejecutar es P.2.2

Page 28: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

Siguiente instrucción a

ejecutar es P.2.3

Page 29: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

siguiente instrucción a

ejecutar es P2.4 ...

PERO SE PRODUCE

UNA INTERRUPCIÓN -->

Guardar estado (incluido

el CP) y atender

interrupción

Page 30: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

- Se atiende la interrupción,

- Al volver de la R.T.I. el

planificador da la CPU al

proceso 1

--> Se ejecutará la

instrucción P1.3 (recuperó

estado del proceso 1)

Page 31: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 18

ejecutando CP A U1 V1 V3 SO P1.1 ? 3 5 2 P1.1 P1.2 3 3 5 2

Int P1.2 P1.3 21 3 5 2 SO P2.1 ? 3 5 2 P2.1 P2.2 5 3 5 2 P2.2 P2.3 -20 3 5 2

Int P2.3 P2.4 -20 3 5 -20 SO P1.3 21 3 5 -20 P1.3 P1.4 21 21 5 -20 P1.4 P1.5 21 21 5 -20

Int P1.5 P1.6 20 21 5 -20 SO P2.4 -20 21 5 -20 P2.4 P2.5 -20 21 5 -20

Int P2.5 P2.6 -18 21 5 -20 SO P1.6 20 21 5 -20 P1.6 Int 20 20 5 -20 SO P2.6 -18 20 5 -20 P2.6 Int -18 20 -18 -20

INTERRUPCIONES (6) INTERRUPCIONES (6)

(registro)contador programa MEM[2000] MEM[3000] MEM[4000]Instrucción

LD A, #2000

ADD A, 18

LD A, #3000

SUS A, 25

SV A,#4000

SV A,#2000

LD A, #2000

DEC A

LD A, #4000

ADD A,2

SV A, #3000

SV A, #2000

Page 32: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

LLAMADAS AL SISTEMA

Retorno al procedimiento llamador (8)

Trap al kernel (4)

Colocar el código para lectura en el registro (3)

Incrementar contador de programa (9)

Llamada al sistema (p.e. Read) (2)

Meter datos en la pila (1)

S.O. INTRODUCCIÓN 19

Despachador (5) (6) (7) Manejador de llamadas al sistema

EJEMPLO DE LLAMADA AL SISTEMA PARA LEER DATOS DE DISCO: a través de la función de librería READ (FD, BUFFER, BYTES)

función "Read"

de la librería

programa de

usuario que hace

la llamada a la

"read"

.

.

.

.

.

. USER SPACE

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. KERNEL SPACE

(sistema operativo)

.

Mira el "nº de llamada" para llamar

al handler correspondienteTabla de punteros

a handlersSe realiza la llamada al handler

correspondiente

lectura --> llamada al sistema "read"

LLamada a la función de librería "Read"

push (bytes); push(&buffer), push (fd)

Tanenbaum, pag 49

Page 33: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

LLAMADAS AL SISTEMA (2)

• Es la interfaz entre el S.O. y los programas de los usuarios • Cuando un programa de usuario necesita realizar alguna

operación con algún objeto de la máquina (p.e. acceder al disco, impresora, pantalla ... etc) no puede hacerlo directamente y lo hace a través de una llamada al sistema; invoca al S.O. y este realiza la operación en su lugar.

• Las llamadas al sistema son específicas de cada S.O. esto implica que cada S.O. dispone de una librería de funciones que son accedidas por los lenguajes de programación para llevar a cabo esas tareas.

• Generalmente estas funciones están escritas en lenguaje ensamblador.

S.O. INTRODUCCIÓN 20

AFORTUNADAMENTE "SUELEN" SEGUIR UNA INTERFAZ COMÚN

OJO: ¡¡ LINUX VS WINDOWS !!

Page 34: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

LLAMADAS AL SISTEMA (3)

• Como ejemplo supongamos que queremos leer en un disco. El código del lenguaje evolucionado puede ser READ, acompañado de : – Parámetros

• Puntero al fichero (lugar de la lectura) • Puntero al buffer (lugar destino de lo leido) • Cantidad de bytes a leer

• La especificación de la llamada puede ser: res_op = read (fd, buffer, num_bytes)

– Las siguientes diapositivas explican los detalles de esta llamada

S.O. INTRODUCCIÓN 21

La llamada al sistema (read) y la función de librería "read" devuelven el número de bytes_leídos

-1 si hubo algún error

0 si no pudo leer datos (p.ej. fin de fichero) --> Nuestro programa puede chequear si el valore era el esperado

Page 35: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

LLAMADAS AL SISTEMA (4)

• El programa invoca la llamada al sistema read – El programa que usa la librería coloca los parámetros en la pila (stack)

• Los compiladores de C y C++ los colocan en orden inverso. – el primero y el tercer parámetros se pasan por valor (es una copia de los

parámetros) – El segundo valor se pasa por referencia (la dirección del buffer ‘&’)

• Se hace la llamada a la función – Esta instrucción es una llamada estandar para cualquier procedimiento

o función • La función pone el número de la llamada al sistema en un lugar

conocido para el S.O. (un registro del procesador) • La función utiliza una instrucción TRAP

– TRAP cambia de modo ususario a modo privilegiado o sistema

S.O. INTRODUCCIÓN 22

1

3

2

4

programa

de usuario

que hace la

llamada a la

"read"

función

"Read"

de la librería

("Read") de la librería

(quiere invocar)

("Read")

Page 36: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

LLAMADAS AL SISTEMA (5)

• El kernel del S.O. analiza el número de la llamada al sistema– Con este número se lleva a cabo la llamada

• Existe una tabla de llamadas a funciones que tratan las llamadasdel sistema (system call handlers, manejadores de llamadas alsistema)

• Se ejecuta la función del sistema• Acabada la ejecución de la función se retorna el control a la

librería de procedimientos (vuelve al modo usuario)– La instrucción a ejecutarse será la siguiente a la TRAP

• Se retorna del procedimiento al programa de ususario• El programa de ususario limpia la pila (stack)• El programa de ususario puede seguir su ejecución normal

S.O. INTRODUCCIÓN 23

5

7

(6)

(el manejador correspondiente)

8

9

Modo

Kernel

(Sistema

Operativo)

función

"Read"

de la librería

programa

de usuario

que hace la

llamada a la

"read"

usuario

usuario

que el S.O. invoque a una función u otra para atender una llamada al sistema, dependerá del "número de la llamada",

que permite indexar la tabla de System Call Handlers, para saber a dónde saltar.

Page 37: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

Llamadas al sistema en POSIXLlamadas al sistema en POSIX

LLAMADAS AL SISTEMA (6)

Page 38: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

Llamadas al sistema en POSIXLlamadas al sistema en POSIX

LLAMADAS AL SISTEMA (7)

Page 39: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 24

ESTRUCTURA DEL SISTEMA OPERATIVO

• ADMINISTRACIÓN DE PROCESOS – Una de las tareas primordiales de todo S.O. es la ejecución de

programas del usuario. Pero en el sistema existen otros programas en ejecución que no son los creados por los usuarios. En un sistema con diversos procesos para su ejecución hace falta llevar una gestión de los mismos, de esta se encarga el S.O.

– Un proceso necesita determinados recursos: tiempo de CPU, memoria, archivos, dispositivos de E/S... etc.

– Un S.O. es responsable de las siguientes actividades relacionadas con la administración de procesos: • Crear y eliminar los procesos de usuario y del sistema. • Suspender y reanudar la ejecución de los procesos. • Proporcionar mecanismos para la sincronización de los procesos. • Proporcionar mecanismos para la comunicación de los procesos. • Proporcionar mecanismos para el manejo de bloques mutuos.

Page 40: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 25

• ADMINISTRACIÓN DE MEMORIA PRINCIPAL – La memoria es un depósito de datos de acceso rápido compartido

por la UCP y los dispositivos de E/S. La UCP sólo tiene acceso a la memoria para los programas y datos que utiliza, es por ello que deben encontrarse ambos en la misma antes de ser utilizados. Si existen diversos procesos en ejecución es evidente que deberían encontrarse en la memoria los diferentes códigos y datos que se vayan a usar. Se hace necesario gestionar el espacio para la ubicación de los mismos.

– El S.O. es responsable de las siguientes actividades relacionadas con la administración de la memoria: • Llevar un control de cuáles son las zonas de memoria que se están

usando y quién las usa. • Decidir qué procesos se cargarán en memoria cuando haya espacio

disponible. • Asignar y recuperar el espacio en memoria según se requiera.

ESTRUCTURA DEL SISTEMA OPERATIVO (2)

• Compartición de memoria entre procesos (ej. memoria compartida IPC) • Gestión de la jerarquía de memoria y tratamiento fallos de página + Servicios: (malloc, free, shmget,...)

Page 41: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 26

• ADMINISTRACIÓN DE ALMACENAMIENTO SECUNDARIO – Los programas y datos se encuentran almacenados en

dispositivos de almacenamiento masivo (discos). De ellos son traídos a memoria y a ellos son llevados después de ser usados.

– Es responsabilidad del S.O. las siguientes actividades relacionadas con la administración del disco: • Administración del espacio libre. • Asignación del almacenamiento. • Planificación de las operaciones sobre el disco.

ESTRUCTURA DEL SISTEMA OPERATIVO (3)

Page 42: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 27

• ADMINISTRACIÓN DE E/S – Uno de los objetivos del S.O. es ocultar al usuario las

particularidades de los dispositivos del hardware. Por ejemplo, en UNIX, las particularidades de los dispositivos de E/S se ocultan del resto del sistema operativo por medio de un sistema de E/S, el cual consiste en: • Un sistema de memoria caché mediante buffers. • Una interfaz general con los manejadores de dispositivos. • Manejadores para dispositivos de hardware específicos (cuya

función es conocer las particularidades del dispositivo).

ESTRUCTURA DEL SISTEMA OPERATIVO (4)

(Acceso eficiente)

El S.O. garantiza la protección de E/S de forma que se eviten accesos NO autorizados a dispositivos (directos) por parte de los usuarios. + Servicios: orientados a read/write sobre dispositivos de E/S

Page 43: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 28

• ADMINISTRACIÓN DE ARCHIVOS – La administración de archivos puede considerarse uno de los

componentes más visibles de un S.O. – Para usar cómodamente un sistema de computación, el S.O.

ofrece una perspectiva lógica uniforme de almacenamiento de la información. Un S.O. se vale de las propiedades físicas de sus dispositivos de almacenamiento para definir una unidad de almacenamiento lógico: el archivo. Por medio del S.O., los archivos se relacionan con los dispositivos físicos.

– El S.O. es responsable de las siguientes actividades relacionadas con la administración de archivos: • La creación y eliminación de archivos. • La creación y eliminación de directorios. • El manejo de operaciones primitivas para manipular archivos y

directorios. • La copia de seguridad de archivos en medios de almacenamiento

estables.

ESTRUCTURA DEL SISTEMA OPERATIVO (5)

Page 44: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

Ficheros Directorios

Vi ió ló i Vi ió ló iVisión lógica:•Nombre•secuencia de bytes

Visión lógica:•Organizado en forma arbórea•2 ficheros en diferentesdirectorios nunca serán el mismo

Visión física:•Detalles de su representaciónsobre un S.F. dado.

directorios nunca serán el mismo

Visión física:•Cada directorio almacena sus

Info archivo ( INODE)Bloques de datos (nonecesariamente contiguos)

archivos en una tabla (que sealmacena en 1+ bloques de datos)

Servicios:•abrir, crear, borrar, cerrar, leer,escribir posicionar stat

Servicios:•abrir, crear, borrar, cerrar, leer_dir,cambiar directorio statescribir, posicionar, stat cambiar directorio, stat

ESTRUCTURA DEL SISTEMA OPERATIVO (5b)Administración de archivos

bytes,

propietario,

fecha creación

(ruta identifica a

los ficheros)

tabla relaciona:

entrada <--> id

físico (inode)

Page 45: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 29

• SISTEMA DE PROTECCIÓN – Los distintos procesos de un S.O. deben ser protegidos unos de otros. Los

segmentos de memoria, la UCP, los archivos y otros recursos pueden ser usados únicamente por los procesos que han recibido la correspondiente autorización.

– Por ejemplo, el hardware de direccionamiento a memoria asegura que un proceso sólo puede trabajar dentro de su espacio de direcciones. El cronómetro asegura que ningún proceso puede obtener el control de la UCP sin perderlo eventualmente. Por último no se permite que un usuario realice por su cuenta operaciones de E/S, para proteger así la integridad de los dispositivos físicos.

• EL INTÉRPRETE DE COMANDOS (SHELL) – Uno de los programas de sistema más importantes para el usuario es el

intérprete de comandos o shell. – Algunos S.O., en especial los de microcomputadores, incluyen al intérprete de

comandos en su núcleo. Otros S.O. , sobre todo en las computadoras de gran tamaño, tratan al intérprete de comandos como un programa especial que se ejecuta al iniciar un trabajo o cuando el usuario se conecta por primera vez al sistema (en sistemas de tiempo compartido).

ESTRUCTURA DEL SISTEMA OPERATIVO (6)

Memoria --> cada proceso su espacio de direcciones propio

CPU --> Reloj que genera interrupciones periódicas

E/S --> El SO evita la ejecución directa de operaciones de E/S

(o el GUI)

Page 46: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 30

SERVICIOS DEL SISTEMA

• Un S.O. no debe considerarse hoy en día como una herramienta que sólo gestiona los recursos del sistema sino que además proporciona una serie de servicios que hace más cómoda la labor del usuario de un sistema informático. Para ello suelen proporcionar una serie de utilidades que, si bien no pueden considerarse S.O. en el sentido que nos interesa a nosotros, se consideran utilidades imprescindibles en todo sistema informático y suelen venir a disposición del usuario con el S.O.. estas podemos dividirlas en: – Manipulación de archivos. Estos programas crean, eliminan, copian,

renombran, imprimen, vuelcan, muestran y en general manipulan archivos y directorios.

– Información de estado. Algunos programas simplemente solicitan al sistema fecha, hora, espacio de memoria o disco disponible, número de usuarios... etc.

– Modificación de archivos. Es normal que exista algún editor que permita la manipulación de ficheros en sus aspectos básicos.

(1)otras aplicaciones que "vienen con el S.O."

Page 47: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

SERVICIOS DEL SISTEMA (2)

– Apoyo a lenguajes de programación. Es usual que se ofrezcan compiladores, interpretes, ensambladores para los lenguajes más habituales. Hoy en día se ofrecen por separado.

– Carga y ejecución de programas. Una vez ensamblado o compilado el programa, se debe cargar en la memoria para ejecutarlo. El sistema puede ofrecer cargadores absolutos, cargadores relocalizables, editores de enlace y cargadores de superposición.

– Comunicaciones. Estos programas proporcionan el mecanismo para crear conexiones virtuales entre procesos, usuarios y diferentes sistemas de computación; permiten a los usuarios enviar mensajes a la pantalla de los demás, transferir archivos entre máquinas, enviar correo y conectarse en forma remota a otros computadores.

– Programas de aplicación. Es normal que se entreguen con el S.O. programas como: generadores de gráficos, sistemas de Bases de datos, juegos... etc.

S.O. INTRODUCCIÓN 31

Page 48: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 32

EVOLUCION DE LOS SISTEMAS OPERATIVOS • 1ªGENARACIÓN (1945-1955): TUBOS DE VACÍO Y

TABLEROS DE CONMUTACIÓN– A mediados de la década de 1940, Howard Aiken en Harvard, John

von Neuman en el Institute for Advanced Study en Princeton. J.Presper Eckert y William Mauchley en la University of Pennsylvania yKonrad Zuse en Alemania, entre otros, lograron construir máquinascalculadoras usando tubos de vacío.

– En estos primeros días, un solo grupo de personas diseñaba,programaba, operaba y mantenía la máquina. Toda la programaciónse realizaba en lenguaje máquina absoluto, a menudo alambrandotableros de comunicación para controlar las funciones básicas de lamáquina.

– No existían los lenguajes de programación (ni siquiera losensambladores) ni, por supuesto, los S.O.

– La forma de operar usual consistía en que el programador seanotaba para recibir un bloque de tiempo en la hoja de reservas,luego pasaba a la sala de máquinas, insertaba su tablero deconmutación en la máquina, y pasaba las siguientes horasesperando que no se fundiera ninguno de los 20.000 tubos de vacío.

– Prácticamente todos los problemas eran cálculos numéricos directos.

Lenguaje máquina ...

o peor..

con cableado!!!

(ejemplos: Z3, Colossus, ENIAC)

Page 49: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 33

• 2ªGENARACIÓN (1955-1965): TRANSISTORES Y SISTEMASPOR LOTE

– A principios de la década de 1950, el trabajo había mejorado un pococon la introducción de las tarjetas perforadas. Ahora se podía escribirel programa en tarjetas e introducirlas para ser leídas, en lugar deusar tableros de conmutación; por lo demás, el procedimiento era elmismo. A mediados de 1950 se introdujo el transistor en loscomputadores y esto cambió el panorama totalmente, aumentó lafiabilidad.

– Aparece la separación entre diseñadores, constructores, operadores,programadores y personal de mantenimiento.Estas máquinas tenían equipos profesionales para operarlas. Comoejemplo un operador se encargaba del montaje de la maquina yliberaba al programador de la tarea.Para ejecutar un trabajo (un programa o serie de ellos), unprogramador escribía primero el programa en papel (FORTRAN oensamblador) y luego lo perforaba en tarjetas. Después, llevaba elgrupo de tarjetas al cuarto de entrada y lo entregaba a uno de losoperadores. Cuando este acababa el resultado era enviado a uncuarto de salida donde el programador recogía los resultados deltrabajo. Si el siguiente trabajo necesitaba de otro compilador, habíaque cargarlo; esto implicaba un desperdicio de tiempo.

EVOLUCION DE LOS S.O. (2) Imagen: Modern Op Syst. 3ªed, Tanembaum

(en una máquina de $millón )

y... FIABLE --> se puede vender a una gran corporación !!

Page 50: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 34

EVOLUCION DE LOS S.O. (3)

CARGADOR SECUENCIADOR DE TRABAJOS

INTERPRETE DE TARJETAS DE CONTROL

ÁREA DE PROGRAMAS DE USUARIO

• La solución a esto fue el sistema por lotes. El principio de esta forma detrabajo consistía en reunir una serie de trabajos en el cuarto de entrada,leerlos y grabarlos en una cinta magnética usando una computadorapequeña (IBM 1401, útil para leer tarjetas, copiar cintas e imprimir salidas,pero no para cálculos) y luego procesarlos en una más grande (IBM 7094).

• Como se procesaban varios trabajos similares seguidos, se ideó unprograma que residía en memoria cuya función primordial consistía enactivar el siguiente trabajo después de finalizar el anterior es decir, seencargaba de la secuencia automática de trabajos. Este programaconocido como monitor residente fue el origen de lo que hoy son losSistemas Operativos.

• Este primitivo S.O. o monitor residente tenía la siguiente estructura:

Imagen: Modern Op Syst. 3ªed, Tanembaum

(MÁQUINA GRANDE-)

MONITOR RESIDENTE

carga los trabajos uno

tras otro (de cinta de

entrada)

(MÁQUINA PEQUEÑA)

copia a cinta varios

trabajos

Sistema por lotes o batch

El contenido de las tarjetas ya fue

copiado a la cinta. Incluso la tarjeta con

el compilador está "copiada a la cinta"

Resultados se

escriben en otra

"cinta de salida"

(MÁQUINA PEQUEÑA)

imprimir los resultados

Page 51: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

EVOLUCION DE LOS S.O. (4)

• Una vez que estaban finalizados los trabajos, se pasaba la cinta de salida de nuevo a la IBM 1401 para efectuar la salida impresa fuera de línea (no conectada a la computadora principal).

• Las computadoras grandes de la segunda generación se usaban primordialmente para cálculos científicos y de ingeniería. Estas máquinas generalmente se programaban en FORTRAN y lenguaje ensamblador. Los sistemas operativos típicos eran FMS (Fortran Monitor System) e IBSYS (el S.O. de IBM para la 7094).

S.O. INTRODUCCIÓN 35

p.ej. Ecuaciones diferenciales

Page 52: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 36

• 3G. (1965-1980): CIRCUITOS INTEGRADOS YMULTIPROGRAMACIÓN

–A principios de la década de 1960, la mayoría de losfabricantes tenían dos líneas de producción:

• una orientada al trabajo científico• otra orientada a los aspectos administrativos

–Para paliar este problema IBM trató de crear una máquina quesirviera para ambos tipos de trabajo e ideó la System/360.

–Puesto que todas las máquinas tenían la misma arquitectura yconjunto de instrucciones, los programas escritos para unamáquina podían ejecutarse en todas las demás, al menos enteoría.

–La 360 fue la primera computadora en usar circuitosintegrados (IC) y esto le dio una ventaja competitiva muyfuerte frente a la competencia.

EVOLUCION DE LOS S.O. (5)

¡Pero estas máquinas "compatibles" podían ser muy heterogéneas!!

Page 53: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

EVOLUCION DE LOS S.O. (6) • Esta idea de tener "una familia" fue también su gran debilidad. La

idea era que todo el software, incluido el sistema operativo, funcionara en todos los modelos. El software tenía que funcionar en máquinas potentes y no tanto, con procesos orientados al cálculo científico y con otros orientados al trabajo administrativo, con pocos y con muchos periféricos... etc., si añadimos que además se le pedía que lo hiciera siempre de forma eficiente, podemos vislumbrar el origen de los problemas con los que se encontró el sistema operativo.

• La pretensión de dar respuesta a todas estas necesidades dio origen a un S.O. enorme, muy complejo y con millones de líneas en ensamblador escritas por diferentes programadores y que contenía miles de errores. Cada intento de corregirlos daba lugar a otra tanda de ellos y sin visos de solución definitiva.

• A pesar de todo dio respuesta "satisfactoria" a la mayoría de los clientes y sirvió para introducir en los S.O. una forma de gestión de los procesos conocida como multiprogramación.

S.O. INTRODUCCIÓN 37

Page 54: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 38

En la 7094, cuando un trabajo hacía una pausa para hacer una operación de E/S, la CPU permanecía ociosa esperando a que finalizara dicha operación. En cálculos científicos la pérdida de tiempo no es exagerada pero en el procesamiento de datos comerciales esto puede significar el 80-90% del tiempo total.

La decisión que se tomó para solucionar el problema fue dividir la memoria en varias secciones, con un trabajo distinto en cada partición. Mientras un trabajo estaba esperando por una operación de E/S otro podía estar usando la CPU. Si se consigue mantener en memoria diversos programas podría mantenerse la CPU trabajando casi todo el tiempo.

Mantener en memoria más de un programa implica tener un hardware especial que impida que un programa invada la partición de otros.

El procesamiento off-line permitió simultanear las operaciones de E/S con el uso de la UCP. Pero si queremos que este trabajo se realice sobre una sola máquina; se debe colocar ciertos elementos entre los dispositivos y la UCP para permitir una separación similar de la ejecución. Además es necesario desarrollar una arquitectura adecuada para permitir este almacenamiento temporal

EVOLUCION DE LOS S.O. (7) (2ªGeneración)

(3ªGeneración con Multiprogramación)

Necesidad de buffers de E/S

Job1

Job2

Job3

SOparticiones de

memoria

Page 55: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 39

BUFFER Un buffer, o almacenamiento temporal, es un método para hacer simultánea la E/S de un trabajo con su propio cómputo. Consiste en reservar espacio de memoria para traer o llevar información del dispositivo de E/S, así el trabajo se activa porque la lectura o escritura sobre el dispositivo puede hacerse en un momento diferente al de su utilización lógica por la UCP.

El manejo de buffers es generalmente una función del sistema operativo. El monitor residente o los manejadores de dispositivo incluyen buffers del sistema para cada dispositivo de E/S.

Los trabajos de esta época se caracterizaban por estar limitados por E/S con lo que la utilización de buffers no era suficiente.

Page 56: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 40

SPOOLING La utilización del disco supuso una evolución importante para los sistemas operativos.

Al disponer de un acceso directo a la información, la utilización de la misma no es imperativo que se haga de forma secuencial. Esto va a permitir que se pueda simultanear la utilización de un dispositivo de E/S de un programa con el procesamiento de otro programa. A esta forma de trabajo se la conoce como spool (simultaneous peripheral operation on-line). Fundamentalmente se trata de utilizar el disco como un gran buffer de almacenamiento masivo.

El spooler puede llevarse al extremo de llevar a disco toda una cinta y gravar la misma de nuevo al disco, posteriormente se imprime la salida. A esta operación se la conoce como pasar por etapas (staging) la cinta.

La utilización del spooling proporciona una estructura de datos muy importante: el deposito de trabajos (job pool). Al disponer de varios trabajos almacenados en disco, se puede seleccionar el orden de entrada (con la cinta el orden es secuencial) y mejorar el rendimiento del sistema, esto hace necesaria una planificación del trabajo.

* Los trabajos a ejecutar se pasan a DISCO (se crea un POOL de trabajos a ejecutar)

* DISCO --> Acceso DIRECTO --> No es necesario ejecutar las tareas secuencialmente (como cuando estaban en cintas) --> Se puede modificar el orden de

ejecución --> hace posible/necesario realizar una PLANIFICACIÓN

* La ventaja: Cada vez que un trabajo termina, se puede elegir cualquier otro trabajo para cargarlo en la partición libre e iniciar su ejecución.

grabar

Page 57: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 41

MULTIPROGRAMACIÓN

Creado el software que permita un control del spool es lógico pensar que el siguiente paso es poder simultanear la ejecución de diversos trabajos la UCP. Teniendo en cuenta que el paso significa cambiar de un proceso a otro por abandono del anterior de la UCP. Esto paso implica para el sistema operativo la necesidad de determina cual es el proceso al que se le va a asignar la UCP, esta decisión se conoce como planificación de la UCP.

Hasta este momento:

- Se puede simultanear la ejecución de varios "trabajos" en la CPU

- hay varios procesos ejecutándose (dep de los que caben en memoria), pero se cambia de uno a otro sólo cuando éste abandona la CPU (p.ej. si hace una E/S)

- Necesidad de un planificador

Page 58: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 42

TIEMPO COMPARTIDO

El tiempo compartido (o multitarea) es una extensión lógica de la multiprogramación. La UCP ejecuta las diversas tareas alternando entre ellas pero los cambios se hacen por iniciativa del sistema operativo, el cual va asignando tiempo (quantum) a cada proceso y va permitiendo que todos se vayan ejecutando "simultáneamente". Esto implica la necesidad de una mejor planificación de trabajos para decidir cuestiones como: ¿a quien se le asigna la CPU?, ¿duración del quantum? ...etc.

Además, permite una interacción entre el programa y el usuario. Antes los programas se ejecutaban de forma secuencial y esto tenía implicaciones para los programadores pues tenían que prever todas las posibilidades de desarrollo de los programas.

LOS CAMBIOS DE UNA

TAREA A OTRA SE

HACEN POR INICIATIVA

DEL s.o (el planificador)

Page 59: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

4ª Generación (1980 +) Ordenadores personales4ª Generación (1980 +) Ordenadores personales

• Aparición de chips con LSI (Large Scale of Integration)• PC generalizado• 1974: Intel 8080 SO: CP/M (1977)• 1981 IBM/PC (Basic DOS) MSDOS (un tanto• 1981 IBM/PC (Basic DOS) MSDOS (un tanto

rudimentario aún)

Otros SO: windows Xp, y sucesivosUnix, Linux (1991)… multitarea,…

Page 60: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

AR ANQUE Y PARADA DEL SISTEMA

1 Bajo el control del iniciador ROM Test del hardware Carga en memoria del cargador del S.O.

2 Bajo el control del cargador (boot)del S.O.

Carga en memoria componentes del S.O

3 Inicialización bajo el control de laparte residente del S.O.

Test del sistema de ficheros Creación de estructuras de datos internas Paso a modo de memoria virtual Completa la carga de S.O. residente Habilita las interrupciones Creación del proceso login

4 Entra en la fase normal de funcionamiento del S.O. a la espera de que seproduzca una interrupción

S.O. INTRODUCCIÓN 43

Page 61: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

ARRANQUE DEL SISTEMA

• Tiene dos fases: arranque hardware y arranque del S.O. • Arranque hardware

– Al enchufar la máquina se cargan unos valores predefinidos en los registros. En el contador de programa va la dirección de comienzo del iniciador de ROM, además la máquina se pone en modo privilegiado y con las interrupciones inhibidas. El iniciador ROM realiza lo siguiente: • Lleva a cabo una comprobación del sistema para ver si está en

buen estado y obtener algunos datos como la cantidad de memoria y los periféricos conectados

• Lee y almacena en memoria el programa cargador del S.O. o boot. • Se pasa el control al boot. Todo esto se hace en modo privilegiado

y real (sin MMU instalada)

S.O. INTRODUCCIÓN 44

Page 62: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

ARRANQUE DEL SISTEMA (2)

• Arranque del S.O. – Comprobación del sistema

• Completa las pruebas de hardware iniciadas por el iniciador de ROM y comprueba la coherencia del sistema de ficheros

• Se carga en memoria la parte del S.O. que reside permanentemente en memoria (sistema operativo residente)

• Se crean las estructuras de datos con las que trabaja el S.O.: tabla de interrupciones IDT (Interrupt Description Table), tabla de procesos, tablas de memoria y de E/S

• En su caso, creadas las tablas de páginas, se activa la MMU, pasando a modo virtual.

• Se habilitan las interrupciones • Se crea un proceso login por cada terminal así como un conjunto

de procesos auxiliares y demonios (un conjunto de procesos que no tienen comunicación con el usario).

S.O. INTRODUCCIÓN 45

ACTIVO MEMORY MANAGEMENT UNIT

Page 63: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

PARADA DEL SISTEMA

• El apagado del sistema implica la eliminación de todas las estructuras de datos del sistema, pero algunas conservan infomación relevante para el funcionamiento del sistema o información actualizada del sistema de ficheros que no ha sido guardada en el disco. Esta información debe ser guardada en el disco para su uso posterior, es por lo que el apagado de la máquina, a veces, se hace algo lenta. Algunas veces es conveniente hacer uso de opciones alternativas – Hibernar el sistema consiste en guardar en un fichero toda la

información crítica y leerla de nuevo cuando se activa la máquina

– Apagado en espera (standby) consiste en parar la máquna pero mantener la alimentación para no eliminar esta información relevante.

S.O. INTRODUCCIÓN 46

Page 64: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 47

TIPOS DE S.O.

• ESTRUCTURA MONOLÍTICA

Módulo a Módulo b

Módulo c Módulo d

Módulo e Módulo f

Page 65: SISTEMA INFORMÁTICO CONCEPTOS DE HARDWARE …so-grado/1_INTRODUCCION.pdf · introducciÓn sistema informÁtico conceptos de hardware interrupciones estructura del s.o. evolucion

S.O. INTRODUCCIÓN 48

TIPOS DE S.O.

• ESTRUCTURA JERÁRQUICA

Gestión de CPU

Gestión de E/S

Gestión de memoria

Gestión de la Información

Aplicación De usuario

Spool

Intérprete de comandos

(EN CAPAS)