+ All Categories
Home > Documents > Arquitectura de Computadores -...

Arquitectura de Computadores -...

Date post: 10-May-2018
Category:
Upload: nguyenquynh
View: 215 times
Download: 0 times
Share this document with a friend
95
Arquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos 1 Arquitectura de Computadores Departament d’Informàtica de Sistemes i 1 Arquitectura de Computadores y Sistemas Operativos Computadors E.P.S.Alcoi Bloque Temático I: Sistemas Operativos Tema 1: Introducción a los Sistemas Operativos Tema 2: Introducción al S.O. UNIX 2 Arquitectura de Computadores y Sistemas Operativos
Transcript
Page 1: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 1

Arquitectura de Computadores

Departament d’Informàtica de Sistemes i

1Arquitectura de Computadores y Sistemas Operativos

pComputadors

E.P.S.Alcoi

Bloque Temático I: Sistemas Operativos

Tema 1: Introducción a los Sistemas OperativosTema 2: Introducción al S.O. UNIX

2Arquitectura de Computadores y Sistemas Operativos

Page 2: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 2

1.- Presentar el concepto de sistema operativo.2.- Dar una visión general de la evolución histórica de los

Objetivos

sistemas operativos que ayudará a entender qué servicios proporciona el sistema y cómo los proporciona.

3.- Describir las funciones que debe llevar a cabo cualquier sistema operativo actual.

4.- Presentar el concepto de llamada al sistema como

3Arquitectura de Computadores y Sistemas Operativos

mecanismo necesario para obtener los servicios de éste.

5.- Presentar el intérprete de órdenes como ejemplo más importante de programa del sistema.

Bibliografía

A. Silberschatz, P. B. Galvin. “Sistemas Operativos”. 5ª ed.

W. Stallings. “Operating Systems”, 3ª ed.

4Arquitectura de Computadores y Sistemas Operativos

J. Carretero, P. de Miguel“Sistemas Operativos. Una versión aplicada”

Page 3: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 3

Índice

1.- Concepto de sistema operativo2.- Evolución de los sistemas operativos3.- Funciones del sistema operativo4.- Modelo básico de un sistema informático 5.- Llamadas al sistema6.- Programas del sistema7.- Conceptos de planificación

5Arquitectura de Computadores y Sistemas Operativos

8.- Criterios de planificación9.- Algoritmos de planificación10.- Evaluación de Algoritmos

1.- Concepto de sistema operativo

Sistema operativoPrograma que actúa como interfaz entre los usuarios y el hardware del computador.

editorcompilador

sistem a de bases de datos

Program as del s istem a y aplicaciones

Usuario 1Usuario 2

Usuario n

6Arquitectura de Computadores y Sistemas Operativos

Sistem a O perativo

Hardware

Abstracción de los componentes de un sistema informático

Page 4: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 4

1.- Concepto de sistema operativo

Objetivos principales de los sistemas operativos:

• ComodidadFacilitar el uso de la máquina a los usuarios, proporcionando un entorno cómodo para el desarrollo y ejecución de programas y para el acceso a los recursos de la máquina

Eficiencia

7Arquitectura de Computadores y Sistemas Operativos

• EficienciaEl s.o. debe administrar los recursos (hardware y software) de la máquina de forma que se aprovechen de la manera más conveniente.

1.- Concepto de sistema operativo

Conceptos de sistema operativo:

1.- Máquina extendidaLos recursos hw son difíciles de manejar y programar (especialmente la E/S). El s.o. debe ocultar la complejidad del hw y proporcionar una interfaz sencilla de utilizar.

2.- Gestor de recursos

8Arquitectura de Computadores y Sistemas Operativos

En un computador los programas en ejecución deben compartir los recursos disponibles que son limitados (CPU, memoria, dispositivos de E/S, etc.). El s.o. establece la política que determina a quién, cuándo, cuánto tiempo y la cantidad de recurso que asigna.

Page 5: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 5

Contenidos

1.- Concepto de sistema operativo2.- Evolución de los sistemas operativosp

• Primeros sistemas• Sistemas por lotes (batch)• Sistemas multiprogramados• Sistemas de tiempo compartido• Sistemas Unix• Sistemas para PC• Tendencias actuales

9Arquitectura de Computadores y Sistemas Operativos

3.- Funciones del sistema operativo4.- Modelo básico de un sistema informático 5.- Llamadas al sistema6.- Programas del sistema

1950 SistemasFORTRANy COBOL

Primeros sistemas

2.- Evolución de los sistemas operativos

1960

1970

1980

CTSSOS/360

TSO

MULTICS

UNIX

MS-DOS

CP/MVMS

Sistemas por lotes• simples• multiprogramados

Sistemas detiempo compartido

Primeros sistemasUnix

Sistemas operativospara PC’s

10Arquitectura de Computadores y Sistemas Operativos

1990

2000

MS DOSMac OS

OS/2Windows

Windows NT

para PC s

Page 6: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 6

2.- Evolución de los sistemas operativos

Primeros sistemas

• Tipos de sistemaMáquinas voluminosas operadas desde una consolaTeletipos, tarjetas y cintas perforadasSin sistema operativo

• Modo de operación

11Arquitectura de Computadores y Sistemas Operativos

“Hands on”: el usuario hace las veces de operador delante de la consola y tiene el control total sobre la máquina.

2.- Evolución de los sistemas operativos

Primeros sistemas (ii)• Software del sistema

No existe un sistema operativo como tal. El software disponible es:

CargadoresCompiladores / ensambladoresBibliotecas con “manejadores de dispositivos”

P bl áti

12Arquitectura de Computadores y Sistemas Operativos

• ProblemáticaMala utilización de recursos caros (CPU, E/S) debido al elevado tiempo de desarrollo y preparación delante de la consola.Interfaz muy rudimentaria con el usuario.

Page 7: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 7

Sistemas por lotes (batch) simples

$END$RUN

$LOAD$FTN

2.- Evolución de los Sistemas Operativos

p• Modo de operación

Contratación de un operador profesional.Ausencia de interacción directa usuario-máquina.Agrupación por lotes de trabajos similares.Secuenciación automática de trabajos con

Manejadores dedispositivos

Carga ysecuenciación

de trabajosMonitor

$JOB

13Arquitectura de Computadores y Sistemas Operativos

tarjetas de control.• Funciones del s.o.

Aparece el primer esbozo de sistema operativo: el monitor residente.

de trabajosIntérprete del

lenguajede control

ZONA DELPROGRAMADE USUARIO

2.- Evolución de los sistemas operativos

Sistemas por lotes simples (ii): ProblemáticaBaja utilización de la CPU debido a los elevados tiempos de E/S

• Tipo de carga: trabajos con secuencia de ráfagas de CPU y E/S, donde la diferencia de velocidad entre la CPU y la E/S es de tres órdenes de magnitud o más

• Utilización de la CPU = tiempo_CPU_ocupada / tiempo_total

14Arquitectura de Computadores y Sistemas Operativos

E/S E/S E/S E/SCPU CPU CPUCPU CPU

Page 8: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 8

Sistemas por lotes simples (iii): Soluciones

2.- Evolución de los sistemas operativos

A) Operación fuera de línea: reducir los tiempos de E/S utilizando computadores satélite para ejecutar las operaciones de E/S sobre dispositivos lentos.

B) Spooling: reducir los tiempos de E/S utilizando el disco como un buffer para compensar la diferencia de velocidades entre la E/S y los periféricos lentos

15Arquitectura de Computadores y Sistemas Operativos

velocidades entre la E/S y los periféricos lentos.

C) Multiprogramación: Aprovechar las ráfagas de espera (de la E/S) de un trabajo para ejecutar las ráfagas de CPU de otros trabajos.

2.- Evolución de los sistemas operativos

A) Operación fuera de línea (off-line)• La CPU trabaja con periféricos de E/S “rápidos” (cintas)• Sistemas satélites se encargan de efectuar la E/S sobre

cinta cinta

li

CPU

Sistemas satélites se encargan de efectuar la E/S sobre periféricos lentos (tarjetas, impresoras) y de transvasar los datos entre periféricos lentos y rápidos.

16Arquitectura de Computadores y Sistemas Operativos

SATcinta

SATcinta

satélite satélite

Page 9: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 9

3.- Evolución de los sistemas operativos

B) Spooling (Simultaneous Peripheral Operation On Line)• El disco actúa como un buffer de E/S:

DISCO

Mientras el periférico “lento” está ocupado la CPU vuelca a disco.Cuando el periférico está listo, se realiza la transferencia del disco al periférico “lento”.

17Arquitectura de Computadores y Sistemas Operativos

CPU

LectoraTarjetas

Impresora

2.- Evolución de los sistemas operativos

C) Multiprogramación• Ejecución concurrente: ejecución paralela de varios trabajos.

Con un solo procesador se lleva a cabo alternando la CPU entre

E/S CPU E/S E/SCPUTrabajo 1

Con un solo procesador se lleva a cabo alternando la CPU entre procesos: las ráfagas de espera (de E/S) de un trabajo se aprovechan para ejecutar las ráfagas de CPU de otros trabajosImplica mantener varios trabajos en memoria simultáneamente.

• Objetivo: aumentar la utilización de la CPU

18Arquitectura de Computadores y Sistemas Operativos

E/S E/S E/S

E/S E/S E/S

CPU

CPU

CPU

CPU

Trabajo 2

Trabajo 3

UtilizaciónCPU

Page 10: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 10

2.- Evolución de los sistemas operativos

Sistemas por lotes multiprogramadosSon sistemas por lotes en los que se introduce la

lti iómultiprogramación

• El sistema operativo crece considerablemente en tamaño y aparecen nuevas funciones:

Gestión de procesos: planificación de procesos, cambios de contexto, etc.Gestión de memoria: reparto y protección de la memoria etc

19Arquitectura de Computadores y Sistemas Operativos

Gestión de memoria: reparto y protección de la memoria, etc.

• ProblemáticaLa ausencia de interacción usuario-máquina hace difícil la elaboración y depuración de programas

