81
Sistemas Operativos Introducción UMH ARCO 2015

introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Sistemas OperativosIntroducciónUMHARCO 2015

Page 2: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

¿Qué es un computador?

[Hamacher96]: “máquina de cálculo electrónica de alta velocidad que acepta información digitalizada, la procesa atendiendo a una lista de

instrucciones que almacena internamente, y produce la correspondiente información de salida”.

[RAE]: “Máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos de tratamiento de la información, capaz de resolver problemas matemáticos y lógicos mediante la

utilización automática de programas informáticos”.

Page 3: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Esquema de funcionamiento de la computadora

Datos Resultados

Instruccionesde máquina

Computadora

Page 4: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Arquitectura del computador

¿Que es?

(ISA) Juego de Instrucciones:

Diseño del conjunto de instrucciones.Interface del computador.Relación con los compiladores.

Organización de la máquina:

Unidades funcionales y su interconexión.Transparente al software.Componentes Hardware

Arquitectura del Computador

Page 5: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Introducción

Funciones de un computador:¤ Procesamiento de datos.¤ Almacenamiento de datos.¤ Transferencias de datos entre el computador y el exterior.¤ Control de las anteriores operaciones.

La excesiva generalidad de estas funciones se debe a que la especialización funcional de un computador ocurre cuando se programa y no cuando se diseña.

¨ Sus principales componentes estructurales son:¤ Procesador: controla el funcionamiento del computador y procesa los datos.¤ Subsistema de memoria: almacena datos.¤ Subsistema de entrada/salida: transfiere datos entre el computador y el entorno

externo.¤ Ruta de datos: interconexión entre las diferentes partes.

Page 6: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estructura del computador

¨ Monoprocesador¨ Multiprocesador¨ Multicomputador

UNIDAD DE CONTROL

UN

IDA

D d

e EN

TRA

DA

/SA

LID

A

PERIFÉRICOSRegistros

Contador de programaRegistro de instrucción

Puntero de pila

UNIDADARITMÉTICA

MEMORIAPRINCIPAL

ROM

Estado

Datos

Código

Page 7: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

¿Qué es un SO?

Page 8: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Necesidad SO

Necesidad:

¤ El manejo del hardware es una tarea muy complicada.¤ Es necesario dar al usuario del ordenador un software

que realice y coordine las operaciones de los elementos del sistema eficientemente.

¤ Además debe presentar una interfaz de fácil manejo y entendimiento.

n Surge el Sistema Operativo.

Page 9: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Cada circuito necesita un lenguaje para su programación.

VIDEO Calculadora Programable

Page 10: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Que pasa con los computadores?

Page 11: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Modelo de programación del computador

• Modelo de programación• Juego de instrucciones (usuario y núcleo)

0

2 -132

2 -116

Mapa dememoria Mapa de

E/SJuego de Instrucciones

0

Registros de datos

Registros de dirección

Puntero de pila de usuarioPuntero de pila de sistemaContador de programa

Registro de estadoModo Traza

Octeto deSistema

Octeto deUsuarioNegativo

Sistema/Usuario

de

Desbordamiento

Máscara

Cero

Extensión

Interrupciones

Acarreo

1514

7

3

13

5

9

11

1

6

10

12

2

4

8

0

T

N

S

I1

V

I2

Z

X

I0

C

08 716 1531D0D1D2D3D4D5D6D7

A0A1A2A3A4A5A6A7A7'

Page 12: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Modelo de programación de usuario y de núcleo

Niveles de ejecución

0

2 -116

Mapa deE/S Juego de

Instrucciones

2 -132

Mapa dememoria

0

Registro de estado

Registro de estado

Octe

to d

eSi

stem

aO

cteto

de

Usu

ario

1514

7

3

13

5

9

11

1

6

10

12

2

4

8

0

T

N

S

I1

V

I2

Z

X

I0

C

D0D1D2D3D4D5D6D7

A0A1A2A3A4A5A6A7A7'

Juego de Instrucciones

2 -131

