19 arquitectura de una computadora y el so•la arquitectura de una computadora es un modelo y una...

48
Estructuras de datos (Prof. Edgardo A. Franco) 1 Tema 19: Arquitectura de una Computadora y el SO M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom

Upload: others

Post on 30-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Estructuras de datos (Prof. Edgardo A. Franco)

1

Tema 19: Arquitectura de una Computadora y el SO

M. en C. Edgardo Adrián Franco Martínez http://[email protected]

@edfrancom edgardoadrianfrancom

Page 2: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Contenido• Arquitectura de una computadora

• Elementos básicos de una arquitectura• Aspectos que definen y distinguen una arquitectura

• Arquitectura Harvard• Arquitectura Von Neumann• El sistema operativo• Componentes básicos de un sistema operativo

• Núcleo o Kernel• Administrador de memoria• Sistema de entrada/salida• Administrador de archivos• Interprete de comandos

• Concepto de Proceso• Planificador de procesos• Estados de un proceso• Administrador de memoria• Memoria de un proceso

2

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 3: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Arquitectura de una computadora

• Computadora: "Máquina capaz de procesar informacióna muy alta velocidad".

• Podemos determinar con esta definición que esta tieneuna arquitectura establecida y un modo defuncionamiento, debido al hecho de ser una maquina.

• La arquitectura de una computadora es un modelo y unadescripción funcional de los requerimientos y lasimplementaciones de diseño para varias partes de unacomputadora, con especial interés en la forma en que launidad central de proceso CPU trabaja internamente yaccede a las direcciones de memoria.

3

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 4: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Elementos básicos de una arquitectura

• Todas las computadoras constan principalmente detres partes, la CPU que procesa los datos, lamemoria que guarda los datos y los dispositivos deentrada y salida que permiten la comunicación conel exterior.

Procesador MemoriaDispositivos de entrada

y salida

Computadora digital

4

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 5: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Procesador

• Desde el punto de vista funcional, unmicroprocesador es un circuito integrado queincorpora en su interior una unidad central deproceso (CPU) y todo un conjunto de elementoslógicos que permiten enlazar otros dispositivos comomemorias y puertos de entrada y salida (I/O),formando un sistema completo para cumplir con unaaplicación específica dentro del mundo real. Paraque el sistema pueda realizar su labor debe ejecutarpaso a paso un programa que consiste en unasecuencia de números binarios o instrucciones,almacenándolas en uno o más elementos dememoria, generalmente externos al mismo

ProcesadorControlDatapath

5

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 6: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Memoria• Se refiere a los componentes de una computadora,

dispositivo y medios de almacenamiento que retienen datosinformáticos durante algún intervalo de tiempo. Lasmemorias de computadora proporcionan unas de lasprincipales funciones de la computación moderna, laretención o almacenamiento de información. Es uno de loscomponentes fundamentales de todas las computadorasmodernas.

• La memoria primaria está directamente conectada a la CPUde la computadora. Debe estar presente para que la CPUfuncione correctamente. (Registros del procesador, Memoriacache y memoria principal de acceso aleatorio RAM).

• La memoria secundaria requiere que la computadora use suscanales de entrada/salida para acceder a la información y seutiliza para almacenamiento a largo plazo de informaciónpersistente. (Discos Duros, Memorias Flash, etc.)

Memoria

6

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 7: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Dispositivos de entrada-salida

• E/S o I/O (input/output), es la colección deinterfaces que usan las distintas unidadesfuncionales (subsistemas) de un sistema deprocesamiento de información para comunicarseunas con otras.

Dispositivos

Entrada

Salida

7

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 8: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• De acuerdo a lo anterior, una arquitectura decomputadora será formada por los siguienteselementos básicos.

Procesador

Computadora

Unidad de Control

Datapath(ALU, Registros, …)

Memoria Dispositivos

Entrada

Salida

*Un datapath es una colección de unidades funcionales, por ejemplo ALUs omultiplicadores, o unidades que realizan un proceso u operaciones con los datos. Lamayoría de los procesadores consisten en un datapath y una a unidad de control, launidad de control se dedica a regular la interacción entre el datapath y la memoria.