2.- Evolución de los sistemas operativos

Sistemas de tiempo compartido• Tipos de sistema

Mainframes con muchas terminales que distribuyen potencia de cálculo como una especie de “central eléctrica”.Sistemas multiusuario que combinan la multiprogramación y la interacción usuario-máquina a través de terminales

• ObjetivosTiempos de respuesta aceptables

20Arquitectura de Computadores y Sistemas Operativos

Tiempos de respuesta aceptablesMejora de la interfaz usuario-máquinaMultitarea: un usuario puede ejecutar varios procesos concurrentemente.

Page 11: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 11

2.- Evolución de los sistemas operativos

Sistemas de tiempo compartido (ii)• Funciones del sistema operativo

Gestión de procesos: Madura el concepto de proceso y la planificación.

Gestión de memoria: Nacen y se desarrollan las técnicas de memoria virtual.

Gestión de ficheros: Nace la necesidad de sistemas de ficheros “en línea” y comienzan a desarrollarse los precedentes de los sistemas de ficheros actuales.

21Arquitectura de Computadores y Sistemas Operativos

Necesidad de protección entre los diferentes usuarios y procesos existentes.

• Crisis del softwareLa envergadura que alcanza el sistema operativo pone en tela de juicio las metodologías existentes para desarrollar software

2.- Evolución de los sistemas operativos

Los primeros sistemas Unix

• Tipo de sistemaMinicomputadores: máquinas de arquitectura más sencilla que los mainframes pero con mayor potencia de cálculo y menos usuariosEjemplos: PDP-1 ... PDP-7 ... PDP-11

• Objetivos

22Arquitectura de Computadores y Sistemas Operativos

• ObjetivosAdaptar los objetivos de los sistemas de tiempo compartido (MULTICS) a arquitecturas minicomputadorUtilización de lenguajes de alto nivel para el diseño del sistema operativo

Page 12: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 12

2.- Evolución de los sistemas operativos

Los primeros sistemas Unix (ii)

• Aportaciones de UnixDiseño sencillo y potente. Dos únicas abstracciones: proceso y fichero.

Introduce el modelo de sistema de ficheros actual.

Introduce un potente intérprete de órdenes.

Entorno de programación muy completo

23Arquitectura de Computadores y Sistemas Operativos

Entorno de programación muy completo.

Base para el desarrollo de la primera red de computadores y TCP/IP.

Introduce el concepto de sistema abierto.

2.- Evolución de los sistemas operativos

Sistemas operativos para PCs

Ti d i t• Tipo de sistemaMáquinas basadas en microprocesadores. Inicialmente de arquitectura muy sencilla y limitada, pero con una continua evolución en potencia.Interfaces usuario-máquina muy sofisticadas: ratones, pantallas gráficas, etc.Pensadas para un solo usuario.

24Arquitectura de Computadores y Sistemas Operativos

• ObjetivosSencillez y comodidad del usuario: contrasta con los primeros sistemas, donde los altos precios imponían la optimización en la utilización de recursos.

Page 13: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 13

2.- Evolución de los sistemas operativos

Sistemas operativos para PCs (ii)

C t í ti i i t (MS DOS CP/M )• Características primeros sistemas (MS-DOS, CP/M, ...)Poco más que un sistema de ficheros y un cargador.

• Características sistemas actuales (Windows, Linux, MacOS, OS/2, ...)

Interfaz basada en sistema de ventanas y ratón (introducida por Macintosh)Si t d fi h ti á b l (i t d id U i )

25Arquitectura de Computadores y Sistemas Operativos

Sistemas de ficheros tipo árbol (introducidos por Unix)Capacidad multitareaAcceso a la redProgresiva introducción de mecanismos de protección (al estilo UNIX)

2.- Evolución de los sistemas operativos

Tendencias actuales• Sistemas operativos en redPermiten el acceso a recursos remotos. Proporcionan protocolos de p pcomunicación y gran variedad de aplicaciones para acceso a la red

• Sistemas distribuidosPermiten el acceso a recursos remotos de manera transparente (obviando el hecho de la distribución). Proporcionan entornos de programación distribuida y acceso transparente a bases de datos remotas

26Arquitectura de Computadores y Sistemas Operativos

remotas.

• Sistemas multimediaSistemas que incorporan interfaces audiovisuales.

Desarrollo de nuevas interfaces usuario-máquina.Desarrollo de protocolos de transmisión en tiempo real.

Page 14: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 14

Tendencias de diseño actuales

2.- Evolución de los sistemas operativos

• Tecnología orientada a objetos

• Modelo cliente-servidor para aplicaciones distribuidas

• MicronúcleosNúcleos de sistema operativo con una funcionalidad mínima

27Arquitectura de Computadores y Sistemas Operativos

úc eos de s ste a ope at o co u a u c o a dad asobre los que desarrollar el resto del sistema como una aplicación de usuario.

Contenidos

1.- Concepto de sistema operativo2.- Evolución de los sistemas operativos3.- Funciones del sistema operativo

• Gestión de procesos• Gestión de la memoria• Gestión de ficheros• Gestión de la red• Protección

4 - Modelo básico de un sistema

28Arquitectura de Computadores y Sistemas Operativos

4. Modelo básico de un sistema informático

5.- Llamadas al sistema6.- Programas del sistema

Page 15: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 15

3.- Funciones del sistema operativo

Funciones del sistema operativo: Clasificación• Gestión de procesos.Gestión de procesos.• Gestión de memoria.• Gestión del sistema de ficheros.• Gestión de dispositivos de E/S.• Gestión de la red.• Protección.

29Arquitectura de Computadores y Sistemas Operativos

Cada una de las funciones viene caracterizada por una serie de abstracciones que se han desarrollado para resolver su problemática concreta.

3.- Funciones del sistema operativo

Gestión de procesosEs importante diferenciar entre proceso y programa:• Programa: Lista de instrucciones Ente pasivo Se almacena en

programafuente

programaobjeto

programaejecutable

Compilación Enlace

proceso

Programa: Lista de instrucciones. Ente pasivo. Se almacena en ficheros.

• Proceso: Ejecución de un programa. Ente activo. Requiere que el programa se cargue previamente en memoria.

30Arquitectura de Computadores y Sistemas Operativos

Biblioteca demódulosobjeto programa

ejecutable

proceso

Page 16: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 16

3.- Funciones del sistema operativo

Gestión de procesos (ii)

• Problemática:Ejecución concurrente: Simular la ejecución paralela de varios programas sobre un único procesador (repartiendo para ello el tiempo del procesador entre los procesos).Planificación de procesos: Determinar a qué proceso se le asigna el procesador en cada instante.

31Arquitectura de Computadores y Sistemas Operativos

• Funciones:Creación y eliminación de procesos.

Comunicación y sincronización de procesos.

3.- Funciones del sistema operativo

Gestión de la memoria • Está asociada a la gestión de procesos:

Para ejecutar un proceso es necesario asignarle memoria y cargarlo en ellaPara ejecutar un proceso es necesario asignarle memoria y cargarlo en ellaCuando finaliza su ejecución, la memoria debe ser liberada.

• ProblemáticaAislamiento del proceso: Cada proceso debe tener una zona de memoria independiente.Asignación de la memoria: Hay que llevar el control de las zonas de memoria libres y ocupadas y la zona de memoria asignada a cada proceso.Memoria virtual: Técnica que permite direccionar la memoria desde un punto d i t ló i i d d d l t ñ l bi ió d l d i

32Arquitectura de Computadores y Sistemas Operativos

de vista lógico, sin depender del tamaño o la ubicación de la zona de memoria que finalmente se asigne al proceso.

• Funciones: La gestión de memoria es transparente al programador: la asignación y la liberación se hacen automáticamente con la creación y eliminación de procesos.

Page 17: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 17

3.- Funciones del sistema operativo

Gestión de ficheros• Fichero:Ab t ió d fi i l ió d i f ió látil SAbstracción para definir una colección de información no volátil. Su objetivo es proporcionar un modelo de trabajo sencillo con los discos.

• Problemática:Organización del sistema de ficheros: directoriosAsignación de espacio en disco a la información (de manera no necesariamente contigua).G tió d l i lib d di

33Arquitectura de Computadores y Sistemas Operativos

Gestión del espacio libre y ocupado en disco.Protección.

• Funciones para la gestión de ficheros:Creación y eliminación de ficheros y directorios.Manipulación de ficheros y directorios (lectura, escritura, copia, ...).

3.- Funciones del sistema operativo

Gestión de dispositivos de E/S• ObjetivoProporcionar una interfaz de alto nivel de los dispositivos de E/S sencilla de utilizar. En algunos sistemas esta interfaz es semejante a la de los ficheros.

• ProblemáticaManejadores de dispositivos (drivers): Componentes del sistema operativo que ocultan la complejidad y las peculiaridades del hardware de E/S y ofrecen una interfaz

34Arquitectura de Computadores y Sistemas Operativos

y las peculiaridades del hardware de E/S y ofrecen una interfaz independiente del dispositivo. El manejador (software) se encarga de realizar la programación de los controladores de dispositivos (hardware).Planificar el uso de los dispositivos: Proporcionar acceso exclusivo, spooling, etc.

Page 18: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 18

Gestión de la redComprende varios niveles:

3.- Funciones del sistema operativo

Manejadores (drivers) de tarjetas de red.

Protocolos de comunicación (TCP/IP, NetBIOS, etc.): Resuelven el acceso a la red y proporcionan una interfaz para comunicación entre procesos remotos.

Aplicaciones para uso de la red (WWW FTP etc )

35Arquitectura de Computadores y Sistemas Operativos

Aplicaciones para uso de la red (WWW, FTP, etc.). Son programas de aplicación, construidos sobre la interfaz de comunicación, que facilitan el acceso a recursos remotos (ficheros, información,...)

