introducción a los sistemas operativosmaterias.fi.uba.ar/7508/teoria-2007/01-intro.pdf ·...

Post on 11-Jul-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Facultad de IngenieríaUniversidad de Buenos 

Aires

75-08 Sistemas OperativosLic. Ing. Osvaldo Clúa

2007

Introducción a los Sistemas Operativos

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 2

¿Qué es un Sistema Operativo?

● Un programa que hace de intermediario entre el usuario de una computadora y el Hardware.

● Es quien administra los recursos de un Sistema de Computación.

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 3

Concepto de máquina extendida

Cada nivel interpreta al nivel superior

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 4

Niveles

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 5

Interpretación

EstadoS1

EstadoS2

Instrucción I1

S1b S1c S1kS1a I11 I12 I13 I1n

Nivel N

Nivel N­1

El estado de una máquina virtual solo está definido entre instrucción e instrucción.

...

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 6

Modos de la CPU (1)

● Son restricciones a las instrucciones que pueden ejecutarse.

● Se los conoce también como niveles o anillos de privilegio.– El modo con mas privilegios (menos restricciones) se

conoce como ring-0, kernel, master-mode, supervisor, privileged.

– El resto son modos de usuario o user-mode.

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 7

Modos de la CPU (2)

● Se pasa de un modo usuario a modo supervisor por medio de una Interrupción.– Sincrónica o Software trap.– Asincrónica (I/O, Timer, External)

● El retorno a un modo usuario está a cargo del programa.

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 8

Interrupciones

● Primer Nivel de atención de interrupciones– salvar el contexto (registros, cod condición,

dirección de retorno).– según el tipo de interrupción pasar al

● Segundo nivel de atención de Inerrupciones– atender la Interrupción

● ¿Se puede interrumpir una interrupción?

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 9

Modos de la CPU (3)

● Algunas arquitecturas incluyen mas modos– X86 Modo real, protegido y virtual.– Modo hypervisor.

● Un sistema operativo puede tener partes corriendo en cada uno de los modos.

● Un programa de usuario solo corre en user mode.

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 10

Modos del Sistema Operativo

● Modo Usuario – ejecutando un programa de usuario.

● Modo Kernel – ejecutando un servicio propio del Sistema Operativo– La CPU puede estar en algún modo user,

kernel (supervisor), hypervisor, etc.

11

System Calls

● Pedidos de servicio al sistema operativo.– En UNIX, descriptas en la sección 2 del man.– Rastreadas durante la ejecución de un

programa con strace (1).– Ponen al Sistema Operativo en modo Kernel

Depende del sistemas Operativo (y del autor del libro)

Pueden pasar a la CPU a modo Kernel (p. ej. read())Pueden no precisar hacerlo (p. ej. getpid())

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 12

Library Calls

● Son llamados a procedimientos de biblioteca.– A veces terminan en System Calls (printf( )).– A veces no (strcmp()).

Library = Biblioteca (se consultan libros)Bookstore = Librería (se venden libros)

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 13

Pasos para atender un System Call (con trap)

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 14

Algunos System Calls (Unix)

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 15

Algunos System Calls (Win 32)

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 16

Multi Core CPUS

● Un microprocesador que combina dos o mas procesadores independientes en un único package.

● Chip Level Multiprocessing

http://www.intel.com/technology/computing/dual­core/ 

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 17

Simultaneous Multithreading (SMT)

●Permite a varios threads ejecutar instrucciones diferentes en el mismo ciclo de reloj.

● Grano fino – en cada ciclo se hace una instrucción de un thread diferente.

● Grano grueso – Solo cambia de thread ante eventos de latencia larga.

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 18

HyperThreading

● Versión Intel de SMT.● Duplica los elementos

que guardan el estado.● Barrel Processor.● Debe administrarlo el

Sistema Operativo.ftp://download.intel.com/technology/itj/2002/volume06issue01/vol6iss1_hyper_threading_technology.pdf 

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 19

Máquinas Virtuales

● Se agrega software a una máquina para implementar otra arquitectura.

● Emulación: Bochs PearPC, Virtual PC (Versión PPC), QEMU

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 20

Máquinas Virtuales (2)

● Virtualización de Aplicaciones: Se crea un ambiente parcial para determinadas aplicaciones.– Java Virtual Machine, Softricity. (No WINE).

● Virtualización del Sistema Operativo:– Linux-VServer, Virtuozzo, OpenVZ,

Solaris Containers, y FreeBSD Jails

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 21

● Para-Virtualización: No simula el Hardware sino que ofrece una API a la que se accede modificando el Sistema Anfitrión (Host).– XEN, Parallels, VMWare, VirtuaBox.– Las APIs se suelen llamar HyperCalls– Al sistema se lo conoce como HyperVisor

Máquinas Virtuales (3)

75­0'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 22

HyperVisor● Un monitor para maquinas virtuales

– Tipo 1 – Corre sobre el hardware (Xen, VMware's ESX Server)

– Tipo 2 – Precisa de un Sistema Operativo ( VMware server, Microsoft Virtual Server).

● La migración vertical está llegando: IVT (Vanderpool) AMD-v (Pacifica)

● Más sobre el tema – IEEE Computer Mayo 2005

top related