Sistemas operativos modernos
momento de algunos microprocesadores viejos o baratos que no tienen protección por hard ware). Los compiladores y editores se ejecutan en modo de usuario. Si a un usuario no le gus ta un compilador dado, puede escribir uno propio si lo desea; en cambio, no está en libertad de escribir su propio manejador de interrupciones de reloj, que forma parte del sistema opera- tivo y, por lo general, está protegido por el hardware contra cualquier intento de modificación que hagan los usuarios. Esta distinción, empero, no es nítida en algunos sistemas integrados (que podrían carecer de un modo de kernel) o sistemas interpretados (como los sistemas operativos basados en Ja va que usan interpretación, no hardware, para separar los componentes). No obstante, en las computadoras tradicionales, el sistema operativo es lo que se ejecuta en modo de kernel. Dicho esto, en muchos sistemas hay programas que se ejecutan en modo de usuario pero ayudan al sistema operativo o desempeñan funciones privilegiadas. Por ejemplo, es común te ner un programa que permite a los usuarios cambiar su contraseña (clave de acceso). Este pro grama no forma parte del sistema operativo y no se ejecuta en modo de kernel, pero es evidente que tiene una función delicada y se le debe dar una protección especial. En algunos sistemas esta idea se lleva hasta el extremo y partes de lo que por tradición se considera como sistema operativo (el sistema de archivos, por ejemplo) se ejecutan en el es pacio de usuario. En tales sistemas es difícil trazar una frontera nítida. Es evidente que todo lo que se ejecuta en modo de kernel forma parte del sistema operativo, pero podria argumentar se que algunos programas que no se ejecutan en ese modo también forman parte de él, o al me nos están íntimamente asociados con él. Por último, arriba de los programas del sistema están los programas de aplicación. Los usuarios compran o escriben estos programas para resolver sus problemas particulares, como procesamiento de texto, hojas de cálculo, cálculos de ingeniería o almacenamiento de infor mación en una base de datos. 1.1 ¿QUÉ ES UN SISTEMA OPERATIVO? Casi todos los usuarios de computadoras han tenido alguna experiencia con un sistema opera tivo, pero es difícil precisar con exactitud qué es un sistema operativo. Parte del problema con siste en que los sistemas operativos desempeñan básicamente dos funciones independientes: extender la máquina y administrar recursos; y, dependiendo de a quién se le pregunte, se habla sobre todo de una de dichas funciones o de la otra. Vamos a examinar ambas. 1.1.1 El sistema operativo como máquina extendida Como ya dijimos, en el nivel de lenguaje de máquina, la arquitectura (conjunto de instruc ciones, organización de memoria, E/S y estructura de bus) de la mayoría de las computadoras es primitiva y latosa de programar, sobre todo en cuanto a entrada/salida. A fin de concre tar este punto, veamos en forma breve cómo se efectúa la E/S de disquete empleando las con troladoras compatibles con NEC PD765 que se utilizan en la mayoría de las computadoras
RkJQdWJsaXNoZXIy MjI4NDcx