Protección y seguridadMecanismo para permitir o denegar el acceso de un proceso de un usuario determinado a un recurso (ficheros, dispositivos de

3.- Funciones del sistema operativo

( , pE/S).

• Problemática:Diseño de un modelo y una política de protección para definir qué accesos son legales y cuáles son ilegales.Implementación de un mecanismo ejecutivo que vigile el cumplimiento de las reglas de protección definidas.Seguridad: Mecanismo para garantizar la privacidad de la

36Arquitectura de Computadores y Sistemas Operativos

información frente a ataques intencionados por parte de intrusos. Muchos de ellos se basan en técnicas para autenticar usuarios y codificación criptográfica.

• Funciones:Funciones para definir “propietarios” de recursos o niveles de protección.

Page 19: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 19

Contenidos

1.- Concepto de sistema operativo2.- Evolución de los sistemas operativos3.- Funciones del sistema operativo4.- Modelo básico de un sistema

informático• Funcionamiento de un sistema informático• Protección Hardware • Arquitectura general del sistema

37Arquitectura de Computadores y Sistemas Operativos

q g

5.- Llamadas al sistema6.- Programas del sistema

disco disco impresoraCintas

magnéticas

4.- Modelo básico de un sistema informático

Sistema Informático: Arquitectura Hardware

Controladorde disco

Controladorde impresora

Controladorde cinta

bus del sistema

disco disco p magnéticas

38Arquitectura de Computadores y Sistemas Operativos

Controlador de memoria

Memoria

Page 20: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 20

4.- Modelo básico de un sistema informático

Sistema Informático: Arquitectura Hardware (ii)• Los dispositivos de E/S y la CPU pueden trabajar

simultáneamente.simultáneamente.

• Cada controlador de dispositivo se encarga de un tipo de dispositivo.

Cada controlador de dispositivo tiene un buffer local y un conjunto de registros de propósito especial.

39Arquitectura de Computadores y Sistemas Operativos

• Programación del dispositivoLa CPU copia datos desde la memoria principal al buffer local del manejador y viceversaEl controlador del dispositivo informa a la CPU de que ha finalizado la operación generando una interrupción.

4.- Modelo básico de un sistema informático

Sistema Informático: Interrupciones • Cuando ocurre una interrupción, el hardware transfiere el

control al sistema operativo automáticamente.• En concreto,

se transfiere el control al vector de interrupción que almacena las direcciones de todos los manejadores de interrupción, y desde allí......se salta al manejador (o rutina de servicio de interrupción) concreto correspondiente al tipo de interrupción ocurrida.

• El hardware debe salvar la dirección de la instrucción

40Arquitectura de Computadores y Sistemas Operativos

• El hardware debe salvar la dirección de la instrucción interrumpida, para poder continuar con su ejecución una vez finalizado el proceso de la interrupción.

• Normalmente, mientras se está procesando una interrupción, el sistema operativo mantiene inhabilitadas el resto de interrupciones.

Page 21: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 21

4.- Modelo básico de un sistema informático

Protección Hardware: Necesidad

• La ejecución simultánea de distintos procesos conlleva la compartición de los recursos hardware del computador entre dichos procesos.

• Esta compartición obliga al sistema operativo a conseguir que un programa incorrecto (o malicioso) no provoque la

41Arquitectura de Computadores y Sistemas Operativos

ejecución incorrecta de otros programas.

• Para conseguir este objetivo, el sistema operativo utiliza los modos de ejecución del procesador

4.- Modelo básico de un sistema informático

Protección Hardware: Modos de ejecución• Los procesadores modernos proporcionan la posibilidad de

f i di ti t d d d d d d fifuncionar en distintos modos, donde en cada modo se define un subconjunto válido de instrucciones que se permiten ejecutar.

• Para conseguir la protección hardware necesaria por el sistema operativo, el procesador debe proporcionar al menos dos modos de ejecución:

Modo usuario: En este modo se ejecutan las instrucciones de los procesos de usuario Sólo un subconjunto restringido de instrucciones están

42Arquitectura de Computadores y Sistemas Operativos

usuario. Sólo un subconjunto restringido de instrucciones están disponiblesModo supervisor (privilegiado, kernel, monitor o sistema): En este modo se ejecutan las instrucciones del sistema operativo. El conjunto completo de las instrucciones del procesador está disponible (no hay restricciones)

Page 22: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 22

4.- Modelo básico de un sistema informático

Protección Hardware: Modos de ejecución (ii)

• Normalmente, en el procesador existe un bit que indica en qué modo se encuentra actualmente: supervisor (0) / usuario (1)encuentra actualmente: supervisor (0) / usuario (1)

• ¿Cómo se conmuta de un modo a otro?De modo usuario a supervisor: lo realiza el hardware cuando se recibe una interrupción. Así, el sistema operativo se ejecuta en modo supervisor.

De modo supervisor a usuario: lo realiza el hardware, justo antes de volver del tratamiento de la interrupción al proceso interrumpido. Así, el proceso de usuario sigue su ejecución en modo usuario.

43Arquitectura de Computadores y Sistemas Operativos

supervisor usuario

Interrupción

Activar modo usuario

4.- Modelo básico de un sistema informático

Protección Hardware: Modos de ejecución (iii)

• Las instrucciones disponibles en modo supervisor y que no lo están en modo usuario se denominan instrucciones privilegiadas.

• Estas instrucciones están asociadas principalmente a tres tipos de protección:

44Arquitectura de Computadores y Sistemas Operativos

A) Protección de la Entrada/Salida

B) Protección de la memoria

C) Protección del procesador

Page 23: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 23

4.- Modelo básico de un sistema informático

A) Protección de E/S • Todas las instrucciones de E/S son privilegiadas.• Se debe asegurar que un programa de usuario nunca pueda

obtener el control del computador en modo supervisor:Por ejemplo, se debe impedir que un programa pueda cambiar durante su ejecución una dirección en el vector de interrupciones.

• Esto implica que:Se debe proporcionar protección de memoria para al menos

45Arquitectura de Computadores y Sistemas Operativos

Se debe proporcionar protección de memoria para al menos el vector de interrupciones y los manejadores de interrupciónEn general, se requiere proteger la memoria del sistema operativo del acceso por parte de los programas de usuario, y proteger la memoria de cada proceso del acceso de los demás programas de usuario.

B) Protección de memoria • Existen dos registros que determinan

el rango de direcciones válidas a las

4.- Modelo básico de un sistema informático

Sistemaoperativo

256000

0

que se permite acceder a un proceso:registro basemantiene la menor dirección física de memoria permitida.

registro límite:contiene el tamaño del rango. El rango válido va desde la dirección lógica cero a la “límite -1”.

registro límite

registro base

Proceso deusuario 1

Proceso dei 3

Proceso deusuario 2

420940

300040

120900

300040

46Arquitectura de Computadores y Sistemas Operativos

• El sistema operativo mantiene el valor de ambos registros para cada proceso

• Para cada proceso, la memoria ubicada fuera de su rango está protegido mediante el siguiente mecanismo

registro límiteusuario 3

Proceso deusuario 4

1024000

880000

Page 24: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 24

B) Protección de memoria (ii): Mecanismo• Cada acceso de memoria generado en modo usuario:

4.- Modelo básico de un sistema informático

trap al sistema operativo (error de direccionamiento)

MEMORIA

+

300040

<

120900

No

dirección

47Arquitectura de Computadores y Sistemas Operativos

• Sin embargo, en modo supervisor, el sistema operativo tiene acceso sinrestricciones tanto a la memoria de usuario como a la de sistema.

• Las instrucciones de carga de los registros base y límite son privilegiadas.

Registrobase

Registrolímite

4.- Modelo básico de un sistema informático

C) Protección de la CPU • Hay que evitar que un proceso de usuario se apropie de la CPU (si

nunca hace E/S, puede no dejar ejecutarse a nadie más durante mucho tiempo).

• Para ello, el sistema operativo se sirve de un temporizador (timer) hardware.

• Cuando transcurre el tiempo que ha especificado el sistema operativo, el temporizador interrumpe a la CPU, dando al sistema la oportunidad d j t A í l i t ti l t l

48Arquitectura de Computadores y Sistemas Operativos

de ejecutarse. Así se asegura que el sistema mantiene el control.

• Además, los temporizadores son utilizados por el sistema para Implementar los sistemas de tiempo compartido. Registrar la hora en curso

• La carga de un temporizador es una instrucción privilegiada.

Page 25: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 25

4.- Modelo básico de un sistema informático

Arquitectura general del sistema Dado que las instrucciones de E/S son privilegiadas, ¿cómo

li l d i i d E/S ?realizan los procesos de usuario operaciones de E/S ?

49Arquitectura de Computadores y Sistemas Operativos

Llamadas al sistema

Contenidos

1.- Concepto de sistema operativo2.- Evolución de los sistemas operativos3.- Funciones del sistema operativo4.- Modelo básico de un sistema

informático 5.- Llamadas al sistema6.- Programas del sistema

50Arquitectura de Computadores y Sistemas Operativos

Page 26: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 26

5.- Llamadas al sistema

Concepto• Es el método utilizado por un proceso de usuario para solicitar

servicios al sistema operativoservicios al sistema operativo• Por tanto, el conjunto de llamadas al sistema define:

El conjunto de servicios básicos que proporciona el sistema operativoLa interfaz entre un proceso y el sistema operativo.

Implementación

51Arquitectura de Computadores y Sistemas Operativos

• Habitualmente toma la forma de una excepción (trap) a una posición específica del vector de interrupciones (interrupción software)

• Normalmente se proporciona una interfaz como funciones de biblioteca de lenguajes de programación que ocultan el trap y dan la apariencia de llamadas a procedimientos o funciones predefinidas.

Programa de usuario 2

....... Programas de usuario

5.- Llamadas al sistema

Secuencia de acciones asociadas a una llamada al sistema

Programa de usuario 2

Programa de usuario 1

Modo Usuario

Mem

oria

prin

cipa

l Llamada al sistema Trap o int. software

Determinación del servicio

Llamada al p.servidor

Retorno del control

52Arquitectura de Computadores y Sistemas Operativos

Sistema OperativoModo supervisor o kernel

