Fundamentos y Arquitectura de Sistemas Operativos

Enviado por Juan y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 464,14 KB

Conceptos básicos de sistemas operativos

En este apartado se presentan una serie de conceptos generales sobre sistemas operativos. El objetivo es recordar nociones fundamentales que permitan abordar los distintos problemas planteados a lo largo del libro. En primer lugar, se definen las funciones del sistema operativo para, a continuación, describir sus componentes básicos, así como los diversos tipos de organización que presenta. Por último, se explica cómo se produce la activación del sistema operativo y, concretamente, cómo se lleva a cabo una llamada al sistema.

1.1.1 Funciones del sistema operativo

Un sistema operativo (SO) es un programa encargado de simplificar el manejo y la utilización de la computadora, haciéndola segura y eficiente. Sus funciones clásicas se agrupan en tres categorías:

  • Gestión de los recursos de la computadora.
  • Ejecución de servicios para los programas.
  • Ejecución de los mandatos de los usuarios.

Como gestor de recursos, el SO arbitra la asignación y uso de los mismos cuando varios programas compiten por ellos. Además, garantiza la protección entre programas y suministra información sobre el uso de los recursos.

Como máquina extendida, el SO ofrece un conjunto de servicios o llamadas al sistema. Estos servicios se clasifican en: ejecución de programas, operaciones de E/S, operaciones sobre archivos y tratamiento de errores.

Finalmente, el SO proporciona la interfaz de usuario a través del intérprete de mandatos o shell.

1.1.2 Componentes del sistema operativo

Se suele considerar que un sistema operativo está formado por tres capas: el núcleo, los servicios y el intérprete de mandatos (shell).

El núcleo interacciona directamente con el hardware, gestionando el procesador, las interrupciones y la memoria.

Figura 1.1. Componentes del sistema operativo.

Los servicios se agrupan según su funcionalidad:

  • Gestión de procesos: Creación, planificación y destrucción de procesos.
  • Gestión de memoria: Asignación y liberación de memoria.
  • Gestión de E/S: Facilita el manejo de periféricos.
  • Gestión de archivos y directorios: Mecanismos de comunicación y sincronización.
  • Seguridad y protección: Garantiza la identidad y permisos de los usuarios.

1.1.3 Estructura del sistema operativo

  • Sistemas monolíticos: Todos los componentes se integran en un único programa que ejecuta en un mismo espacio de direcciones y en modo núcleo.
  • Sistemas por capas: Organización jerárquica donde cada capa ofrece una interfaz a la superior y utiliza los servicios de la inferior, favoreciendo la modularidad.
  • Modelo Cliente-Servidor: Implementa la mayoría de funciones en modo usuario (servidores) y solo lo esencial en modo núcleo (micronúcleo), ofreciendo gran flexibilidad.

1.1.4 Activación del sistema operativo

El SO es un servidor a la espera de trabajo, que proviene de:

  • Llamadas al sistema emitidas por programas.
  • Interrupciones de periféricos.
  • Condiciones de excepción o error de hardware.

Cuando un proceso solicita un servicio, utiliza una instrucción TRAP. En lenguajes de alto nivel, esto se realiza mediante llamadas a funciones de biblioteca que preparan los parámetros, ejecutan el TRAP y recogen la respuesta.

Figura 1.2. Pasos de la llamada al sistema operativo.

1.2 Ejercicios resueltos

Ejercicio 1.1

¿Cuáles son las principales funciones de un sistema operativo?

Solución: Gestión de recursos hardware (administración de procesos y seguridad), ejecución de servicios para programas (llamadas al sistema) y ejecución de mandatos de usuario (a través de shells).

Ejercicio 1.2

¿Qué diferencia existe entre un mandato y una llamada al sistema?

Solución: La llamada al sistema es la interfaz de programación (servicio directo del SO), mientras que el mandato es un programa de usuario que utiliza dichas llamadas para ofrecer servicios de alto nivel.

Ejercicio 1.3