Mapa dememoria

Modelo de programación de usuario Modelo de programación de núcleo

0

Octe

to d

eU

suar

io

7

3

5

1

6

2

4

0

N

VZ

X

C

D0D1D2D3D4D5D6D7

A0A1A2A3A4A5A6A7

Page 13: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Componentes de un computador

CPU Memoria

Controlador

Bus

HD

Cada unidad de un computador (CPU, memoria, disco duro, monitor, ratón, etc…) necesita un programa de control.

Todas estas partes deben cooperar transparentemente y eficazmente y de forma conveniente a los usuarios

COMO?SISTEMA OPERATIVO

PROGRAMAS

Page 14: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Operating Systems: A Modern Perspective, Chapter 1

El SO como guía

The OS coordinates the sharing and use of all the components in the computer

Page 15: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución de los SO

Page 16: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución de los SO. Evolución 1

Procesamiento en serie (1940-50):nEl usuario escribía los programas en código máquina ⇒ controlaba el HW directamente

nEl operador era el encargado de insertar los trabajos de cada usuario de forma manual

nTableros enchufables o tarjetas perforadasn Problemas: planificación y tiempo de preparación

Page 17: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución de los SO. Evolución 1

¤ No había sistema operativo.¤ Las operación con estas máquinas era desde una consola

consistente en unos indicadores luminosos, unos conmutadores, un dispositivo de entrada y una impresora.

¤ Planificación por parte del programador.¤ La preparación incluía cargar un compilador, un programa

fuente, salvar el programa compilado y, por último, cargar y montar.

Page 18: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento
Page 19: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 2. Por lotes (batch)

Procesos por lotes (batch, 50’s):¤ Usuario ≠ Operador¤ Cintas magnéticas o tarjetas perforadas¤ Programas escritos en ensamblador o un lenguaje de

alto nivel (FORTRAN) ¤ Se basa en el uso de un “monitor” no residente

totalmente, que gestionaba el problema de la planificación

¤ El tiempo de inicio se reducía para trabajos similares

Page 20: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 2. Por lotes (batch)

Ejemplo de trabajo por lotes

Page 21: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 2. Por lotes (batch)

Monitores:¤Software que controla los programas que

están en funcionamiento. ¤Los trabajos se agrupaban por lotes.¤El programa volvía al monitor al terminar su

procesamiento.¤El monitor residente está en la memoria

principal y disponible para su ejecución.

Page 22: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 2. Por lotes (batch)

Mapa de memoria:

Monitor

Area de programa

l Protección de memoria:No permite modificar la zona de memoria en la que está el monitor.

Page 23: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 2. Por lotes (batch)

¨ El monitor se encarga de:n Leer e interpretar las tarjetas perforadasn Cargar programas de sistema (compiladores) y de usuario en la

memorian Comunicarse con los dispositivos E/S (drivers)

¤ Problema: bajo rendimiento, ya que no se pueden solapar las operaciones E/S con CPU. Había largas esperas entre lotes de trabajo

n La 2ª Generación de ordenadores introduce hardware separado para gestionar la E/S y por tanto aparece la concurrencia , como se gestiona la concurrencia?, aparece la multiprogramacion.

Page 24: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 3. Multiprogramados

l Procesos por lotes con multiprogramación:l Idea básica: tener varios procesos en marcha para que el S.O.

cambie a otro proceso cuando el que está en ejecución espere una op. E/S.

l Todos los procesos están en memoria principal, en diferentes estado de ejecución.

l Grado o factor de multiprogramaciónl Se utiliza para:

§ ¡ Incremento de la utilización de la CPU y recursos !§ Soportar múltiples usuarios activos (servidor de red) § Permitir programas interactivos

Page 25: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 3. Multiprogramados

¨ Objetivo: aprovechar los tiempos de espera de un trabajo en la CPU para ejecutar instrucciones de otro trabajo

¨ Método: mantener los trabajos simultáneamente en memoria y elegir el trabajo a conmutar

