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

22
Facultad de Ingeniería Universidad de Buenos Aires 75-08 Sistemas Operativos Lic. Ing. Osvaldo Clúa 2007 Introducción a los Sistemas Operativos

Upload: others

Post on 11-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

Facultad de IngenieríaUniversidad de Buenos 

Aires

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

2007

Introducción a los Sistemas Operativos

Page 2: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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.

Page 3: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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

Concepto de máquina extendida

Cada nivel interpreta al nivel superior

Page 4: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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

Niveles

Page 5: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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.

...

Page 6: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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.

Page 7: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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.

Page 8: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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?

Page 9: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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.

Page 10: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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.

Page 11: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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())

Page 12: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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)

Page 13: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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

Pasos para atender un System Call (con trap)

Page 14: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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

Algunos System Calls (Unix)

Page 15: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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

Algunos System Calls (Win 32)

Page 16: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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/ 

Page 17: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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.

Page 18: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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 

Page 19: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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

Page 20: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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

Page 21: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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)

Page 22: Introducción a los Sistemas Operativosmaterias.fi.uba.ar/7508/Teoria-2007/01-Intro.pdf · 750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo Clúa FIUBA 2007 6 Modos de la CPU (1)

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