8

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 9: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• Toda arquitectura computacional incluye tres aspectosque la definen y distinguen.

1. Conjunto de operaciones

2. Organización de la computadora

3. Hardware de la computadora

1. El conjunto de operaciones: es la interfaz visible entreel hardware y la programación.

• Las dos principales aproximaciones al conjunto deinstrucciones son:• CISC (Complex Instruction Set Computer)

• RISC (Reduced Instruction Set Computer)

9

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Aspectos que definen y distinguen una arquitectura

Page 10: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

2. La organización de la computadora: es la lógica defuncionamiento de la arquitectura, puedendistinguirse dos arquitecturas teóricas básicas.

1. Arquitectura Von Neumann

2. Arquitectura Harvard

10

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Procesador

Computadora

Unidad de Control

Datapath(ALU, Registros, …)

Memoria Dispositivos

Entrada

Salida

Page 11: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

3. El Hardware de la computadora: es lo quefísicamente lleva a cabo el trabajo deprocesamiento. De acuerdo a las capacidades ytipos se organizan de acuerdo a una arquitecturaestándar para la construcción de unacomputadora.

• i.e. este aspecto se refiere a las características delhardware (Velocidad, capacidad, …).

11

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 12: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• La organización de la computadora: es la lógica defuncionamiento de la arquitectura, puedendistinguirse dos arquitecturas teóricas básicas.

1. Arquitectura Von Neumann

2. Arquitectura Harvard

• Ambos modelos contemplan la existencia de un modulode procesamiento, una serie de dispositivos deentrada/salida y memoria.

12

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Arquitectura de una computadorasegún la organización de los elementos

Page 13: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Arquitectura Harvard

• Arquitectura Harvard hace referencia unaorganización de la computadora que utilizadispositivos memorias físicamente separadas paralas instrucciones y para los datos.

• El término proviene de la computadora Harvard Mark I,que almacenaba las instrucciones en cintas perforadas ylos datos en interruptores.

13

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 14: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Memoria

• Cada memoria dispone de su respectivo bus, lo quepermite, que la CPU pueda acceder de formaindependiente y simultánea a la memoria de datos y ala de instrucciones.

• Como los buses son independientes éstos puedentener distintos contenidos en la misma dirección .

• Además de que el ancho de palabra del bus de datosde cada memoria puede ser distinto.

Usos de esta arquitectura

• Esta arquitectura suele utilizarse enMicrocontroladores y DSPs (procesadores digitales deseñales), usados habitualmente en productos paraprocesamiento de audio y video así como sistemaselectrónicos con cómputo embebido.

14

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 15: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Organización de la computadora digital según la arquitectura Harvard

Procesador

15

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 16: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Arquitectura Von Neumann• El nacimiento u origen de la arquitectura Von Neumann

surge a raíz de una colaboración en el proyecto ENIACdel matemático de origen húngaro, John Von Neumann.

• Este trabajaba en 1945 en el laboratorio atómico de LosAlamos cuando se encontró con uno de losconstructores de la ENIAC. Compañero de AlbertEinstein, Goedel y Turing en Princeton, Von Neumann seinteresó por el problema de la necesidad de "recablear"la máquina para cada nueva tarea.

• En 1949 había encontrado y desarrollado la solución aeste problema, consistente en poner la informaciónsobre las operaciones a realizar en la misma memoriautilizada para los datos, escribiéndola de la mismaforma, es decir en código binario (Computadora EDVAC).

16

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 17: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• La arquitectura Von Neumann es un modelo deorganización en arquitecturas de computadoras queutilizan el mismo dispositivo de almacenamientotanto para las instrucciones como para los datos (adiferencia de la arquitectura Harvard).

17

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 18: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• Los ordenadores con esta arquitectura constan decinco partes: La unidad aritmético-lógica o ALU, launidad de control, la memoria, dispositivos deentrada/salida y el bus de datos que proporciona unmedio de transporte de los datos entre las distintaspartes.

v

18

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 19: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Memoria

• Se compone de un conjunto de celdas del mismotamaño (número de bits).

