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

19 Arquitectura de una Computadora y el SO · 2020. 7. 5. · Arquitectura de una computadora •Computadora: "Máquina capaz de procesar información a muy alta velocidad". •Podemos

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

  • 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

    http://www.eafranco.com/mailto:[email protected]

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • • 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

  • • 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

  • 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

  • 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

  • • 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

  • 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

  • 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

  • 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

  • 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

  • • 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

  • • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • • 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

  • 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

  • • 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

  • • 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

  • 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

  • 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

  • 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

  • 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

  • • 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

  • • 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

  • • 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

  • 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