M

Procedimiento Servidor

Page 27: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 27

Gestión de procesos Descripciónpid = fork ( ) Crear un proceso hijo

5.- Llamadas al sistema

Ejemplo: llamadas al sistema de Unix

pid = fork ( ) Crear un proceso hijos = waitpid (pid, status, opts) Esperar finalización de un hijos = execve(name, argv, envp) Cambiar imagen de memoriaexit(status) Invocar finalización y devolver estado

Gestión de señales Descripcións = sigaction (sig, act, oact) Especificar una acción para una señals = kill (pid sig) Enviar una señal a un proceso

53Arquitectura de Computadores y Sistemas Operativos

s kill (pid, sig) Enviar una señal a un procesoresidual = alarm (seconds) Planificar una señal SIGALRM al cabo de un tiempos=pause () Suspender el que invoca hasta que llegue una señal

Gestión de memoria Descripciónsize = brk (addr) Modificar tamaño seg. de datos (no POSIX)

Gestión de ficheros/directorios Descripciónfd = creat(name mode) Crear un fichero

Ejemplo: llamadas al sistema de Unix (ii)

5.- Llamadas al sistema

fd = creat(name, mode) Crear un ficherofd = open(file, how) Abrir un fichero para lectura y/o escrituras = close(fd) Cerrar un fichero abierton = read (fd, buffer, nbytes) Leer de un desc. de fichero sobre un buffern = write (fd, buffer nbytes) Escribir de un buffer sobre un desc. de ficheropos = lseek (fd, offset, whence) Posicionar el puntero de posicións = stat (name,buf), Obtener atributos de un fichero de su nodo-is = mkdir(name, mode) Crear un directorio

54Arquitectura de Computadores y Sistemas Operativos

s mkdir(name, mode) Crear un directorios = rmdir(name) Borrar un directorio vacíos = link (name1, name2) Crear una entrada de directorio para un fichero existentes = unlink(name) Borrar una entrada de directorios = chdir(dirname) Cambiar el directorio de trabajos = chmod(name, mode) Cambiar bits de protección de un fichero

Page 28: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 28

En resumen, los sistemas operativos modernos son programas dirigidos por eventos

5.- Llamadas al sistema

p g g p

• Si no hay procesos que ejecutar, ni dispositivos de E/S que atender, ni usuarios a los que responder, el sistema operativo permanecerá parado a la espera de que ocurra algún evento.

• Los eventos se señalan mediante interrupciones (hardware

55Arquitectura de Computadores y Sistemas Operativos

o software).

Contenidos

1.- Concepto de sistema operativo2.- Evolución de los sistemas operativos3 F i d l i t ti3.- Funciones del sistema operativo4.- Modelo básico de un sistema

informático 5.- Llamadas al sistema6.- Programas del sistema

• Concepto

56Arquitectura de Computadores y Sistemas Operativos

• Clasificación• Intérprete de órdenes

Órdenes externasÓrdenes internas

Page 29: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 29

6.- Programas del sistema

Concepto• Utilidades del sistema operativo que se ejecutan como

procesos de usuario y proporcionan un entorno más cómodoprocesos de usuario y proporcionan un entorno más cómodo.• Son programas escritos en un lenguaje de programación (como C)

que realizan llamadas al sistema.

Clasificación• Intérpretes de órdenes: sh, ksh, bash• Tratamiento de ficheros y directorios: mkdir, cp, mv, ls, etc.

57Arquitectura de Computadores y Sistemas Operativos

y , p, , ,• Filtros: grep, sort, head, tail, etc.• Desarrollo de programas: editores, compiladores, ensambladores,

etc.• Sistemas de ventanas: X11• Comunicaciones: mail, ftp, rlogin, etc.

6.- Programas del sistema

Intérprete de órdenes

• Es la interfaz primaria entre el usuario y el sistema p yoperativo.

• Es un programa que lee de su entrada estándar una orden introducida por un usuario, la analiza y la ejecuta.

• En la mayoría de sistemas operativos, el intérprete de órdenes es un programa que se ejecuta como un proceso de usuario

58Arquitectura de Computadores y Sistemas Operativos

de usuario.

• Ejemplos: el Shell de Unix y el COMMAND.COM de MS-DOS

• Ofrecen dos tipos de órdenes: externas e internas

Page 30: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 30

Órdenes externas• El intérprete de órdenes crea un proceso para ejecutar la

6.- Programas del sistema

p p p jorden. De esta forma, la orden es en realidad cualquier fichero ejecutable.

• Ejemplo: cp f1 f2

Órdenes internas

59Arquitectura de Computadores y Sistemas Operativos

• El intérprete de órdenes ejecuta él mismo la orden. Es decir el código que ejecuta la orden forma parte del propio intérprete.

• Ejemplo: cd /home

1.- Concepto de sistema operativo2.- Evolución de los sistemas operativos

Contenidos

3.- Funciones del sistema operativo4.- Modelo básico de un sistema

informático 5.- Llamadas al sistema6.- Programas del sistema

60Arquitectura de Computadores y Sistemas Operativos

Resumen de conceptos básicos

Page 31: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 31

Resumen conceptos básicos

Sistema operativoPrograma que actúa como interfaz entre los usuarios y el h d d l t dhardware del computador.

Objetivos:• Comodidad: Facilitar el uso de la máquina a los usuarios, proporcionando un entorno cómodo para el desarrollo y ejecución de programas y para el acceso a los recursos de la máquina.

f

61Arquitectura de Computadores y Sistemas Operativos

• Eficiencia: El sistema operativo debe administrar los recursos (hardware y sofware) de la máquina de forma que se aprovechen de la manera más conveniente.

Resumen conceptos básicos

• Núcleo del s.o.: Parte residente del s.o., que se carga al arrancar la máquina y se mantiene siempre en memoria.P d i A li i h h

shell compila-dor

copy

Núcleodel s.o.

Procesosde usuarioLlamadasal sistema

• Procesos de usuario: Aplicaciones hechas por programadores que se ejecutan sobre el s.o. Piden los servicios del s.o. invocando “llamadas al sistema”.

• Llamadas al sistema: Interfaz formada por un conjunto de servicios que el s.o. ofrece a los procesos de usuario.P d l i t Utilid d d l

62Arquitectura de Computadores y Sistemas Operativos

Hardware • Programas del sistema: Utilidades del s.o. que se ejecutan como procesos de usuario (fuera del núcleo). Ejemplos:

Editores, compiladores, montadores, ...Programas o ventanas para manipulación de ficheros y directorios (copy, mkdir, ...)Programas de acceso a la red

Page 32: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 32

Resumen conceptos básicos

Modos de ejecución• La mayor parte de los procesadores actuales tienen como mínimo dos

modos de funcionamiento o de ejecución:S i i il i d E ibl d t d l i t iSupervisor o privilegiado: Es posible acceder a todas las instrucciones del procesador. Con ello se pueden utilizar todos los recursos, y realizar acciones tales como programar los controladores de dispositivo, atender interrupciones, programar la unidad de gestión de memoria (MMU), etc.

Usuario: En este modo no se pueden utilizar las instrucciones del procesador relacionadas con la E/S, la gestión del modo de ejecución, la gestión de la memoria y otras. Estas instrucciones se catalogan como privilegiadas.

63Arquitectura de Computadores y Sistemas Operativos

• En modo supervisor únicamente se ejecuta el sistema operativo. Por tanto es el único programa que tiene control y acceso a todos los recursos.

• En modo usuario se ejecutan los demás programas. Para utilizar los recursos no accesibles en modo usuario (aquellos que requieran instrucciones privilegiadas), se tienen que realizar llamadas al sistema.

7.- Concepto de proceso

5.- Llamadas al sistema6.- Programas del sistema7.- Concepto de proceso8.- Conceptos de planificación.9.- Criterios de planificación.10 - Algoritmos de planificación

64Arquitectura de Computadores y Sistemas Operativos

10. Algoritmos de planificación.11.- Evaluación de Algoritmos.

Page 33: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 33

Concepto de proceso:Existen diferentes visiones complementarias del

7.- Concepto de proceso

concepto de proceso:• Programa en ejecución.• Unidad de asignación de recursos.• Proceso como procesador virtual.

65Arquitectura de Computadores y Sistemas Operativos

Proceso como programa en ejecución:• Programa: Lista de instrucciones. Ente pasivo.

7.- Concepto de proceso

• Proceso: Programa en ejecución. Ente activo.

programafuente

programaobjeto

Compilación Enlace

Procesoprogramaejecutable

66Arquitectura de Computadores y Sistemas Operativos

Biblioteca demódulos

objeto

programaejecutable

Page 34: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 34

Proceso como unidad de asignación de recursos: • Para ejecutar un programa se necesita un entorno formado

i d i d i t d

7.- Concepto de proceso

por una serie de recursos: memoria, descriptores de ficheros y otros atributos del proceso.

• Un proceso se puede considerar como la unidad de propiedad de todos esos recursos.

Tiempode CPU

P1

67Arquitectura de Computadores y Sistemas Operativos

Memoria Tabla dedescriptores

ficheros

Otrosatributos

P1

Proceso como procesador virtual: • Proceso: cada una de las actividades paralelas que se ejecutan en

la máquina

7.- Concepto de proceso

la máquina. • El sistema operativo simula la existencia de n procesadores

virtuales (procesos) a partir de una CPU o procesador físico.

Proceso 1 Proceso 2 Proceso n

68Arquitectura de Computadores y Sistemas Operativos

Page 35: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 35

Ejecución secuencial y ejecución concurrente.• Ejecución secuencial: La ejecución de un proceso se

7.- Concepto de proceso

dice que es secuencial porque sus operaciones son ejecutadas por la CPU una tras otra, en el orden que dicte el programa.

• Ejecución concurrente: La ejecución de dos procesos se dice que es concurrente porque estos se pueden ejecutar en paralelo.

Concurrencia real: Si cada proceso se ejecuta sobre una

69Arquitectura de Computadores y Sistemas Operativos