¨ Consecuencias:n Gestión de memorian Planificación de dispositivosn Gestión de interbloqueosn Control de la concurrencian Protección

Page 26: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución – 3. Multiprogramados

¨ Se requiere:¤ Gestión de recursos

(memoria,dispositivos E/S) ¤ Planificación de procesos

¨ Mapa de memoria:

Sistema Operativo

Proceso 1

Proceso 2

Proceso 3

Page 27: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Multiprogramación

¨ La E/S es muy lenta en comparación con la CPU.

¨ Cuando un proceso espera por la E/S (se bloquea), ejecutamos en la CPU instrucciones de otro proceso.

¨ Los procesos entrelazan su ejecución: concurrencia.

¨ La CPU y la E/S trabajan en paralelo, se terminan más trabajos en menos tiempo

Page 28: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

P1

P2

P3

P4tiempo

Evolución – 3. Multiprogramados

Multiprogramación:

Proceso utilizando la CPU4321

Page 29: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución de los SO

l Primera generación (1943-1955):l No existe S.O.l El programador realiza todo el trabajo

l Segunda generación (1956-1963):l Programa Monitor,

§ Identifica e interpreta las tarjetas de control§ Realiza el control de trabajos

l Procesamiento de trabajos en lotes.

Page 30: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Evolución de los SO

l Tercera generación (1963-1979):l Perfeccionamiento del sistema de trabajos por lotesl Permiten la multiprogramaciónl Memoria virtual.

l Cuarta generación (1980- .. ):l Aumento de la seguridad, velocidad de proceso y

prestaciones.l S.O. de red.l S.O. distribuidos.

Page 31: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estructura de los SO

Page 32: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Introducción

Objetivo de la estructuración:

Buscar una organización interna que facilite la comprensión, incremente la portabilidad, la ejecucion de las tareas, su mejora y favorezca el mantenimiento

Page 33: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Enfoques en la estructura

A grandes rasgos cabe considerar tres enfoques de diseño:

I. Enfoque monitor monolíticoII. Enfoque micronúcleoIII. Enfoque por capas

Page 34: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

1- SO Monoliticos

¨ Toda la funcionalidad del SO se incluye en el núcleo o procedimiento principal.

¨ El SO es un gran programa compuesto por procedimientos. Cualquier procedimiento puede llamar a otro à desde cualquier parte del so se puede llamar a otra directamente.

¨ El so trabaja en modo supervisor (acceso al hw no restringido) y los programas de aplicación en modo usuario.

Page 35: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

1- SO Monoliticos

Page 36: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

1- SO monolítico

Proceso de

usuario

Proceso de

usuario

Proceso de

usuario

Intérprete de la SVC

Petición de E/S

Proceso de la

interrupción

Desbloquear

Dispositivos

Nucleo

Procesos

de usuario SVC

Despertar

Comienzo de la E/S Interrupción

Page 37: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

1 - SO Monoliticos

¨ Ventaja¤ Eficiencia (se producen pocos cambios de contexto de

procesos) ¨ Desventajas:

¤ Acceso a todas las estructuras de datos del so¤ El fallo de un proceso en modo núcleo puede bloquear

el so completo¤ Depuración compleja de los problemas¤ Extensión del SO compleja

n Ejemplos: MS-DOS y Linux

Page 38: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

2- SO micronucleo

El so consta de:¤ Un cjto de subsistemas, cada uno de los cuales

implementa un tipo de servicio ¤ Un micro núcleo que proporciona la mínima

funcionalidad necesaria:n Cada subsistema (servidor) ejecuta un bucle en el

que testea si alguien (cliente) ha solicitado el servicio

n La petición de servicios, la finalización y el envio de resultados se realiza mediante mensajes a través del micro núcleo.

Page 39: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

2- SO Micronucleo

Desventajas:

¤ Poco eficiencia debido a la sobrecarga de las comunicaciones

Ventajas

¤ Fácil implementación¤ Si falla un servidor no se bloquea todo el so

Page 40: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

2- Micronúcleo

