Sistemas operativos

Solo disponible en BuenasTareas
  • Páginas : 79 (19584 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de diciembre de 2011
Leer documento completo
Vista previa del texto
DISEÑO DE SISTEMAS OPERATIVOS

1. 1 LA NATURALEZA DEL PROBLEMA DEL DISEÑO

1.1.1 OBJETIVOS
Para poder diseñar un sistema operativo exitoso, los diseñadores deben tener una clara idea de lo que quieren. La falta de un objetivo dificulta de manera considerable el proceso de tomar las decisiones subsiguientes. Para aclarar más este punto, es instructivo dar un vistazo a dos lenguajes deprogramación: PL/I y C. IBM diseño PL/I en la década de 1960, debido a que era una molestia dar soporte tanto a FORTRAN como a COBOL, y era vergonzoso que los académicos empezaran a parlotear en trasfondo que ALGOL era mejor que ambos. Por lo tanto, se estableció un comité para producir un lenguaje que cumpliera con las necesidades de todas las personas: PL/I tenia un poco de FORTRAN, un poco de COBOL yun poco de ALGOL. Fracaso debido a que carecería de una visión unificadora. Era tan solo una colección de características en guerra unas con otras, y demasiado voluminoso como para poder compilarse con eficiencia, para iniciarse.
El lenguaje C fue diseñado por Dennis y Ritchie, sabia lo que quería y lo que no. Como resultado, se sigue utilizando de manera extensa más de tres décadas después de suaparición. Tener una visión clara de lo que uno quiere es imprescindible.
Para los sistemas operativos de propósito general hay que tener en cuenta cuatro puntos principales:
a) Definir las abstracciones.
b) Proveer operaciones primitivas
c) Asegurar el aislamiento
d) Administrar el hardware

La tarea mas importante (y tal vez la más difícil) de un sistema operativo es definir lasabstracciones correctas. Algunas de ellas, como los procesos, los espacios de direcciones y los archivos, han estado presentes tanto tiempo que pueden parecer obvias. Otras, como los hilos, son más recientes y, en consecuencia, menos maduras. Otras abstracciones se relacionan con sincronización, las señales, el modelo de memoria, el modelado de E/S y muchas otras áreas.
Cada una de las abstracciones sepuede instanciar en forma de estructuras de datos concretas. Los usuarios pueden crear procesos, archivos, semáforos, etc. Las operaciones primitivas manipulan estas estructuras de datos. Por ejemplo, los usuarios pueden leer y escribir archivos. Las operaciones primitivas se implementan en forma de llamadas al sistema. Desde el punto de vista del usuario, el corazón del sistema operativo se formamediante las abstracciones y las operaciones disponibles en ellas, a través de las llamadas al sistema.
Como varios usuarios pueden tener una sesión abierta en una computadora al mismo tiempo, el sistema operativo necesita proveer mecanismos para mantenerlos separados. Un usuario no puede interferir con otro. El concepto de proceso se utiliza ampliamente para agrupar recursos para fines deprotección. Por lo general también se protegen los archivos y otras estructuras de datos. Asegurar que cada usuario pueda realizar sólo operaciones autorizadas es un objetivo clave del diseño de sistemas. Sin embargo, los usuarios también desean compartir datos y recursos, por lo que el aislamiento tiene que ser selectivo y controlado por el usuario. Esto lo hace mas difícil incluso. El programa decorreo electrónico no debe ser capaz de hacer que falle el navegador Web. Incluso cuando sólo haya un usuario, los distintos procesos necesitan estar aislados.
La necesidad de aislar las fallas está muy relacionada con este punto. Si alguna parte del sistema falla (lo mas frecuente es un proceso de usuario), no se debe permitir que falle el resto del sistema. El diseño debe asegurarse de que lasdiversas partes estén aisladas unas de otras. Las partes del sistema operativo también se deben aislar unas de otras para permitir fallas independientes.
Por último, el sistema operativo tiene que administrar el hardware. En especial tiene que cuidar todos los chips de bajo nivel, como los controladores de interrupciones y el bus. También tiene que proporcionar un marco de trabajo para permitir...
tracking img