Concurrencia real: Si cada proceso se ejecuta sobre una CPU.Concurrencia virtual: La CPU reparte su tiempo entre los procesos para simular su ejecución paralela.

Proceso P0

Estructura de un proceso

7.- Concepto de proceso

E/SCPU E/SCPU CPU

Multiprogramación: Se intercalan ráfagas de CPU con ráfagas de E/S

Proceso P0

70Arquitectura de Computadores y Sistemas Operativos

E/SCPU E/SCPU CPU

E/S E/SCPU CPU CPU

Proceso P1

Page 36: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 36

Estados de un procesoAl ejecutar un proceso éste va cambiando de estado. El estado

f

7.- Concepto de proceso

de un proceso se define como el comportamiento que presenta en un instante dado:

• Activo: El proceso se puede ejecutar. No hay impedimentos en asignarle alguna CPU.

Ejecución: El proceso tiene asignada una CPU, las instrucciones se están ejecutando.Preparado: El proceso puede ser ejecutado pero está esperando que se le asigne una CPU libre Puede haber varios procesos en este

71Arquitectura de Computadores y Sistemas Operativos

se le asigne una CPU libre. Puede haber varios procesos en este estado.

• Suspendido: No puede ser ejecutado porque el proceso se encuentra esperando un evento como:

la finalización de una operación de E/S (una lectura de teclado)la comunicación con otro proceso, etc.

Diagrama de estados y transiciones

Proceso terminadopor otro proceso

ACTIVO

NUEVO

PREPARADO

TERMINADO

EN EJECUCIÓN

Admitido

Expulsión

Elegido PlanificadorTerminación

72Arquitectura de Computadores y Sistemas Operativos

SUSPENDIDO

Esperar E/So evento

Fin E/So

llegada eventoProceso terminadopor otro proceso

Page 37: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 37

Operaciones sobre procesos (1)• Creación: Supone asignar todos los recursos que el proceso

necesita para su ejecución, como p.e. memoria.

7.- Concepto de proceso

p j , pEjemplo en UNIX: fork(). La utiliza el proceso init para crear un proceso que gestione cada terminal y el shell cada vez que recibe una nueva orden del usuario (si ésta es externa).

• Terminación: Supone liberar los recursos previamente asignados al proceso. Esta terminación puede ser:

Terminación normal: El proceso invoca su propia terminación.Ejemplo en UNIX: exit()

73Arquitectura de Computadores y Sistemas Operativos

Ejemplo en UNIX: exit()Terminación anormal: El proceso termina por iniciativa del sistema operativo al detectar alguna condición de error (violación de límites, errores aritméticos) o por iniciativa de algún otro proceso.Ejemplo en UNIX: kill() y señales.

Operaciones sobre procesos (2):• Suspensión: Supone pasar un proceso al estado

suspendido para que espere un evento o E/S

7.- Concepto de proceso

suspendido para que espere un evento o E/S.Ejemplo en UNIX: read() sobre un tubo vacío.

• Activación: Pasar un proceso al estado activo cuando se produce el evento que esperaba.

Ejemplo en UNIX: un proceso efectúa un write() sobre un tubo en el que había un lector esperando. El lector se reactiva.

74Arquitectura de Computadores y Sistemas Operativos

Page 38: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 38

8.- Concepto de planificación

5.- Llamadas al sistema6.- Programas del sistema7.- Concepto de proceso8.- Concepto de planificación.9.- Criterios de planificación.10 - Algoritmos de planificación

75Arquitectura de Computadores y Sistemas Operativos

10. Algoritmos de planificación.11.- Evaluación de Algoritmos.

Recursos reutilizables en serie• Escasez de recursos: el número de recursos es

8.- Concepto de planificación

inferior al número de procesos que compiten por ellos.• Recursos reutilizables en serie: aquellos que sólo

pueden estar asignados a un proceso en un instante de tiempo dado. Ejemplos: Impresoras, CPU.

• Planificación de recursos: Con recursos reutilizables en serie el s.o. tiene que aplicar una política para

76Arquitectura de Computadores y Sistemas Operativos

asignar recursos a los procesos.

Page 39: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 39

PlanificadorElemento del sistema operativo que determina a qué

8.- Concepto de planificación

proceso se le asigna un determinado recurso (p. e. CPU) en cada instante de tiempo, de acuerdo con alguna política.En el caso de que el recurso a asignar sea la CPU se distinguen entre tres planificadores:

• Planificador a largo plazo.

77Arquitectura de Computadores y Sistemas Operativos

• Planificador a medio plazo• Planificador a corto plazo.

Diagrama de colas del sistema

Proceso

Planificador a largo plazo

Planificador aCola de procesos

Proceso nuevo

Expulsión

Procesoterminado

Cola de procesospreparados CPU

Planificador a corto plazo

Cola de procesosesperando ejecución

Cola de procesosparcialmente

ejecutados

Planificador a medio plazo

78Arquitectura de Computadores y Sistemas Operativos

Cola de procesosesperando sucesoSuceso

Cola de procesosesperando E/SE/SRecursos

Colas…

Page 40: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 40

Planificador a largo plazo• En un sistema de procesos por lotes, los procesos recién

incorporados permanecen detenidos en una cola de procesamiento

8.- Concepto de planificación

por lotes, en el disco. El planificador a largo plazo creará procesos a partir de la cola cuando sea posible (carga en memoria los procesos de nueva creación)

• Dos son las decisiones que toma el planificador a largo plazo:Cuando crear un nuevo proceso: controla el grado de multiprogramación.Cuál va a ser el siguiente proceso a admitir: algoritmo FCFS (first-come first-served), prioridades, tiempos de ejecución esperados, exigencias E/S.

C t l l d d lti ió j t d

79Arquitectura de Computadores y Sistemas Operativos

• Controla el grado de multiprogramación: conjunto de procesos que residen simultáneamente en memoria y se ejecutan concurrentemente.

• Selecciona procesos de la cola de procesos que están esperando ser ejecutados y los carga en memoria.

• Se ejecuta con poca frecuencia, ya que pueden transcurrir minutos entre la creación de nuevos procesos en el sistema.

Procesos orientados a CPU u orientados a E/S• Un proceso orientado a CPU es aquel que invierte la mayor parte

de su tiempo en efectuar cálculos y genera solicitudes de E/S con

8.- Concepto de planificación

de su tiempo en efectuar cálculos y genera solicitudes de E/S con poca frecuencia.

• Un proceso orientado a E/S es aquel que emplea más tiempo en realizar E/S que en efectuar cálculos.

Proceso orientado a CPU

CPU E/S CPU E/S CPU

80Arquitectura de Computadores y Sistemas Operativos

El planificador a largo plazo debe seleccionar una mezcla adecuada de procesos orientados a CPU y orientados a E/S.

CPU E/S CPU E/S CPU

Proceso orientado a E/S

Page 41: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 41

Planificador a medio plazo (gestiona el espacio de intercambio)• Cuando un usuario se conecta al sistema, se genera una solicitud

de crear un proceso los usuarios de tiempo compartido no pueden

8.- Concepto de planificación

de crear un proceso, los usuarios de tiempo compartido no pueden ser puestos en una cola y esperar a que el sistema pueda aceptarlos (no planificador a largo).

• En ocasiones es interesante sacar procesos de memoria para reducir el grado de multiprogramación o para mejorar la mezcla de procesos (orientados a CPU o E/S).

• Se encarga de controlar qué procesos, de entre todos los iniciados deben estar en memoria (preparados) y qué otros deben estar en el

81Arquitectura de Computadores y Sistemas Operativos

deben estar en memoria (preparados) y qué otros deben estar en el espacio de intercambio.

• El planificador a medio plazo se encarga de sacar el proceso y volverlo a introducir más tarde. El proceso continuará su ejecución a partir del punto donde se había quedado.

• A este esquema comúnmente se le denomina “swapping”.

Planificador a corto plazo• Selecciona un proceso de la cola de procesos preparados

j ió l i l CPU

8.- Concepto de planificación

para ejecución y le asigna la CPU. • Se ejecuta con mucha frecuencia. El proceso seleccionado

quizás se ejecute únicamente durante unos milisegundos antes de iniciar una solicitud de E/S.

• Se ejecuta cuando ocurre un evento que conduce a la interrupción del proceso actual, expulsando el proceso a favor de otro Ejemplos de eventos:

82Arquitectura de Computadores y Sistemas Operativos

favor de otro. Ejemplos de eventos:Interrupciones de reloj.Interrupciones de E/S.Llamadas al sistema operativo.Señales.

Page 42: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 42

9.- Criterios de planificación

8 Conceptos de planificación8.- Conceptos de planificación.

9.- Criterios de planificación.10.- Algoritmos de planificación.11.- Evaluación de Algoritmos.

83Arquitectura de Computadores y Sistemas Operativos

Criterios de planificaciónAlgunos de los criterios y características que un planificador debe

9.- Criterios de planificación

conseguir son:• Utilización: Los recursos se han de mantener tan ocupados como sea

posible. Tiempo_recurso_ocupado / Tiempo_total

• Rendimiento: Maximizar el número de tareas procesadas por unidad

de tiempo.

84Arquitectura de Computadores y Sistemas Operativos

Número_de_trabajos_terminados / Tiempo_total

• Tiempo de retorno: Tiempo que tarda en ejecutarse un proceso.

Tiempo de salida - Tiempo de entrada = ∑ TCPU + ∑ TE/S + ∑ TColas

Page 43: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 43

Criterios de planificación (2):• Tiempo de espera:

9.- Criterios de planificación

Tiempo que un proceso está en la cola de procesos preparados.

• Tiempo de respuesta:Tiempo que transcurre desde que se presenta una solicitud hasta que el sistema comienza a contestar (en procesos interactivos).

• Equidad:

85Arquitectura de Computadores y Sistemas Operativos

qu dadGarantizar que cada proceso obtiene la proporción justa de CPU. Es decir, que los procesos sean tratados de manera igualitaria. El extremo opuesto a equidad sería inanición.