Proceso de usuario

Proceso de usuario

Proceso de usuario

Proceso de usuario

Proceso gestionador de

dispositivo

Micronúcleo

Proceso de la interrupción

Determinación del proceso que solicitó la

E/S

DispositivoLectura de disco

Devolver los datos

Inicio de la E/S

InterrupciónDespertar

Page 41: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

3- Diseño por capas

¨ El diseño por capas lleva asociada una jerarquización que permite disminuir la complejidad observable de un sistema

¨ Concepto de capa: conjunto de funciones claramente definidas hacia un objetivo común

Entidad N

Capa N

Capa N-1 Entidad N-1 Entidad N-1

Servicios

Page 42: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estructura de UNIXBibliotecas

Buffer cache

Control hardware

Subsistema

de archivos

Subsistema

de E/S

Subsistema de

control de procesos

Carácter

Nivel kernel

Nivel hardware

Nivel kernel

Nivel de usuario

HARDWARE

Drivers

Interfaz de llamadas al sistema

Programas de usuario

Trap

Bloque

Manejo de memoria

IPC

Planificador

Page 43: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estructura de Linux

Validación de argumentos de las llamadas al sistema

Conmutador de sistemas de archivo

Manejadordel buffer cache

Manejador dememoria

Manejador deprocesos

Manejador de interrupciones

Manejadores de dispositivo

Estructuras dedatos compartidas

entre el alto y el bajo nivel

Interfaz de llamadas de alto nivel

HARDWARE

Bajo niveldel núcleoManejador de traps de llamadas al sistema

Manejador de excepciones

Manejador de procesos debajo nivel

Cambiode contexto

Tabla dedispatch

Callout debajo nivel

Manejador determinales

Pila de red

Interfaz desockets ystreams

Manejador dearchivos

Estructuras delnúcleo

(alto nivel)

Manejadorde callouts

Alto niveldel núcleo

Modo usuario

Page 44: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

DLLsDLLs

Estructura de W2K

API del núcleo

Controlador de servicios

WinLogon

Manejador desesiones

Replicador

Alertador

RPC

Registradorde eventos

Aplicacionesde usuario

DLLs

POSIX

OS2

Win32

Manejador deE/S

Sistemade archivos

NTDLL.DLL

Manejadorde cache

PnPControl de

alimentación

Seguridad Memoriavirtual

Procesose hilos

Win32GDI

Manejador de objetos

Manejadores de dispositivo Kernel

HAL

HARDWARE

Hilos del sistema

NtosKrnl.exe

Procesos de sistema Servicios Aplicaciones Subsistemas

Page 45: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Ventajas del empleo de capas

¤ Las estructuras internas y algoritmos de una capa no son visibles a las demás

¤ El sistema puede evolucionar fácilmente¤ Pueden existir realizaciones alternativas¤ Algunas capas pueden ser transparentes si

sus servicios no son necesarios¤ Cada capa se codifica y prueba de modo

independiente. No se bloquea todo el SO

Page 46: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Introducción a los SO

Page 47: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Introducción

Elementos de un sistema informático ¤ Hardware ¤ Software

n software del sistema (Sistema Operativo) n aplicaciones

¤ Personas (usuarios del sistema) n usuarios n programadores

Page 48: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

El Hardware

El hardware contiene elementos:

¤ Procesamiento, CPU¤ Memoria:RAM, disco, cintas,..¤ Dispositivos E/S¤ Dispositivos Comunicaciones

Page 49: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Operating Systems: A Modern Perspective, Chapter 1

Perspectives of the Computer

ApplicationSoftware

SystemSoftware

Hardware

(a) UsuarioFinal

(b) Programador de aplicaciones

© Programador de SO

ApplicationSoftware

ApplicationSoftware

SystemSoftware

SystemSoftware

Hardware Hardware

cutsave

printsend

malloc()fork()

open()read-disk

track-mousestart-printer

Page 50: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Niveles del Sistema

Aplicaciones de UsuarioInterface con el SOSistema Operativo

