5. La capa de servicios (o llamadas al sistema ) ofrece a los programas servicios en forma de interfaz de programación (API). Esta capa extiende la funcionalidad ofrecida por el kernel. Se suele decir que el SO ofrece a los programas una máquina virtual extendida (con funcionalidad añadida). La capa de intérprete de comandos o shell suministra una interfaz a través de la que el usuario puede interactuar con la máquina. La shell recibe comandos u órdenes de los usuarios, los interpreta y si puede los ejecuta. La shell suele ejecutarse en nivel de usuario. A continuación se analizan las diversas facetas de la funcionalidad de los SSOO. Definición de SO
6.
7.
8.
9.
10.
11.
12. Arranque del Equipo En el arranque de un equipo se pueden distinguir dos fases:arranque hardware y arranque del SO. a) Arranque hardware . Al ser la MP volátil, al encender el equipo la MP está vacía. Al no disponer de programa que ejecutar, el ordenador no es capaz de realizar ninguna tarea. Actualmente, los equipos suelen disponer de un programa especial permanentemente grabado en una memoria ROM (no volátil).
13.
14.
15. Programa cargador (identificador) Disco Sistema Operativo Como se indicó con anterioridad, el iniciador ROM trae a MP el cargador del SO. El programa iniciador y el SO tienen un convenio sobre la ubicación, dirección de arranque y tamaño del cargador del SO. De esta forma el iniciador ROM es independiente del SO en tanto en cuanto siga este convenio. Para mayor seguridad el programa cargador del SO incluye en una posición prefijada una contraseña. Así el iniciador puede comprobar si la información en el sector es en realidad un cargador. Arranque del Equipo
16.
17.
18.
19. Núcleo POSIX Programas de usuario Usuarios Sistema operativo Varias API Hardware Win 32 Shell 1 Shell 2 Gestión de procesos Gestión de memoria Gestión de la E/S Comunic. y sincroniz. Seguridad y protección Gestión de archivos y directorios Componentes y estructura del SO
20. Todos estos componentes ofrecen su funcionalidad a través de un conjunto de llamadas al sistema. Como se aprecia en la figura de la transparencia anterior los SSOO operativos pueden ofrecer más de una interfaz de servicios: POSIX y WIN32, por ejemplo. En este caso los programas podrán elegir qué interfaz quieren ejecutar, pero no podrán usar servicios de ambas de forma simultánea. Debido a esta ocultación de las características hardware de la máquina a través de interfaces de programación se dice que el SO presenta al usuario varias máquinas virtuales. También puede ofrecer varios intérpretes de mandatos, unos textuales y otros en modo gráfico. Respecto a la forma en que se estructuran estos elementos, se puede distinguir entre SSOO monolíticos y estructurados. Componentes y estructura del SO
21. Los SSOO monolíticos son aquellos que carecen de estructura clara y definida. Todos sus componentes se encuentran integrados en un único programa, que se ejecuta en un único espacio de direcciones. En este caso todas las funciones se ejecutan en modo núcleo. Suelen surgir de SSOO de pequeño tamaño, que evolucionan al añadir más y más funcionalidad. Ejemplos: MS-DOS y UNIX. Problemas : dificultad para modificarlos para añadir nuevos servicios, ya que ello supone “bucear” entre miles de líneas de código. Dentro de los sistemas estructurados cabe distinguir entre los sistemas por capas y sistemas cliente/servidor. En los sistemas por capas el SO está formado por un conjunto de capas interrelacionadas. Cada capa ofrece una interfaz clara y bien definida a la capa superior y sólo usa los servicios de la capa inferior. Componentes y estructura del SO
22. La principal ventaja radica en la modularidad y ocultación de la información que ofrecen: una capa no necesita saber cómo es la implementación de las capas inferiores, sólo su interfaz . En el modelo cliente/servidor se implementan la mayoría de los servicios mediante procesos de usuario, dejando sólo una pequeña parte del SO ejecutando en modo núcleo ( micronúcleo ). Micronúcleo Procesos cliente Procesos servidores API API Hardware Servidor de procesos Servidor de memoria Servidor de la E/S Servidor de Comunicac. Servidor de Seguridad Modo núcleo Modo usuario Servidor de archivos y directorios Componentes y estructura del SO
23. No hay definición clara de las funciones propias del micronúcleo y depende de un SO a otro. Suelen ser: gestión de interrupciones, gestión básica de procesos y de memoria, servicios básicos de comunicación entre procesos. Para solicitar un servicio a este tipo de sistemas, el proceso de usuario (cliente) solicita el servicio al servidor correspondiente. Puede que para cumplir la petición el servidor requiera, a su vez, los servicios ofrecidos por otros servidores. Ventaja básica: flexibilidad. Cada servidor sólo se ocupa de una funcionalidad concreta, lo que facilita la modularidad (por ejemplo, el desarrollo de pruebas, el mantenimiento, etc). Desventajas: mayor sobrecarga en el tratamiento de los servicios, ya que los servidores ejecutan en espacios de direcciones distintos, por lo que su activación es más lenta. Componentes y estructura del SO
Una API (del inglés Application Programming Interface - Interfaz de Programación de Aplicaciones ) es un conjunto de especificaciones de comunicación entre componentes software . Se trata del conjunto de llamadas al sistema que ofrecen acceso a los servicios del sistema desde los procesos y representa un método para conseguir abstracción en la programación , generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del software