Optimización de los criterios de planificación.No se pueden optimizar todos los criterios a la vez porque algunos de ellos son contrapuestos. Cada tipo de sistema

9.- Criterios de planificación

g p ptiene sus prioridades:

• Sistema por lotes: Maximizar utilización y rendimiento y minimizar el tiempo de retorno y de espera.

• Sistemas interactivos: Proporcionar equidad y hacer el tiempo de respuesta razonable y predecible.

86Arquitectura de Computadores y Sistemas Operativos

La multiprogramación en sí misma supone una mejora de muchos de los criterios anteriores respecto a la ejecución secuencial. Los algoritmos de planificación también tienen como objetivo mejorar algunos de los criterios mencionados.

Page 44: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 44

SIN MULTIPROGRAMACIÓN

Utilización CPU = 6/10 = 60Productividad = 2 trabajos/10 = 0.2

9.- Criterios de planificación

E/SCPU E/SCPU CPU E/SCPU E/SCPU

Proceso P0 Proceso P1Tiempo de retorno = (5+10)/2 = 7.5

Utilización CPU = 100%Productividad = 2 trabajos /6 = 0 33

CON MULTIPROGRAMACIÓNSe intercalan ráfagas de CPU con ráfagas de E/S

CPU

87Arquitectura de Computadores y Sistemas Operativos

= 0.33Tiempo de retorno = (5 + 6)/2 = 5.5Este representa un caso extremo. En el caso de TCPU<< TE/S la utilización de la CPU sería < 100%

Proceso P0

E/SCPU E/SCPU CPU

E/S E/SCPU CPU CPU

Proceso P1

10.- Algoritmos de planificación

8 - Conceptos de planificación8.- Conceptos de planificación.9.- Criterios de planificación.

10.- Algoritmos de planificación.11.- Evaluación de Algoritmos.

88Arquitectura de Computadores y Sistemas Operativos

Page 45: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 45

ObjetivoDecidir a cuál de los procesos que están en la cola de

10.- Algoritmos de planificación

procesos listos se le asignará la CPU.Clasificación de algoritmos de planificación:• Por orden de llegada (FCFS).• Circular (RR, round-robin)• Por prioridades

Sin expulsión (“Non preemptive”) / Con expulsión

89Arquitectura de Computadores y Sistemas Operativos

p ( p p ) p(“Preemptive”)Estáticos / Dinámicos

• Combinación de algoritmos: Clases de prioridades.

Servicio por orden de llegada (FCFS : “first-come, first-served”)La CPU es asignada a todos los procesos en el mismo orden que lo solicitan. Proceso T llegada T CPU

10.- Algoritmos de planificación

lo solicitan. Proceso T. llegada T. CPUP1 0 24P2 0 3P3 0 3

0 24 27 30

P1 P2 P3

Caso 1) Orden de llegadaP1, P2, P3

T. de espera medio:(0 + 24 + 27) / 3 = 17

90Arquitectura de Computadores y Sistemas Operativos

0 3 6 30

P1P2 P3

Caso 2) Orden de llegadaP2, P3, P1

T. de espera medio:(6 + 0 + 3) / 3 = 3

Page 46: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 46

Servicio por orden de llegada (FCFS : “first-come, first-served”)Propiedades

Sin expulsión: Cuando un proceso tiene asignada la CPU la conserva hasta

10.- Algoritmos de planificación

•Sin expulsión: Cuando un proceso tiene asignada la CPU, la conserva hasta que desee liberarla, bien sea porque finaliza o por solicitud de una E/S.

Ventajas•Fácil de implementar