Interface con el Hardware Hardware

Esta conceptualización es importante

Page 51: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Abstracciones

El SO simplifica el uso del hardware construyendo una serie de abstracciones:¤ Proceso: es una CPU dedicada a un programa¤ Memoria Virtual: simula una RAM infinita¤ Archivos: memoria permanente de datos¤ Shell: interfaz de usuario programado

El SO ha evolucionado en conjunto con la tecnología

Page 52: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

¿Que es un SO?

Es un conjunto de programas cuyas misiones son:¤ 1. Gestionar los recursos del sistema informático

(procesadores, memoria, E/S, etc), entre los diferentes procesos que compiten por ellos.

¤ 2. Ofrecer al usuario una especie de "máquina virtual" o "máquina extendida", más fácil de usar que el hardware subyacente

Page 53: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Definiciones de Sistema Operativo

(Stallings) Un SO es un programa que controla la ejecución de los programas de aplicación y que actúa como interfaz entre el usuario del computador y el hardware del mismo.

(Silberschatz, 1): Un SO es todo aquello que te entrega el vendedor cuando le pides un Sistema Operativo.

(Silberschatz, 2): el SO es el único programa que se está ejecutando en todo momento en el computador (denominado núcleo o kernel), siendo el resto programas de aplicación.

(Milenkovic): un SO puede ser contemplado como una colección organizada de extensiones software del hardware, consistente en rutinas de control que hacen funcionar un computador y proporcionan un entorno para la ejecución de los programas.

Page 54: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Definiciones importantes

Sistema operativo:“Conjunto de programas que controla la ejecución de los

programas de aplicación y actúa como interfaz entre el usuarioy el hardware (controla y asigna recursos)”

Programas de usuario:Utilizan los servicios proporcionados por el S.O. para

tener acceso a los recursos (ficheros, dispositivos E/S, procesador, memoria, etc.)

Page 55: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Objetivo básico de un SO

“Crear una máquina virtual con la que sea sencillo trabajar”

HW

SO

Funciones

Page 56: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Otros objetivos

¨ Ejecutar las aplicaciones de los usuarios ¨ Facilitar la interacción con el computador ¨ Administrar eficientemente los recursos de la

máquina¨ Controlar el funcionamiento del hardware y

ofrecer un modo sencillo de acceso al ordenador.

Page 57: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Funciones básicas de los SO

Abstracciones¤ Proceso: es una CPU dedicada a un programa¤ Memoria Virtual: simula una RAM infinita¤ Archivos: memoria permanente de datos¤ Shell: interfaz de usuario programado

¿Cómo implementa el SO estas abstracciones?¤ Mediante una serie de módulos repartidos en niveles

Page 58: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Parte Principal

Módulo principal: Núcleo o Kernell El más cercano al hardwarel Se carga en memoria al iniciar la

computadora y se mantiene siempre.l Coordina los demás módulosl Funciones:

l Manejo de interrupcionesl Asignación de trabajos al procesadorl Intercomunicador entre programas.

Page 59: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Nucleo o Kernel

Básicamente ,el sistema operativo se compone de un núcleo o Kernel y un intérprete de comandos denominado Shell.

u su a r io

p r o g r am as

sh e ll

k e rn e l

H a r d w a r e

Page 60: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Núcleo

¨ Se suele llamar núcleo (kernel) al software del sistema operativo que reside permanentemente en memoria y que atiende las llamadas al sistema.

¨ El núcleo ofrece una serie de servicios a los procesos de usuario para que estos puedan llevar a cabo su misión.

¨ Inicia el SO

Hardware

NUCLEO

NUCLEO

Proceso

Proceso

Proceso

Proceso

Page 61: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estructura de UNIXBibliotecas

Buffer cache

Control hardware

Subsistema

de archivos

Subsistema

de E/S

Subsistema de

control de procesos

Carácter

Nivel kernel

Nivel hardware

Nivel kernel

Nivel de usuario

HARDWARE

Drivers

Interfaz de llamadas al sistema

