Introduccion A So
Introducci´n a los sistemas operativos o
Gustavo Romero
Arquitectura y Tecnolog´ de Computadores ıa
21 de octubre de 2010
c Gustavo Romero
Introducci´n a los sistemas operativos (1/23) o
Abstracciones Llamadas al sistema
´ Indice
1
Abstracciones
2
Llamadas al sistema
c Gustavo Romero
Introducci´n a los sistemas operativos(2/23) o
Abstracciones Llamadas al sistema
Lecturas recomendadas
Tanuenbaum Silberschatz Stallings
Sistemas Operativos Modernos (1) Fundamentos de Sistemas Operativos (2) Sistemas Operativos (2)
c Gustavo Romero
Introducci´n a los sistemas operativos (3/23) o
Abstracciones Llamadas al sistema
Espacio de direcciones
Memoria utilizable por un proceso. Unidad de protecci´nde memoria. o Habitualmente formado por 3 componentes:
c´digo: .text o datos: .data, .bss y heap pila: stack
variables locales marcos de procedimientos
Tama˜o: n
c´digo: tama˜o fijo o n datos: pueden crecer hacia arriba pila: pueden crecer hacia abajo
c Gustavo Romero
Introducci´n a los sistemas operativos (4/23) o
Abstracciones Llamadas al sistema
Procesos y hebras
(Porci´nde) un programa en ejecuci´n. o o Instancia de un programa ejecut´ndose. a Hebra/hilo/fibra: m´ ınima unidad de ejecuci´n. o Proceso/tarea: unidad de posesi´n/protecci´n de recursos. o o
c Gustavo Romero
Introducci´n a los sistemas operativos (5/23) o
Abstracciones Llamadas al sistema
Comunicaci´n entre procesos o
Tipos:
Ficheros: tuber´ ıas, sockets. Paso de mensajes. Memoriacompartida.
Ejemplo:
Comunicaci´n de dos o procesos a trav´s de una e tuber´ ıa. cat alumnos.txt | sort Funcionamiento:
“A” deja de escribir cuando la tuber´ ıa est´ llena. a “B” deja de leer cuando la tuber´ ıa est´ vac´ a ıa.
c Gustavo Romero Introducci´n a los sistemas operativos (6/23) o
Abstracciones Llamadas al sistema
Concurrencia y paralelismo
Varios procesos pueden ejecutarse...en paralelo en un multiprocesador. de forma concurrente en un uniprocesador.
Los procesos multihebra pueden ser ejecutados de forma paralela o concurrente en funci´n de... o
el n´mero de procesadores u el modelo de hebras: usuario o n´cleo u
Podr´n aparecer “condiciones de carrera” si no a manejamos cuidadosamente la concurrencia =⇒ necesitaremos m´todos de sincronizaci´n de procesos y eo hebras.
c Gustavo Romero
Introducci´n a los sistemas operativos (7/23) o
Abstracciones Llamadas al sistema
Gesti´n de memoria o
La memoria RAM es limitada. Problema: los procesos no saben qu´ posici´n ocupar´n e o a en la RAM.
Responsabilidad del compilador y del SO. Soluci´n: =⇒ c´digo relocalizable. o o
Problema: las necesidades de memoria de todos los procesos activospueden ser mayores que la memoria disponible.
Soluci´n: =⇒ memoria virtual. o
c Gustavo Romero
Introducci´n a los sistemas operativos (8/23) o
Abstracciones Llamadas al sistema
Memoria virtual
Permite al programador direccionar memoria de forma razonable:
Hace creer a los procesos que disponen de toda la RAM para ellos. Los espacios de direcciones son independientes unos de otros:una misma direcci´n virtual en dos espacios de direcciones o puede ser mapeada en diferentes posiciones en la memoria principal.
El mapeado de porciones de memoria virtual en memoria f´ ısica se hace de forma autom´tica ⇒ liberaci´n para el a o programador.
El funcionamiento eficiente de la memoria virtual necesita soporte hardware.
c Gustavo Romero
Introducci´n a los sistemasoperativos (9/23) o
Abstracciones Llamadas al sistema
Memoria virtual
Las aplicaciones creen tener un espacio de direcciones plano. La memoria f´ ısica se divide en porciones. Las regiones no necesitan mapearse de forma contigua.
excepci´n: E/S mapeada en memoria (controladores). o
c Gustavo Romero
Introducci´n a los sistemas operativos (10/23) o
Abstracciones Llamadas al sistema...
Regístrate para leer el documento completo.