• Cada celda está identificada por un número binarioúnico, denominado dirección.

• Una vez seleccionada una celda mediante sucorrespondiente dirección, se pueden hacer dosoperaciones:

• Lectura: Permite conocer el valor almacenadoanteriormente.

• Escritura: Almacena un nuevo valor.19

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 20: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Unidad Central de Proceso (CPU)

• Es el conjunto formado por la Unidad de Control, losregistros y la Unidad Aritmética Lógica, es decir es elbloque encargado de ejecutar las instrucciones.

• Con la aparición de los circuitos integrados, y enconcreto a partir de los años 70, cuando la tecnologíaalcanzó el nivel de integración adecuado, se integró enuna sola pastilla la CPU. A este circuito integrado se ledenomina Microprocesador.

Una forma de determinar el rendimiento de uncomputador es por el número de instrucciones que ejecutapor segundo (MIPS).

20

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 21: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Unidad Aritmético-Lógica (ALU)

• Realiza las operaciones elementales, tanto aritméticascomo lógicas, que implementa el computador: suma,resta, AND, OR, NOT, etc.

• Los datos con los que opera se leen de la memoria, ypueden almacenarse temporalmente en los registrosque contiene la CPU.

Unidad de Control

• Ejecuta las instrucciones máquina almacenadas en lamemoria.

• Captura las instrucciones y las decodifica.

• Según el tipo de instrucción, genera las señales decontrol a todas las unidades internas de la CPU parapoder realizar su ejecución.

21

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 22: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Unidad de Entrada/Salida

• Realiza la transferencia de información con las unidadesexternas, denominadas periféricos: unidades dealmacenamiento secundario (disco duro, disquete, cinta,etc.), impresoras, terminales, monitores, etc.

• La memoria secundaria (MS), se considera como unperiférico. La MS es más lenta que la principal, pero tieneuna mayor capacidad de almacenamiento.

22

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 23: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Buses

• Además de las 4 unidades básicas, en un computadorexisten conjuntos de señales, que se denominan buses, ycuya función es transferir las instrucciones y los datos entrelas distintas unidades.

• Estos buses se representan en la figura mediante flechas detrazo continuo. Se suelen distinguir tres tipos de buses:

• Bus de direcciones

• Bus de datos

• Bus de control

23

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 24: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

24

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 25: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Funcionamiento general de este tipo dearquitectura• Un ordenador con esta arquitectura realiza o emula

los siguientes pasos secuencialmente:

1. Obtiene la siguiente instrucción desde la memoriaen la dirección indicada por el contador deprograma (PC) y la guarda en el registro deinstrucción (IR).

2. Aumenta el contador de programa en la longitud dela instrucción para apuntar a la siguiente instrucción.

25

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 26: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

3. Decodifica la instrucción mediante la unidad decontrol. Ésta se encarga de coordinar el resto decomponentes del ordenador para realizar unafunción determinada.

4. Se ejecuta la instrucción en este paso puedecambiar el valor del contador del programa,permitiendo así operaciones repetitivas. El contadorpuede cambiar también cuando se cumpla unacierta condición aritmética, haciendo que elordenador pueda 'tomar decisiones', que puedenalcanzar cualquier grado de complejidad, mediantela aritmética y lógica anteriores.

5. Vuelve al paso 1

26

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 27: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Bus de Direcciones

Bus de Datos

Bus de Control

Unidad central

de proceso

CPUUnidad

de control

UC

PC IR

AR ACDR

Unidad

de

Memoria

Unidad

de

E/S

Dispositivos

periféricos

Unidad

Aritmética y

lógica

ALU E

R/W

E

27

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

O

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Page 28: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

El sistema operativo

• Un Sistema operativo (SO) es un software queactúa de interfaz entre los dispositivos de hardwarede una computadora y los programas usados por elusuario.

• Es responsable de gestionar, coordinar lasactividades y llevar a cabo el intercambio de losrecursos así como actuar como plataforma paraque el resto de aplicaciones del usuario se ejecutanen un equipo de cómputo.

28

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 29: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Objetivos del Sistema Operativo:

• Servir como interfaz entre el equipo físico (hardware)de una computadora y el usuario y resto del software,con el fin de presentar una "cara" más sencilla yamistosa al mismo (fácil interoperabilidad).

• Optimar y gestionar los recursos (tanto de softwarecomo de hardware) con que cuenta una computadoray hacer utilizable ésta última.

Hardware

Sistema Operativo

Software del Sistema

Software de aplicaciones

Usuarios

29

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 30: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Componentes básicos de un sistemaoperativo

• Núcleo o Kernel

• Sistema de entrada/salida

• Administrador de archivos

• Intérprete de comandos

30

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 31: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Núcleo o Kernel

• Es el módulo de más bajo nivel de un sistema operativo.Entre las tareas que desempeña se incluyen el manejo delas interrupciones y los procesos "process control", laasignación de trabajo al procesador "scheduler", laasignación de la memoria a los procesos y su gestión"memory management" y el proporcionar una vía decomunicación entre los distintos programas "IPC".• En general, el núcleo se encarga de controlar el resto de losmódulos y sincronizar su ejecución.

31

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 32: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Sistema de entrada/salida

• Este componente presenta al usuario la E/S de datos comouna cuestión independiente del dispositivo; es decir, paralos usuarios, todos los dispositivos tienen las mismascaracterísticas y son tratados de la misma forma, siendo elsistema operativo el encargado de atender lasparticularidades de cada uno de ellos (como su velocidadde operación). Una técnica muy común, especialmente ensalida, es el uso de "spoolers". Los datos de salida sealmacenan de forma temporal en una cola situada en undispositivo de almacenamiento masivo (el spool), hastaque el dispositivo periférico requerido se encuentre libre;de este modo se evita que un programa quede retenidoporque el periférico no esté disponible. El sistemaoperativo dispone de llamadas para añadir y eliminararchivos del spool.

32

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 33: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Administrador de archivos• Se encarga de mantener la estructura de los datos y los programas del

sistema y de los diferentes usuarios (que se mantienen en archivos) yde asegurar el uso eficiente de los medios de almacenamientomasivo.

• El administrador de archivos también supervisa la creación,actualización y eliminación de los archivos, manteniendo un directoriocon todos los archivos que existen en el sistema en cada momento ycoopera con el módulo administrador de memoria durante lastransferencias de datos desde y hacia la memoria principal. Si sedispone de un sistema de memoria virtual, existen transferenciasentre la memoria principal y los medios de almacenamiento masivopara mantener la estructura de la misma.

• Los archivos almacenados en los dispositivos de almacenamientomasivo tienen distintos propósitos. Algunos contienen informaciónque puede ser compartida. Otros son de carácter privado, e inclusosecreto. Por tanto, cada archivo está dotado de un conjunto deprivilegios de acceso, que indican la extensión con la que se puedecompartir la información contenida en el archivo.

33

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 34: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Interprete de comandos

• Muchos comandos son proporcionados por elsistema operativo mediante estatutos de controlque tienen las siguientes funciones

• Creación de procesos y administración

• Administración de E/S

• Administración de almacenamiento secundario

• Administración de memoria principal

• Acceso al sistema de archivos

• Protección

• Acceso a la red

34

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 35: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Concepto de Proceso• Un proceso es un programa en ejecución, los procesos

son gestionados por el sistema operativo y estánformados por:

• Las instrucciones de un programa destinadas a ser ejecutadaspor el microprocesador.

• Su estado de ejecución en un momento dado, esto es, losvalores de los registros de la CPU para dicho programa.

• Su memoria de trabajo, es decir, la memoria que ha reservado ysus contenidos.

• Otra información que permite al sistema operativo suplanificación.

35

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 36: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

El planificado de procesos

• En el núcleo o kernel de todo sistema operativoexiste un submódulo denominado scheduler(planificador), el cual se encarga de asignar tiempodel procesador a los programas, de acuerdo a unacierta política de planificación que varía de unsistema operativo a otro.

Proceso ID=02

Proceso ID=03

Proceso ID=n … Procesador (CPU)

scheduler

Proceso ID=01

processcontrol