Programas de usuario

Trap

Bloque

Manejo de memoria

IPC

Planificador

Page 62: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estructura de Linux

Validación de argumentos de las llamadas al sistema

Conmutador de sistemas de archivo

Manejadordel buffer cache

Manejador dememoria

Manejador deprocesos

Manejador de interrupciones

Manejadores de dispositivo

Estructuras dedatos compartidas

entre el alto y el bajo nivel

Interfaz de llamadas de alto nivel

HARDWARE

Bajo niveldel núcleoManejador de traps de llamadas al sistema

Manejador de excepciones

Manejador de procesos debajo nivel

Cambiode contexto

Tabla dedispatch

Callout debajo nivel

Manejador determinales

Pila de red

Interfaz desockets ystreams

Manejador dearchivos

Estructuras delnúcleo

(alto nivel)

Manejadorde callouts

Alto niveldel núcleo

Modo usuario

Page 63: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

DLLsDLLs

Estructura de W2K

API del núcleo

Controlador de servicios

WinLogon

Manejador desesiones

Replicador

Alertador

RPC

Registradorde eventos

Aplicacionesde usuario

DLLs

POSIX

OS2

Win32

Manejador deE/S

Sistemade archivos

NTDLL.DLL

Manejadorde cache

PnPControl de

alimentación

Seguridad Memoriavirtual

Procesose hilos

Win32GDI

Manejador de objetos

Manejadores de dispositivo Kernel

HAL

HARDWARE

Hilos del sistema

NtosKrnl.exe

Procesos de sistema Servicios Aplicaciones Subsistemas

Page 64: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Niveles clásicos de un SO

NIVEL 1

Nivel inferior de gestión del procesadorObjetivo:

¤ Compartir la CPU entre procesos (multiprogramacion)

Funciones:¤ Sincronización entre procesos¤ Conmutación de la CPU¤ Gestión de interrupciones

Page 65: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estados de un proceso

A medida que un proceso se ejecuta, cambia de estado:

n nuevo: recién creado por el S.O. n en ejecución: está en la CPU ejecutando instrucciones nbloqueado: esperando por algún evento (ej. una

operación de E/S) npreparado: esperando a que le asignen un

procesador (CPU) n terminado: no ejecutará más instrucciones

Page 66: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Estados de un proceso

Nuevo

Preparado

Bloqueado

Ejecución

Terminado

Planificador

Interrupción

Fin operacióno ocurre evento

Admitido

Operación E/So espera evento

Llamada sistemao excepción

Page 67: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Niveles clásicos de un SO

NIVEL 2

Nivel superior de gestión de procesosObjetivo:

¤ Gestión de procesos

Funciones:¤ Creación y destrucción de procesos¤ Intercambio de mensajes entre procesos¤ Detención y arranque de procesos

Page 68: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Creacion de Procesos

Creación de un proceso:¤ Desde la línea de órdenes (shell) ¤ Creados por otros procesos

⇒ estructura árbolA

B C

D E F

Page 69: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Niveles clásicos de un SO

NIVEL 3

Gestión de memoriaObjetivo:

¤ Repartir la memoria entre procesos

Funciones:¤ Asignación y liberación de memoria¤ Control violación de acceso

Page 70: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Gestión de memoria principal

v Memoria principal es escasa y caraResponsabilidades del SO:

¤ conocer qué zonas de memoria están libres y cuáles están ocupadas

¤ decidir qué procesos hay que cargar cuando haya memoria libre

¤ reservar y liberar zonas de memoria según se solicite ¤ memoria virtual: utilizar el almacenamiento secundario como

una extensión de la memoria principal.¤ Proteger la zona de memoria asignada a los procesos

Page 71: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Niveles clásicos de un SO

NIVEL 4

Nivel de gestión de dispositivos¨ Objetivo:

¤ Realizar la gestión de las E/S en función de los dispositivos existentes

¨ Funciones:¤ Creación de procesos de E/S¤ Asignación y liberación de dispositivos de E/S¤ Planificación de la E/S