¿Qué tipo de diseño tiene el sistema operativo LINUX?

Solución: Es un sistema monolítico, ya que todo su núcleo se ejecuta como un único proceso y permite el acceso a cualquier parte mediante llamadas a funciones.

Figura 1.4. Estructura de un sistema operativo monolítico.

Ejercicio 1.5

¿Qué técnica hardware tiene mayor influencia en la construcción de un SO?

Solución: El DMA (Acceso Directo a Memoria), ya que permite transferencias de datos sin intervención constante de la CPU, facilitando la multiprogramación.

Ejercicio 1.7

¿El intérprete de mandatos de UNIX es interno o externo?

Solución: Es externo (shell). Algunos mandatos son internos por necesidad funcional, pero la mayoría son programas independientes.

Figura 1.5. API del sistema operativo e intérprete de mandatos.

Ejercicio 1.12

¿Cómo se solicita una llamada al SO?

Solución: Mediante un mecanismo de interrupciones usando la instrucción TRAP.

Figura 1.6. Realización de una llamada al sistema.

Ejercicio 1.25

¿Qué ventajas tiene escribir un SO utilizando un lenguaje de alto nivel?

Solución: Principalmente la portabilidad, además de una mayor facilidad en el desarrollo, mantenimiento y depuración del código fuente"

Entradas relacionadas:

Etiquetas:
operaciones con vectores ejercicios resueltos ejecucion de los mandatos de los usuarios ¿Cuál de las siguientes combinaciones No es factible? definir los términos visión externa (servicios) e interna (diseño) de un sistema operativo. ¿cuál de las dos determina mejor a un sistema operativo concreto?. ¿por qué?. UN SISTEMA OPERATIVO SE PUEDE MODIFICAR PARA QUE OCUPE MENOS ESPACIO DE MEMORIA Y RECURSOS? El núcleo es la parte del sistema operativo que interacciona directamente con el hardware de la máquina ¿Cuál de las siguientes técnicas hardware tiene mayor influencia en la construcción de un sistema operativo? a) Microprogramación del procesador. b) Cache de la memoria principal. c) DMA d) RISC respuestas examenes it essentials 4.0 hardware y software español ¿Cómo se llaman los programas que están compuestos de otros programas? Quitar Saltos de Linea MS-DOS Qué es FALSO acerca de una llamada al sistema respuestas del modulo conceptos basicos de los sistemas operativos it esential shell de linux ventajas y desventajas de LA multiprogramacion ¿es factible un spolling en un sistema operativo monolitico ¿a que sistemas operativo corresponde cada una de las siguientes tareas? gestion de los recursos de un sistema operativo ¿cuál de los siguientes mecanismos hardware no es un requisito para construir un sistema operativo multiprogramado con protección entre usuarios? razone su respuesta. tipos de sistemas operativos y su funcion Qué es falso acerca de LINUX a. Es un sistema operativo de tiempo real. b. Es un sistema operativo de tiempo compartido. c. Es un sistema operativo con multiprogramación. d. Es un sistema operativo interactivo • Un sistema operativo es un programa que se encarga de simplificar el manejo y la utilización de la computadora, haciéndola segura y eficiente. representa una función que tenga dos tipos de discontinuidades diferentes en un mismo valor de x SISTEMA OPERATIVO ESTRUCTURADO uál de las siguientes combinaciones no es factible?. a. spooling en un sistema monousuario. b. procesamiento por lotes con multiprogramación. c. tiempo compartido sin multiprogramación. d. multiprogramación en un sistema monousuario qué es mejor para un sistema con varias terminales?. a. un sistema operativo por lotes sin spooling. b. un sistema operativo por lotes con spooling. c. un sistema de tiempo real. d. un sistema multiusuario. cuales instrucciones de la siguiente lista deben ejecutarse exclusivamente en modo nucleo (kernel) spooling en un sistema monousuario ¿Qué tipo de diseño tiene el sistema operativo Linux? it essentials 4.0 examenes español sistema operativo monolitico