AYUDANTÍA 2: EL SISTEMA OPERATIVO
UTFSM - Sistemas Operativos
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
2
Conceptos importantes
Procesos / servicios Tareas: Set de instrucciones cargadas
en memoria. Interfaces Llamadas a sistema
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
3
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.Program executionError detection
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
4
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
5
Llamadas a sistema Conceptos:
IdentidadParámetros:
○ Registros○ Block/table○ Stack
fd = open(“theFile”, O_RDONLY, 0744);- push 0744- push O_RDONLY- pushd PtrToString- call open- mov [ebp-fd],eax- add esp,12
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
6
Diferencia entre “system programs”, “system calls”
Ejemplo de copiar archivo. Esto proporciona abstracción .
Basta con esto?Debiera haber un “system program” para cada
cosa que uno desee hacer?Todas las aplicaciones debieran estar formadas
llamando a varios system programs?Rendimiento?Qué pasa si uno quiere una aplicación
multiplataforma?
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
7
Application programming interfaces Para qué? Ejemplo de interfaz:
DirectSound y WASAPIASIO, OpenAL
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
8
Ejemplo usando API
using Microsoft.DirectX; using Microsoft.DirectX.DirectSound; Public void playMetal() {
Device device = CreateDevice();Buffer buffer = new Buffer(“Opeth -
Deliverance.mp3”, device);buffer.Play(0, BufferPlayFlags.Default);
}
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
9
Interfaces
Se facilitó todo! Tenemos API’s para todo:
OpenGLCUDAEtc!
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
10
Kernel
Qué es? Layered (hardware..UI) Microkernel Modular
Ayudantía Sistemas Operativos - http://villaseca.wordpress.com
11
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
12
Debugging
Lo hace el sistema operativo?Stack traces
O la VM?Exceptions
Ejemplo de debugger por debajo del SOSoftICE
Recommended