Page 72: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Gestión Dispositivos

¨ La E/S es un conjunto de dispositivos muy variados.

¨ Objetivos del S.O con respecto a las E/S: l proporcionar una interfaz uniforme para el acceso a los

dispositivos (independencia del dispositivo) l proporcionar manejadores (drivers) para los dispositivos

concretos l tratar automáticamente los errores más típicos l para los dispositivos de almacenamiento, utilizar cachés

l para los discos, planificar de forma óptima las peticiones

Page 73: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

El problema de la E/S

¨ La E/S era muy lenta en comparación con la CPU.

¨ Esto provocaba que la CPU quedara ociosa mucho tiempo esperando por la terminación de operaciones de E/S.

¨ Algunas técnicas para tratar el problema: ¤ Uso de búferes y spoolers¤ DMA¤ Multiproceso

Page 74: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Controladores de E/S

¨ Los dispositivos se conectan al bus de datos a través de controladores de E/S.

¨ La CPU se comunica con los controladores a través de instrucciones especiales o de direcciones de memoria concretas.

¨ Cada controlador tiene un búfer local (en el controlador). La CPU envía y recoge datos del búfer.

¨ En general, el controlador notifica a la CPU la finalización de una operación o la llegada de nuevos datos mediante una interrupción.

Page 75: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Niveles clásicos de un SO

NIVEL 5

Nivel de gestión de la informaciónObjetivo:

¤ Gestionar el espacio de nombres lógicos y la protección de la información.

Funciones:¤ Creación y destrucción de ficheros y directorios¤ Apertura y cierre de ficheros¤ Lectura y escritura de ficheros¤ Protección de acceso

Page 76: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Sistema de archivos

¿Cómo se almacena y cómo presenta la información el SO?¨Un archivo es un conjunto de datos identificado por un nombre. Los archivos se almacenan en dispositivos de E/S. Un archivo es un concepto de alto nivel que no existe en el hardware.

¤ Los archivos contienen datos.¤ Una carpeta sirve para almacenar archivos y otras carpetas¤ Construyéndose así un sistema de archivos en forma de árbol.¤ La información de la estructura de carpetas se suele almacenar en

una zona predeterminada.

Page 77: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Sistema de archivos

Funciones del S.O.: ¤ manipulación de archivos: crear, borrar, leer, escribir... ¤ manipulación de directorios ¤ ubicar los archivos y directorios en los dispositivos de

almacenamiento secundario ¤ automatizar ciertos servicios: copia de seguridad,

versiones, etc.

Page 78: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Shell

Interfaz de usuario (shell)

HARDWARE

Kernel

Otros modulos

SHELL USUARIO

Interfaz Aplicación

SHELL

Page 79: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Shell

Interfaz de usuario:

El modulo que controla la manera de comunicarse el SO con el usuario se denomina interprete de ordenes, entorno o shell.

✔ Funciones:

Traducir las ordenes del usuario en ordenes del SO.

Page 80: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

RESUMEN

• Todo el SO se ejecuta en modosupervisor

● Menos robusto

● El SO es ininterrumpible

● Mayor rendimiento

● Empleado en sistemas pequeños

● Difícil de modificar en tiempo de ejecución

● Menos adaptable

● Empleado en sistemas grandes

● Fácil de modificar en tiempo de ejecución

● Menor rendimiento debido a la sobrecarga de comunicaciones

● El SO es interrumpible● Más robusto

● Sólo el µnúcleo se ejecuta en modo supervisor

Page 81: introso arco 2015 - Arquitectura de Computadores (2269)umh2269.edu.umh.es/wp-content/uploads/sites/1051/...Introducción Funciones de un computador: ¤ Procesamiento de datos. ¤ Almacenamiento

Practicas

¨ Empiezan en Octubren 1 grupo. n Asistencia obligatorian guiadas y entrega de memoria

¨ Linux embebidon Interprete de ordenesn Llamadas al sisteman Programación en Lenguaje C (make,gcc)

¤Trabajos