memorymanagement

36

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 37: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• Normalmente se utiliza una jerarquía de prioridades quedeterminan cómo se asignará el tiempo del CPU a cada programa.

• Una política de planificación muy común en los sistemas demultiprogramación y multiproceso son las técnicas de "timeslicing" (fracción de tiempo). Se asigna a cada programa un cortointervalo de tiempo del procesador. Si el programa no haterminado durante este intervalo de tiempo, vuelve a la cola deprogramas.

37

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 38: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Estados de un proceso• Los procesos son creados y destruidos por el sistema

operativo por el modulo "process control" dentro del kernel,de la misma forma el kernel también este se debe hacercargo de la comunicación entre procesos "IPC (Inter-processCommunication)", a petición de otros procesos y de lamemoria principal que este puede usar "memorymanagement".

schedulerprocesscontrol

memorymanagement

Proceso

38

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 39: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• En todo sistema operativo un proceso puede almenos estar en tres estados "en ejecución", "listo" y"bloqueado".

en ejecución

listo bloqueado

despachar

time-outbloqueo

despertar

39

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 40: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• En ejecución: Sólo uno de los procesos preparadosse está ejecutando en cada momento(monoprocesador). Si se tienen más recursos deprocesamiento (multiprocesador) la cantidad deprocesos posibles de ejecutarse simultáneamente seencuentran en ejecución.

• Listo: Proceso que está listo para ejecutarse.Simplemente está esperando a que el sistemaoperativo le asigne un tiempo de CPU.

• Bloqueado: Proceso que por algún motivo paso aeste estado (Se mando a dormir, se espera alguna respuestade e/s, se detecto un error en su ejecución, se espera accedera un recurso.)

40

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 41: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

41

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 42: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Administrador de memoria• Este módulo dentro del kernel (memory management)

se encarga de asignar ciertas porciones de la memoriaprincipal (RAM) a los diferentes programas o partes delos programas que la necesiten, mientras el resto de losdatos y los programas se mantienen en los dispositivosde almacenamiento secundario. Cuando se asigna unaparte de la memoria principal se hace de una formaestructurada, siguiendo un determinado orden. La formamás común de administración de la memoria suponecrear una memoria virtual; con este sistema, la memoriade la computadora aparece, para cualquier usuario delsistema, mucho mayor de lo que en realidad es. 42

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 43: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

43

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 44: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Memoria de un proceso• Durante la ejecución del proceso, todos los datos

manipulados (incluido el propio código del programacompilado) se alojan en la memoria principal, ya que estaofrece menor latencia (menor tiempo de comunicación conel CPU) respecto de los medios secundarios.

CPUMemoria

Proceso n

Sistema Operativo

44

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 45: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• Al ejecutar un nuevo programa el administrador de memoriadel sistema operativo, asigna un bloque contiguo de memoriaal proceso que se inicia (el tamaño es variable).

45

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 46: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• Durante la ejecución del proceso, todos los datosmanipulados (incluido el propio código del programacompilado) se alojan en la memoria principal, ya que estaofrece menor latencia (menor tiempo de comunicación conel CPU) respecto de los medios secundarios.

46

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 47: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

• Empezando por la direcciones más bajas, el segmento decódigo es la porción de la memoria donde se carga elprograma que se ejecuta.

• El segmento de datos alberga las declaraciones globales(e.g. variables del programa principal y constantes globales).

• El montículo es la región de memoria que se toma y selibera de manera dinámica durante la ejecución delprograma.

• La pila es donde se "apilan" porciones de memoriapertenecientes a funciones y/o procedimientos cuando seles llama. 47

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez

Page 48: 19 Arquitectura de una Computadora y el SO•La arquitectura de una computadora es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para

Código

Datos

Pila

Memoria de proceso activo

Pila(Stack)

Montículo (Heap)

48

19

Arq

uit

ectu

ra d

e u

na

Co

mp

uta

do

ra y

el S

OA

lgo

ritm

ia y

pro

gram

ació

n e

stru

ctu

rad

aP

rof.

Edga

rdo

Ad

rián

Fra

nco

Mar

tín

ez