Story Transcript
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Usando el Sistema Operativo Sistemas Operativos
´ Felipe Barco Santa Andres Pontificia Universidad Javeriana
Enero de 2010
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Los sistemas operativos Perspectivas del Computador
Los sistemas operativos
Concepto general El sistema operativo es parte del software que maneja el uso del hardware por otro software del sistema y todos los software ´ de aplicacion.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Los sistemas operativos Perspectivas del Computador
Perspectivas del Computador
cut print send save
malloc() open() fork()
start-printer read-disk track-mouse
Vista Usuario
Vista Programador
Vista Programador
Final
Aplicaciones
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
de SO
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
Recursos Abstractos
El sistema operativo oculta al usuario los detalles de como la maquina opera.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
Recursos Abstractos
El sistema operativo oculta al usuario los detalles de como la maquina opera. Se puede operar la computadora sin tener conocimiento sobre el manejo del hardware
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
Recursos Abstractos
El sistema operativo oculta al usuario los detalles de como la maquina opera. Se puede operar la computadora sin tener conocimiento sobre el manejo del hardware ´ de operar comparado Se extiende un modelo que sea facil con usar el hardware directamente
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
Recursos Abstractos
El sistema operativo oculta al usuario los detalles de como la maquina opera. Se puede operar la computadora sin tener conocimiento sobre el manejo del hardware ´ de operar comparado Se extiende un modelo que sea facil con usar el hardware directamente La estrategia es proveer un modelo abstracto de las operaciones del hardware
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
´ Multiplexacion
Abstract Machine ´ Dos tipos de estrategias son usadas pra crear la maquina ´ en tiempo y multiplexacion ´ en abstracta: multiplexacion espacio.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
´ Multiplexacion
Abstract Machine ´ Dos tipos de estrategias son usadas pra crear la maquina ´ en tiempo y multiplexacion ´ en abstracta: multiplexacion espacio. Procesador es multiplexado en tiempo. Un solo proceso usa el procesador en determinado instante.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
´ Multiplexacion
Abstract Machine ´ Dos tipos de estrategias son usadas pra crear la maquina ´ en tiempo y multiplexacion ´ en abstracta: multiplexacion espacio. Procesador es multiplexado en tiempo. Un solo proceso usa el procesador en determinado instante. Memoria es multiplexada en espacio. Se divide en unidades, son asignadas a diferentes procesos.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
Software confiable
Explicit Resource Sharing Los sistemas deben permitir aislar los recursos tal que no haya ´ deben permitir a los procesos cooperar conflictos. Pero ademas entre ellos para compartir recursos cada vez que se necesite.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
Software confiable
Explicit Resource Sharing Los sistemas deben permitir aislar los recursos tal que no haya ´ deben permitir a los procesos cooperar conflictos. Pero ademas entre ellos para compartir recursos cada vez que se necesite. El sistema operativo es el unico capaz de brindar dichos ´ comportamientos (Trusted Software)
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Recursos Abstractos ´ Multiplexacion Software confiable
Software confiable
Explicit Resource Sharing Los sistemas deben permitir aislar los recursos tal que no haya ´ deben permitir a los procesos cooperar conflictos. Pero ademas entre ellos para compartir recursos cada vez que se necesite. El sistema operativo es el unico capaz de brindar dichos ´ comportamientos (Trusted Software) Las abstracciones del SO pueden ser manipuladas por medio de su interfaz (API)
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Evolucion de los SO
Evolucion de los SO
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Computacion secuencial Algoritmo ´ de instrucciones junto con un Un algoritmo es una coleccion orden secuencial que define como deben ser ejecutadas.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Computacion secuencial Algoritmo ´ de instrucciones junto con un Un algoritmo es una coleccion orden secuencial que define como deben ser ejecutadas. Una vez el programa ha sido construido, se debe: * Invocar un traductor de lenguaje espec´ıfico
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Computacion secuencial Algoritmo ´ de instrucciones junto con un Un algoritmo es una coleccion orden secuencial que define como deben ser ejecutadas. Una vez el programa ha sido construido, se debe: * Invocar un traductor de lenguaje espec´ıfico * Proveer datos al programa
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Computacion secuencial Algoritmo ´ de instrucciones junto con un Un algoritmo es una coleccion orden secuencial que define como deben ser ejecutadas. Una vez el programa ha sido construido, se debe: * Invocar un traductor de lenguaje espec´ıfico * Proveer datos al programa * Direccionar al SO para ejecutar el punto de entrada principal (main)
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Computacion secuencial Algoritmo ´ de instrucciones junto con un Un algoritmo es una coleccion orden secuencial que define como deben ser ejecutadas. Una vez el programa ha sido construido, se debe: * Invocar un traductor de lenguaje espec´ıfico * Proveer datos al programa * Direccionar al SO para ejecutar el punto de entrada principal (main) * Continuar ejecutando las sentencias acorde con la ´ de control especificacion ´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Algoritmos, Programas y Procesos
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Recursos Concepto ´ ´ Todos los componentes, f´ısicos o logicos, de la maquina abstracta que son necesitados para ejecutar un programa son llamados recursos.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Recursos Concepto ´ ´ Todos los componentes, f´ısicos o logicos, de la maquina abstracta que son necesitados para ejecutar un programa son llamados recursos. Un proceso requiere siempre de recursos para ejecutarse; minimamente requiere de la memoria ejecutable y del procesador.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Recursos Concepto ´ ´ Todos los componentes, f´ısicos o logicos, de la maquina abstracta que son necesitados para ejecutar un programa son llamados recursos. Un proceso requiere siempre de recursos para ejecutarse; minimamente requiere de la memoria ejecutable y del procesador. Para hacer uso de un recurso, el proceso debe primero ´ de este (REQUEST). hacer la peticion
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
Computacion secuencial Algoritmos, Programas y Procesos Recursos
Recursos Concepto ´ ´ Todos los componentes, f´ısicos o logicos, de la maquina abstracta que son necesitados para ejecutar un programa son llamados recursos. Un proceso requiere siempre de recursos para ejecutarse; minimamente requiere de la memoria ejecutable y del procesador. Para hacer uso de un recurso, el proceso debe primero ´ de este (REQUEST). hacer la peticion Una vez el proceso pide el recurso, debe esperar (SUSPEND) las operaciones hasta que el recurso le sea asignado. ´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
La API
Llamadas al sistema Un sistema operativo es manipulable por medio de su APIa , es ´ decir, usamos los metodos publicos para invocar las ´ operaciones. a
Application Programming Interface
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
La API
Llamadas al sistema Un sistema operativo es manipulable por medio de su APIa , es ´ decir, usamos los metodos publicos para invocar las ´ operaciones. a
Application Programming Interface
Precisamente en un sistema operativo estas funciones publicas ´ se denominan llamadas al sistema (SYSCALL).
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
Syscall
Archivos POSIX
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
Syscall
Archivos POSIX open() especif´ıca la ruta de un archivo preparando para leer o escribir (file descriptor)
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
Syscall
Archivos POSIX open() especif´ıca la ruta de un archivo preparando para leer o escribir (file descriptor) close() cierra un archivo (libera el recurso)
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
Syscall
Archivos POSIX open() especif´ıca la ruta de un archivo preparando para leer o escribir (file descriptor) close() cierra un archivo (libera el recurso) read() lee un archivo con ayuda del file descriptor
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
Syscall
Archivos POSIX open() especif´ıca la ruta de un archivo preparando para leer o escribir (file descriptor) close() cierra un archivo (libera el recurso) read() lee un archivo con ayuda del file descriptor write() escribe sobre un archivo (similar a read)
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
Syscall
Archivos POSIX open() especif´ıca la ruta de un archivo preparando para leer o escribir (file descriptor) close() cierra un archivo (libera el recurso) read() lee un archivo con ayuda del file descriptor write() escribe sobre un archivo (similar a read) ´ del puntero en un byte-stream lseek() cambia la posicion
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
´ de Procesos Creacion ´ de un proceso ademas ´ de asignarle Al iniciar la ejecucion recursos, a este se le asigna un espacio de direcciones privado.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
´ de Procesos Creacion ´ de un proceso ademas ´ de asignarle Al iniciar la ejecucion recursos, a este se le asigna un espacio de direcciones privado. Address Space ´ Es un conjunto de componentes de la maquina (principalmente direcciones de memoria) que pueden ser referenciados por el ´ Elementos de la pila, status, datos y motor de ejecucion. bloques de programa son referenciados usando el addres space.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
API de procesos
Cuando un proceso es creado se crea una instancia de una estructura de datos llamada process descriptor. El proceso posee un identificador unico (PID). ´
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
API de procesos
Cuando un proceso es creado se crea una instancia de una estructura de datos llamada process descriptor. El proceso posee un identificador unico (PID). ´ fork() crea un segundo proceso (proceso hijo). Retorna un pid.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
API de procesos
Cuando un proceso es creado se crea una instancia de una estructura de datos llamada process descriptor. El proceso posee un identificador unico (PID). ´ fork() crea un segundo proceso (proceso hijo). Retorna un pid. ´ de un quit() es usado para terminar la computacion proceso.
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
API de procesos
Cuando un proceso es creado se crea una instancia de una estructura de datos llamada process descriptor. El proceso posee un identificador unico (PID). ´ fork() crea un segundo proceso (proceso hijo). Retorna un pid. ´ de un quit() es usado para terminar la computacion proceso. ´ ´ procesos. join() es usado para unir a nivel logico dos o mas
´ Felipe Barco Santa Andres
Usando el Sistema Operativo
´ Introduccion ´ de Recursos Abstraccion Estrategias de los SO ´ Maquina abstracta Usando el SO
La API Syscall ´ de Procesos Creacion API de procesos
Fin de la Clase
´ Nos vemos en la proxima!!!
´ Felipe Barco Santa Andres
Usando el Sistema Operativo