Post on 11-Jul-2020
transcript
Facultad de IngenieríaUniversidad de Buenos
Aires
75-08 Sistemas OperativosLic. Ing. Osvaldo Clúa
2007
Introducción a los Sistemas Operativos
750'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.
750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 3
Concepto de máquina extendida
Cada nivel interpreta al nivel superior
750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 4
Niveles
750'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 N1
El estado de una máquina virtual solo está definido entre instrucción e instrucción.
...
750'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.
750'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.
750'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?
750'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.
750'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())
750'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)
750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 13
Pasos para atender un System Call (con trap)
750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 14
Algunos System Calls (Unix)
750'8 Sistemas Operativos Prof. Lic. ing. Osvaldo ClúaFIUBA 2007 15
Algunos System Calls (Win 32)
750'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/dualcore/
750'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.
750'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
750'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
750'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
750'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)
750'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