Inconvenientes•No optimiza el tiempo de espera: es muy variable en función del orden de llegada de los procesos y la duración de los intervalos de CPU.•Efecto convoy: Los trabajos largos retrasan a los cortos (por ejemplo: piense

91Arquitectura de Computadores y Sistemas Operativos

•Efecto convoy: Los trabajos largos retrasan a los cortos (por ejemplo: piense en un sistema con un único trabajo con largas ráfagas de CPU y muchos trabajos con ráfagas cortas de CPU).•No es adecuado para sistemas interactivos: Por ser sin expulsión un trabajo con una ráfaga de CPU larga puede provocar una espera larga a otros usuarios.

Prioridad al trabajo más breve ( SJF: shortest-job-first )

10.- Algoritmos de planificación

• Se asocia a cada trabajo (proceso) la duración del siguiente intervalo de CPU que van a necesitar (NO es como una FIFO).

• Se asigna la CPU al trabajo con menor tiempo asociado.• Sin expulsión: cuando un proceso tiene asignada la CPU, la

conserva hasta que desee liberarla.

92Arquitectura de Computadores y Sistemas Operativos

Page 47: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 47

Ejemplo: Prioridad al trabajo más breve (SJF).

10.- Algoritmos de planificación

Procesos Instante de llegada DuraciónP1 0 7P2 2 4P3 4 1P4 5 4SJF (sin expulsión)

•Media del tiempo de espera: (0 + 6 + 3 + 7) / 4 = 4P1 P2P3 P4

93Arquitectura de Computadores y Sistemas Operativos

0 7 8 12 16

Tiempo de espera medio: (0 + 3 + 6 + 7) / 4 = 4

Variante con expulsión del SJF ( SRTF: Shortest Remaining Time First )

10.- Algoritmos de planificación

Prioridad al que le resta menos tiempo (para finalizar)• La CPU es asignada al proceso que le queda menos tiempo

para acabar la ráfaga de CPU en curso.• Variante con expulsión de SJF: Si llega un proceso con un

intervalo de CPU inferior al tiempo que le falta al proceso en ejecución para abandonar la CPU, entonces el nuevo proceso se hace con la CPU

94Arquitectura de Computadores y Sistemas Operativos

proceso se hace con la CPU.

Page 48: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 48

Ejemplo del SRTF.P ro ceso s T . L leg ad a D u rac ió n

P1 0 7P2 2 4P3 4 1P4 5 4

Diagrama de Gantt

10.- Algoritmos de planificación

0 7 11

P1 P2 P3 P4

16

P1P2

2 4 5

Cronograma por procesos

P1

P2

95Arquitectura de Computadores y Sistemas Operativos

Media del tiempo de espera: (9 + 1 + 0 + 2 ) / 4 = 3

P2

P3

P4

SRTF: Shortest Remaining Time First Ventajas

10.- Algoritmos de planificación

• SRTF optimiza la media de tiempo de espera.Inconvenientes• El tiempo del siguiente intervalo de CPU es difícil de

predecir porque no sabemos a priori si nos va a interrumpir la entrada de un nuevo proceso con intervalo de CPU menor. Esto lo hace difícil de implementar para un

l ifi d t l (E l i t l t l

96Arquitectura de Computadores y Sistemas Operativos

planificador a corto plazo.(En los sistemas por lotes el usuario puede aportar información).

• Posibilidad de inanición: los trabajos largos no se ejecutarán mientras haya trabajos cortos.

Page 49: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 49

Planificación SJF/SRTFAunque no se conoce la longitud de la siguiente ráfaga se puede

predecir su valor esperando que sea de longitud similar a las

10.- Algoritmos de planificación

p p q ganteriores.Estimación del siguiente intervalo de CPU

Se utiliza la media exponencial:T n+1 = α tn + (1 - α) Tn

• tn: tamaño real del n-ésimo intervalo de CPU• Tn: Tamaño estimado del n-ésimo intervalo de CPU.• α : coeficiente exponencial 0 < α < 1

97Arquitectura de Computadores y Sistemas Operativos

• Caso α = 1, los datos históricos son irrelevantes y sólo tiene importancia la ráfaga más reciente de CPU. T n+1 = tn

• Caso α = 0, la historia reciente no tienen efecto, se supone que las condiciones actuales son transitorias. T n+1 = Tn

• Es habitual que α = 1/2, por lo que la historia reciente y antigua se ponderan de igual manera.

Planificación SJF/SRTFEstimación del siguiente intervalo de CPUDesarrollando la fórmula y sustituyendo T n+1 por tn llegamos a:

10.- Algoritmos de planificación

T n+1 = α tn + (1 - α) α tn-1 + … + (1 - α)j α tn-j + … + (1 - α)n+1 T0

Puesto que tanto (1 - α) como αson menores o iguales que 1 cada término sucesivo tiene menos peso que el anterior.

6

8

10

12

de r

áfag

a

98Arquitectura de Computadores y Sistemas Operativos

Ejemplo de promedio

exponencial para α = 1/2, y T0= 10

Ráfaga de CPU: 6 4 6 4 13 13 13Predicción: 10 8 6 6 5 9 11

2

4

long

itud

tiempo

Page 50: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 50

Planificación por prioridades• Se asocia a cada proceso un número (entero), llamado

i id d d d l ú it i

10.- Algoritmos de planificación

prioridad de acuerdo con algún criterio.• Se asigna la CPU al trabajo con mayor prioridad

(normalmente, menor número).• Ejemplo:

SJF es un caso particular de prioridades en el que la prioridad es 1/T.

99Arquitectura de Computadores y Sistemas Operativos

Ejemplo:Planificación prioridades

Procesos T. Llegada Duración PrioridadP1 0 7 15P2 2 4 10P3 4 1 5

10.- Algoritmos de planificación

0 7 11

P1 P2 P3 P4

16

P1P2

2 4 5

Diagrama de Gantt

Cronograma por procesos

P3 4 1 5P4 5 4 10

100Arquitectura de Computadores y Sistemas Operativos

P1P2P3P4

Page 51: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 51

Planificación por Prioridades: Variantes• Algoritmos con expulsión/sin expulsión.• Prioridades estáticas/dinámicas

10.- Algoritmos de planificación

• Prioridades estáticas/dinámicas.Prioridades estáticas: La prioridad se asigna antes de la ejecución y no cambia.Prioridades dinámicas: La prioridad cambia con el tiempo.

101Arquitectura de Computadores y Sistemas Operativos

Planificación por prioridadesProblema de inaniciónUn algoritmo de prioridades es inherentemente poco equitativo

10.- Algoritmos de planificación

Un algoritmo de prioridades es inherentemente poco equitativo. El problema extremo es:

• Inanición: Los procesos con baja prioridad no se ejecutan nunca.Solución:

• Actualización de prioridades: Esquema de prioridades dinámicas, donde la prioridad de un proceso aumenta con el tiempo de espera.

102Arquitectura de Computadores y Sistemas Operativos

Page 52: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 52

Planificación circular ( RR: Round Robin )• A cada proceso se le asigna una pequeña cantidad de

ti d CPU ll d “ t ” d ti l t

10.- Algoritmos de planificación

tiempo de CPU, llamada “quantum” de tiempo, normalmente 10-100 mseg.Si el proceso tiene un intervalo de CPU mayor que el “quantum”, entonces es expulsado de la CPU y añadido a la cola de procesos listos.

• Si hay n procesos, cada uno obtiene 1/n del tiempo de la CPU en intervalos de q unidades como máximo (en un

103Arquitectura de Computadores y Sistemas Operativos

CPU en intervalos de q unidades, como máximo (en un ciclo)

Ejemplo:Planificación circular

Procesos T . L legada DuraciónP1 0 16P2 0 3

10.- Algoritmos de planificación

0 15 19

P1 P2

304 7 11

Diagrama de Gantt

P3 P1 P3 P1 P3 P1

23 26

Cronograma por procesos

P3 0 11Quantum q=4

104Arquitectura de Computadores y Sistemas Operativos

P1

P2

P3

Page 53: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 53

Planificación circularValor del “quantum” de tiempo

10.- Algoritmos de planificación

• Para q grandes: el algoritmo degenera en un algoritmo FCFS.

• Para q pequeños: sobrecarga del sistema -> q ha de ser grande respecto al tiempo necesario para el cambio de contexto, sino la sobrecarga introducida es muy alta. Regla práctica: El 80% de los intervalos de CPU han de ser inferiores al “quantum” de tiempo

105Arquitectura de Computadores y Sistemas Operativos

inferiores al quantum de tiempo.

Planificación circularPropiedades:

10.- Algoritmos de planificación

• Equitativo.• El tiempo de espera máximo está limitado por (n -1) q, antes

de recibir su siguiente cuanto de tiempo (en un ciclo)• El tiempo de retorno medio varía con el cuanto de tiempo.• En general es peor que el del algoritmo SRTF. Mejora si un

porcentaje alto de trabajos acaban antes de que acabe el ( )

106Arquitectura de Computadores y Sistemas Operativos

cuanto de tiempo (de ahí la regla práctica anterior)

Page 54: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 54

Planificación con múltiples colasLos procesos se pueden clasificar fácilmente en

10.- Algoritmos de planificación

distintos grupos (interactivos, por lotes, etc.). La cola de procesos preparados consiste en realidad en diversas colas

• Cada cola ha de tener su propio algoritmo de planificación.• Ha de haber un algoritmo de planificación entre colas.

107Arquitectura de Computadores y Sistemas Operativos

Ejemplos de algoritmos de planificación entre colas:

á

10.- Algoritmos de planificación

• Prioridades estáticas: Los procesos en cola con menor prioridad no se ejecutan mientras haya procesos en cola con mayor prioridad. Posibilidad de inanición.

• Cuotas de tiempo: Cada l tá i d

FCFS (prio. 10)

PRIO (prio. 8)

RR (prio. 6)

SJF (prio 4)

ProcesosSistema

Usuariosprivilegiados

ProcesosInteractivos

Procesos

108Arquitectura de Computadores y Sistemas Operativos

cola está asignada a un porcentaje del tiempo de CPU. Ejemplo: el 80% a trabajos interactivos y el 20% a trabajos por lotes.

Colas de procesos preparados

SJF (prio. 4)Por Lotes

Page 55: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 55

Planificación con múltiples colas realimentadas.• Existen diferentes colas de procesos preparados.

10.- Algoritmos de planificación

• Cada cola posee:Política de planificación.Una prioridad asignada.

• Un proceso puede cambiar de cola de acuerdo con un esquema de actualización de prioridades:

Los procesos con un tiempo de espera acumulado elevado son i d l i id d i

109Arquitectura de Computadores y Sistemas Operativos

promocionados a una cola con prioridad superior.Los procesos con un tiempo de utilización de la CPU elevado son degradados a una cola con prioridad inferior.

Planificación con múltiples colas realimentadas.Ejemplo

10.- Algoritmos de planificación

RR [q=8] (prio. 10)

RR [q=16] (prio. 8)

110Arquitectura de Computadores y Sistemas Operativos

Colas de procesos preparados

FCFS (prio. 6)

Page 56: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 56

Múltiples colas realimentadasParámetros de las colas realimentadas:

10.- Algoritmos de planificación

• Número de colas.• Prioridad de cada cola.• Método de promoción de un proceso.• Método de degradación de un proceso.• Método para determinar la cola de entrada de un proceso.

111Arquitectura de Computadores y Sistemas Operativos

Un ejemplo: Planificación de hilos

10.- Algoritmos de planificación

I/Ot10

t11

t12

P1

Algoritmo del sistema operativo

• Round Robin (RR)cuanto = 2

Algoritmo del sistema operativo

• Round Robin (RR)cuanto = 2

112Arquitectura de Computadores y Sistemas Operativos

0 1 32

t20

0 5

P2

Algoritmo biblioteca threads• Turno de llegada (FCFS)

Algoritmo biblioteca threads• Turno de llegada (FCFS)

Page 57: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 57

t10t11 t20

P1 P2

t10t11

t12 t20Un ejemplo: Planificación de hilos

10.- Algoritmos de planificación

P1 P2

Núcleo

t11t12 t20

_Núcleo

P1 P2

t10t11

t12 t20

113Arquitectura de Computadores y Sistemas Operativos

Threads a nivelde núcleo

Threads de usuario

_

tn1 tn2

tn1 tn4tn2

tn3_

Núcleo

Threads híbridos

tn1 tn2tn3

Planificación de hilos a nivel de núcleo (se trata cada thread como si fuera un usuario diferente)

10.- Algoritmos de planificación

0 1 3 4 6 8 117

tn1 tn4

t10 t11 t12 t20

tn2 tn3 tn1 tn2 tn4

t20t10 t11Usuario

Núcleo

t10

114Arquitectura de Computadores y Sistemas Operativos

I/Ot10

t11

t12

0 1 32

P1

t20

0 5

P2 _

P1 P2

Núcleo

tn1 tn4

t11t12 t20

tn2tn3

Page 58: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 58

Planificación de hilos a nivel de usuario (los threads de un mismo usuario van a la misma cola)

10.- Algoritmos de planificación

0 1 3 5 7 8 9 10 11

tn1

t10 t20 t11 t20

tn2 tn1 tn2 tn1 tn2

t20t11 t12Usuario

Núcleo

t10

tn1

t10

115Arquitectura de Computadores y Sistemas Operativos

I/Ot10

t11

t12

0 1 32

P1

t20

0 5

P2 _

P1 P2

Núcleo

t10t11

t12 t20

tn1 tn2

Planificación de hilos en la aproximación híbrida

t10 t20 t11 t20 t20t12 t10 t11

10.- Algoritmos de planificación

0 1 3 5 7 8 9 10 11

tn1

t10 t20 t11 t20

tn2 tn3 tn1 tn2 tn3

t20t12 t10Usuario

Núcleo

t11

tn2t10

t11 t20

116Arquitectura de Computadores y Sistemas Operativos

_

P1 P2

Núcleo

t12 t20

tn1 tn2tn3

I/Ot10

t11

t12

0 1 32

P1

t20

0 5

P2

Page 59: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 59

11.- Evaluación de algoritmos

8.- Conceptos de planificación.9 C it i d l ifi ió9.- Criterios de planificación.10.- Algoritmos de planificación.

11.- Evaluación de Algoritmos.

117Arquitectura de Computadores y Sistemas Operativos

Es necesario evaluar para cada sistema cual es el algoritmo de planificación más adecuado.

11.- Evaluación de algoritmos

Procesos en la selección de un algoritmo:• (1) Selección de criterios (utilización CPU, t. respuesta,

etc.).• (2) Estudiar la adaptación de cada algoritmo a esos criterios.

118Arquitectura de Computadores y Sistemas Operativos

Page 60: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 60

Existen diferentes métodos para llevar a cabo dicha evaluación:• Evaluación analítica: Dada la carga de trabajos producir una

fórmula matemática del rendimiento para cada algoritmo de

11.- Evaluación de algoritmos

fórmula matemática del rendimiento para cada algoritmo de planificación.

Modelo determinista: Evaluar el rendimiento para cada caso particular de carga.Modelos de colas: Caracterizar la carga con una distribución estadística (distribución exponencial).

– Caracterizar la tasa de llegada de trabajos.– Caracterizar el tiempo de servicio de un recurso.

119Arquitectura de Computadores y Sistemas Operativos

– Hacer análisis estadístico de las redes de colas.Ejemplo: Fórmula de Little n = λ * E n: tamaño medio de la cola, λ tasa media de llegada, E: tiempo medio de espera en la cola.

• Simulaciones: Hacer un modelo, programarlo y ejecutarlo.

Resumen

El S.O. Puede verse como un programa que atiende y sirve los eventos producidos por los procesos y los dispositi osdispositivos. Cuando se da alguno de estos eventos cambia el estado de alguno de los procesos existentes en el sistema o el propio estado del sistema operativo.¿ Qué podemos considerar un evento de este tipo ?• Una llamada al sistema.

120Arquitectura de Computadores y Sistemas Operativos

• Una interrupción de un dispositivo de E/S.• Una interrupción de reloj.• Una excepción provocada por el código de un proceso

(Instrucciones ilegales, acceso a memoria no asignada, divisiones por cero, ...).

Page 61: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 61

Flujo de Control del S.O.

Reloj Interrupción deperiférico

Llamada alSistema

Excepción delProcesador

Activación delSistema Operativo

Anotar elavance del

tiempo

Si tiempo límiteexcedido:

Proceso en ejecución

a preparado

Pasar a preparadoal proceso

que esperaba elfin de la E/S

Finalizar elproceso en ejecución

Resolver lallamada al

sistema

Pasar asuspendido al

proceso enejecución

Crear hijo.Hijo a

preparado

Guardar el contexto del proceso en ejecución en su PCB

Sistema Operativo

121Arquitectura de Computadores y Sistemas Operativos

Restaurar el contexto del proceso seleccionado

a preparado

Planificador:selección del próximo

proceso

Anexo I: Interrupción Hw

Ejemplo de Interrupción Hw programada por el puerto paralelo

//********************************************************************************////** EJEMPLO DE INTERRUPCIONES HW POR PUERTO PARALELO //********************************************************************************

#include <stdio.h>#include <dos.h>

#define DATA 0x0378#define STATUS DATA+1#define CONTROL DATA+2#define PIC1 0x21

#define TRUE 1

122Arquitectura de Computadores y Sistemas Operativos

#define FALSE 0

void open_intserv(void);void close_intserv(void);void interrupt far intserv(void);

int intlev=0x0f; //irq 7void interrupt far (*oldfunc)();int int_occurred=FALSE;

Page 62: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 62

Anexo I: Interrupción Hw

void main(void){

clrscr();outportb(DATA,0xff);open intserv();p _ ();

printf("\n CONFIGURACIÓ HARDWARE");printf("\n =====================");printf("\n Control Paralel= %x",inportb(CONTROL));printf("\n Estat Paralel= %x",inportb(STATUS));printf("\n Estat PIC1= %x",inportb(PIC1));getch(); clrscr();printf("\n Iniciem programa Interrupcions port paralel:");

while(!kbhit()){

if(int_occurred){

123Arquitectura de Computadores y Sistemas Operativos

{printf("\n INTERRUPCIà generada");int_occurred=FALSE;

}}close_intserv();

}

Anexo I: Interrupción Hw

void interrupt far intserv(void){

disable();int_occurred=TRUE;outportb(0x20, 0x20); //Envía EOI al PIC1p ( , );enable();

}

void open_intserv(void){

disable();oldfunc=getvect(intlev);setvect(intlev, intserv);outportb(PIC1,(inportb(0x21) & ~0x80)); //Habilito la IRQ7 en el PIC1outportb(CONTROL, inportb(CONTROL) | 0x10); //Habilita IRQ a trav‚s de ACK

// Cuando ~ACK, se genera IRQenable();

}

124Arquitectura de Computadores y Sistemas Operativos

}

void close_intserv(void){

disable();setvect(intlev, oldfunc);outportb(PIC1, (inportb(PIC1) | 0x80)); //Inhabilito la IRQ7outportb(CONTROL, inportb(CONTROL) & ~0x10); //inabilita IRQ a través de ACKenable();

}

Page 63: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Arquitectura de Computadores

Tema 1: Introducción a los Sistemas Operativos 63

Anexo I: Interrupción Hw

125Arquitectura de Computadores y Sistemas Operativos

Anexo II: Mac OS X

Ejemplo del SO de Mac: Mac OS X Snow Leopard

126Arquitectura de Computadores y Sistemas Operativos

Page 64: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS XApple Inc.

lunes 28 de septiembre de 2009

Page 65: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Historia

• En 1971 Steve Wozniak y Steve Jobs fundan Apple

• En 1976 crean el primer ordenador personal que combina un teclado con un microprocesador y una conexión a un monitor. El Apple I.

lunes 28 de septiembre de 2009

Page 66: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple I

• Se vendía por $666,66 se fabricaron 200 unidades

• CPU: MOS Technology 6502 a aproximadamente 1 MHz

• RAM: 4KB standard. Extensible hasta 8KB

• ROM: 256 Bytes

• Gráficos: 40x24 caracteres

lunes 28 de septiembre de 2009

Page 67: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple I: Placa base

lunes 28 de septiembre de 2009

Page 68: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

lunes 28 de septiembre de 2009

Page 69: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple II

• Primer modelo en producción masiva entre finales de los 70 y mediados de los 80

• CPU: 6502 de MOS Technology a 1 MHz

• 4 Kilobytes de RAM

• 12 KB de ROM

• Interfaz de grabadores de cassettes

lunes 28 de septiembre de 2009

Page 70: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple II

lunes 28 de septiembre de 2009

Page 71: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple III

• Se pone a la venta en mayo de 1980

• CPU: !P de 8 bits Synertek 6502A a 2MHz

• 128 Kilobytes de RAM

• Disquetera interna para discos de 5,25

• 4 ranuras internas de ampliación y dos puertos serie en la parte posterior

lunes 28 de septiembre de 2009

Page 72: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple III

lunes 28 de septiembre de 2009

Page 73: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple Lisa

• Introducido en enero de 1983 es el primer ordenador con interfaz gráfica y con ratón.

• Se vendió a $9,995

• CPU Motorola 68000 a 5Mhz

• 1MB de memoria RAM

• 2 unidades de disquete de 5,25

lunes 28 de septiembre de 2009

Page 74: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple Lisa

lunes 28 de septiembre de 2009

Page 75: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

• Apple Lisa resultó un fracaso comercial, aunque la historia lo considera como el primer ordenador personal.

• Al mismo tiempo que se desarrollaba el Apple Lisa se trabajó en un nuevo modelo, el Apple Macintosh.

lunes 28 de septiembre de 2009

Page 76: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple Macintosh

• Se empezó a vender en 1984

• Fue el primer ordenador personal comercializado exitosamente que usaba interfaz gráfica de usuario (GUI)

• A partir de este modelo se empezó a desarrollar el Sistema Operativo tal y como lo conocemos en la actualidad

lunes 28 de septiembre de 2009

Page 77: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple Macintosh

lunes 28 de septiembre de 2009

Page 78: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Apple System

• Se desarrollaron hasta 7 versiones distintas del Apple System para las máquinas Apple

• Todos tenían GUI (interfaz gráfica de usuario)

lunes 28 de septiembre de 2009

Page 79: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

lunes 28 de septiembre de 2009

Page 80: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

lunes 28 de septiembre de 2009

Page 81: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Tiempos de crisis

• Después de la comercialización del Apple Macintosh y del Apple Lisa, Apple Inc. tuvo muchos problemas económicos

• Steve Jobs (fundador) fue despedido de su propia empresa

• Steve Wozniak (co-fundador) abandonó la empresa después de salir ileso de un accidente de avión

lunes 28 de septiembre de 2009

Page 82: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

• Después de su salida de Apple, Steve Jobs fundó NeXT Computer Inc.

• NeXT se convirtió en una empresa muy conocida por sus avanzados ordenadores y por sus plataformas de desarrollo orientadas a objetos

• A principios de 1997 Steve Jobs vuelve a Apple absorbiendo a NeXT

• De esta unión nace el que hoy conocemos como Mac OS

lunes 28 de septiembre de 2009

Page 83: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS 8

• Liberado el 26 de julio de 1997

• Se mejora enormemente la calidad gráfica, se introduce el color

• Se implementa el multi-hilo que lo convierte en un sistema multitarea

• Se introduce un nuevo sistema de ficheros, HFS Plus (Hierachical File System)

lunes 28 de septiembre de 2009

Page 84: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

lunes 28 de septiembre de 2009

Page 85: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS 9

• Liberado el 23 de octubre de 1999

• Se implementan mejoras en el plano de red, incluyendo soporte para redes wi-fi

• Se introduce el concepto de soporte multi-usuario (aún no era un sistema propiamente multi-usuario)

• Se mejora el motor de búsqueda interno

lunes 28 de septiembre de 2009

Page 86: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

lunes 28 de septiembre de 2009

Page 87: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

lunes 28 de septiembre de 2009

Page 88: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

lunes 28 de septiembre de 2009

Page 89: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS X

• Lanzado el 24 de mayo de 2001

• Es un sistema operativo completamente reescrito

• Se busca mucha más estabilidad y crear un sistema robusto (seguro)

lunes 28 de septiembre de 2009

Page 90: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS X

• SO basado en UNIX que se construye con la tecnología desarrollada en NeXT

• Sistema multi-tarea y multi-usuario

• Combina la potencia del núcleo UNIX y un entorno gráfico cuidado y atractivo

lunes 28 de septiembre de 2009

Page 91: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS X

• Todas las API de Mac OS Classic fueron portadas a librerías UNIX. Esto permitió portar aplicaciones sin tener que re-escribir el código entero.

• Escrito para arquitectura PowerPC (chips IBM). En 2005 empiezan a migrar todos los equipos a Intel (x86)

lunes 28 de septiembre de 2009

Page 92: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS X: Benchmarks

lunes 28 de septiembre de 2009

Page 93: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS X Snow Leopard

Tecnología de 64 bits

Grand Central Dispatch

OpenCL (Open Computing Languge)

lunes 28 de septiembre de 2009

Page 94: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Tecnología de 64 bits Grand Central Dispatch

OpenCL (Open Computing Languge)

• Más rápido

• Más seguro

• Compatible con 32 bits

• Ampliación de memoria hasta 16.000 millones de gigabytes

• Optimiza la utilización de todos los núcleos asignando tareas independientes

• Proporciona potentes APIs de programación multinúccleo

• Se adapta automáticamente a la potencia de procesamiento disponible en cada uno de los procesadores gráficos

• Lenguaje abierto y familiar para los programadores

lunes 28 de septiembre de 2009

Page 95: Arquitectura de Computadores - personales.upv.espersonales.upv.es/pabmitor/acso/FILES/ArqComp/CST/ArqComp t1.pdfArquitectura de Computadores Tema 1: Introducción a los Sistemas Operativos

Mac OS X Snow Leopard

Office en el Mac

Compatible con todos los estándares de la

industria

Posibilidad de ejecutar Windows de forma nativa

Copias de seguridad automatizadas

lunes 28 de septiembre de 2009


Recommended