120 likes | 256 Views
UTFSM - Sistemas Operativos. Ayudantía 2: El Sistema Operativo. Conceptos importantes. Procesos / servicios Tareas: Set de instrucciones cargadas en memoria. Interfaces Llamadas a sistema. Parte del sistema operativo. Nos interesa tener más aplicaciones que las que trae el SO.
E N D
UTFSM - Sistemas Operativos Ayudantía 2: El Sistema Operativo
Conceptos importantes • Procesos / servicios • Tareas: Set de instrucciones cargadas en memoria. • Interfaces • Llamadas a sistema Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Parte del sistema operativo • Nos interesa tener más aplicaciones que las que trae el SO. • Estas aplicaciones pueden interferir con el SO, o con otras aplicaciones. • Por lo tanto, tenemos: • U.I. • Programexecution • Error detection Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Evitar interferencias • No queremos que se interfiera con el SO • Cada aplicación con su algoritmo para leer del disco duro? Para cada sistema de archivos?... • Debemos usar llamadas a sistema • O no? • Ejemplo para reproducir un sonido Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Llamadas a sistema • Conceptos: • Identidad • Parámetros: • Registros • Block/table • Stack • fd = open(“theFile”, O_RDONLY, 0744); • push 0744 • push O_RDONLY • pushdPtrToString • call open • mov [ebp-fd],eax • add esp,12 Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Diferencia entre “systemprograms”, “systemcalls” • Ejemplo de copiar archivo. • Esto proporciona abstracción. • Basta con esto? • Debiera haber un “systemprogram” para cada cosa que uno desee hacer? • Todas las aplicaciones debieran estar formadas llamando a varios systemprograms? • Rendimiento? • Qué pasa si uno quiere una aplicación multiplataforma? Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Applicationprogramming interfaces • Para qué? • Ejemplo de interfaz: • DirectSound y WASAPI • ASIO, OpenAL Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Ejemplo usando API • usingMicrosoft.DirectX; • usingMicrosoft.DirectX.DirectSound; • PublicvoidplayMetal() • { • Devicedevice = CreateDevice(); • Buffer buffer = new Buffer(“Opeth - Deliverance.mp3”, device); • buffer.Play(0, BufferPlayFlags.Default); • } Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Interfaces • Se facilitó todo! • Tenemos API’s para todo: • OpenGL • CUDA • Etc! Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Kernel • Qué es? • Layered (hardware..UI) • Microkernel • Modular Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Virtual machines • Descripción ejemplificada de “The Da Vinci Machine” para JVM, comparándolo con IronPython en .NET Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
Debugging • Lo hace el sistema operativo? • Stack traces • O la VM? • Exceptions • Ejemplo de debugger por debajo del SO • SoftICE Ayudantía Sistemas Operativos - http://villaseca.wordpress.com