Capas de un Sistema Operativo

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

¿Cuál de las siguientes opciones describe mejor la función del 'Booter' en el proceso de carga de un sistema operativo?

  • Es una rutina del BIOS que realiza un autodiagnóstico del hardware al encender el equipo.
  • Es la tabla de particiones que indica al sistema operativo cuál es la partición activa del disco duro.
  • Es el cargador inicial de programas (IPL) que reside en la ROM y se encarga de cargar el Kernel.
  • Es una rutina que no pertenece al BIOS, sino que es el cargador del sistema operativo, y se carga en la RAM para iniciar el Kernel y el Shell. (correct)

¿Qué rol desempeña el 'Administrador de Pedidos' (Job Scheduler) dentro de un sistema operativo?

  • Planifica y prioriza los trabajos a ser ejecutados, asignándoles el estado de 'listo para la ejecución'. (correct)
  • Controla directamente los dispositivos periféricos, como impresoras y discos duros.
  • Gestiona la asignación de memoria física a los procesos en ejecución.
  • Administra la seguridad del sistema, controlando el acceso a los archivos y directorios.

¿Cuál es la diferencia fundamental entre la inicialización total (cold start) y la inicialización parcial (warm start) de un sistema operativo?

  • La inicialización total solo se utiliza en sistemas operativos de tiempo real, mientras que la inicialización parcial se utiliza en sistemas multiusuario.
  • La inicialización total se realiza desde la ROM, mientras que la inicialización parcial se realiza desde el disco duro.
  • La inicialización total carga el Kernel en la memoria RAM, mientras que la inicialización parcial solo carga los drivers de los dispositivos.
  • La inicialización total implica la verificación y creación de las tablas de recursos, mientras que la inicialización parcial omite este paso. (correct)

Dentro de la arquitectura de un sistema operativo, ¿qué componente actúa como intermediario entre el usuario y el hardware?

<p>La Shell. (D)</p> Signup and view all the answers

¿Cuál de las siguientes NO es una función principal del administrador de recursos en un sistema operativo?

<p>Presentar una interfaz gráfica al usuario. (B)</p> Signup and view all the answers

¿Qué implicación tiene que un sistema operativo sea 'portable'?

<p>Puede ejecutarse en diferentes arquitecturas de hardware con mínimas modificaciones. (A)</p> Signup and view all the answers

En la arquitectura de 'estratos' o jerárquica, ¿qué característica principal define la interacción entre los diferentes niveles?

<p>Los niveles superiores implementan servicios que son provistos por los niveles inferiores. (B)</p> Signup and view all the answers

¿Cuál de las siguientes describe mejor el concepto de 'máquina extendida' en un sistema operativo?

<p>Es un módulo del SO (Shell) que actúa como medio de comunicación entre el usuario y el hardware, haciéndolo más fácil de usar. (B)</p> Signup and view all the answers

¿Qué función realiza el POST (Power-On Self-Test) durante el proceso de carga del sistema operativo?

<p>Realiza un autodiagnóstico del hardware para verificar su correcto funcionamiento. (B)</p> Signup and view all the answers

En un sistema operativo con 'anillos concéntricos' (Rings), ¿qué característica define el acceso a los servicios de los niveles inferiores?

<p>Los niveles superiores acceden a los niveles inferiores a través de una apertura (trap) específica. (C)</p> Signup and view all the answers

¿Qué ventaja principal ofrecen los Sistemas Operativos modulares en comparación con los monolíticos?

<p>Facilitan la sustitución y verificación de componentes, y el ocultamiento de la información. (C)</p> Signup and view all the answers

¿Cuál es la principal función del 'Kernel' en la estructura cliente/servidor de un sistema operativo?

<p>Actuar como intermediario para el intercambio de mensajes entre clientes y servidores, y gestionar la multiprogramación. (B)</p> Signup and view all the answers

En el contexto de sistemas operativos, ¿qué implica el concepto de 'enlace' (binding)?

<p>La asociación de un objeto a los espacios físicos que puede direccionar un procesador sin ambigüedad. (C)</p> Signup and view all the answers

¿Qué tipo de recurso es la CPU según su naturaleza?

<p>Físico (C)</p> Signup and view all the answers

En el proceso de cooperación entre procesos, ¿qué problema surge cuando compiten por el uso de los recursos?

<p>Conflictos en el acceso a recursos escasos. (B)</p> Signup and view all the answers

¿Cuál es el objetivo principal de la 'protección' en un sistema operativo?

<p>Garantizar la integridad de los recursos y de los procesos. (A)</p> Signup and view all the answers

En el contexto de la inicialización del sistema, ¿a qué se refiere el término 'bootstrapping'?

<p>Al proceso de iniciar el sistema operativo desde un estado inactivo. (A)</p> Signup and view all the answers

¿Cuál de las siguientes NO es una característica de la estructura monolítica de un sistema operativo?

<p>Existe modularización y ocultamiento de la información. (B)</p> Signup and view all the answers

¿Cuál es la principal ventaja de usar máquinas virtuales?

<p>Permite ejecutar diferentes sistemas operativos en el mismo hardware. (A)</p> Signup and view all the answers

¿A qué se refiere el término 'Multi programación'?

<p>Capacidad de mantener múltiples procesos en memoria principal y ejecutarlos concurrentemente. (D)</p> Signup and view all the answers

Flashcards

¿Qué es un Sistema Operativo (SO)?

Conjunto de programas y rutinas que controlan las operaciones de la computadora con mínima intervención humana.

¿Cómo se organizan los componentes del SO?

Estructura en capas o niveles para definir claramente las interconexiones entre los componentes.

¿Qué es el Kernel o Núcleo?

También llamado Residente, Monitor o Supervisor, es un programa principal que reside en memoria y controla los recursos físicos y lógicos.

¿Qué es el Primer Nivel del SO?

Administra los pedidos y engloba programas y rutinas en un solo módulo.

Signup and view all the flashcards

¿Qué hace el Job Scheduler?

También llamado Planificador de Trabajos, es responsable de cargar programas, crear procesos, administrar accesos y establecer protecciones.

Signup and view all the flashcards

¿Qué hace el Controlador de Tráfico?

Se encarga de crear, modificar y actualizar el contexto asociado a un proceso, como la asignación de memoria y recursos.

Signup and view all the flashcards

¿Cuáles son los objetivos de un SO?

Tareas básicas que deben realizar los SO: Inicialización, Máquina extendida y Administración de recursos.

Signup and view all the flashcards

¿Qué es la Inicialización?

Proceso de preparar la máquina para ejecutar el primer trabajo, realizado por el Kernel.

Signup and view all the flashcards

¿Qué es la Inicialización Total (cold start)?

Proceso de inicialización que se ejecuta al encender la máquina.

Signup and view all the flashcards

¿Qué son las rutinas del BIOS?

Rutinas grabadas en la memoria ROM que se ejecutan al encender el ordenador.

Signup and view all the flashcards

¿Qué es la 'Máquina Extendida' o Shell?

Módulo del SO que actúa como medio de comunicación entre el usuario y el hardware.

Signup and view all the flashcards

¿Qué es CLI (Command Line Interface)?

Interfase basada en comandos u órdenes.

Signup and view all the flashcards

¿Qué es GUI (Graphical User Interface)?

Interfase que permite accesos a través de iconos o gráficos.

Signup and view all the flashcards

¿Cuáles son los objetivos del Administrador de Recursos?

Facilitar compartir y proteger recursos, optimizando su utilización.

Signup and view all the flashcards

¿Qué es el Enlace (Binding)?

Asocia el objeto a los espacios físicos que puede direccionar un Procesador.

Signup and view all the flashcards

¿Qué es la Asignación de Descriptores?

Permite retrasar la elección de un recurso.

Signup and view all the flashcards

¿Cuál es el objetivo de la Protección en un SO?

Garantizar la integridad de los recursos y de los procesos.

Signup and view all the flashcards

¿Qué es una estructura monolítica?

SO con interfaces y niveles de funcionalidad poco separados, sin estructura interna definida.

Signup and view all the flashcards

¿Qué es una estructura en estratos?

El SO se divide en capas o niveles, donde cada capa usa los servicios del nivel inferior.

Signup and view all the flashcards

¿Qué es la estructura Cliente/Servidor?

Kernel mínimo y funciones implementadas como programas de usuario mediante message passing.

Signup and view all the flashcards

Study Notes

Capas de un Sistema Operativo

  • Un sistema operativo (SO) consta de programas y rutinas para controlar la computadora con mínima intervención humana.
  • Los componentes del SO se organizan en capas para definir sus interconexiones.
  • El SO contiene rutinas residentes en memoria, conocidas como Kernel o Núcleo, que se cargan al encender la máquina mediante Bootstrapping o IPL.
  • El resto de los componentes se ubican en el disco del sistema.
  • El núcleo es también llamado Residente, Monitor, Supervisor o Kernel, siendo uno de los programas centrales del SO.
  • Normalmente, está compuesto por módulos o rutinas que gestionan los recursos físicos y lógicos de la computadora, como procesadores, memoria, datos y periféricos.
  • Los compiladores, cargadores, debuggers y otros utilitarios no suelen ser considerados parte del SO.
  • Los sistemas de administración de bases de datos y el software de control de comunicaciones tampoco se incluyen generalmente.
  • El sistema de acceso de comunicaciones y los programas de servicios son estrechamente dependientes del SO y sus interfaces.
  • El SO generalmente se divide en dos niveles de administradores.

Primer Nivel: Administrador de Pedidos

  • Este nivel engloba los programas y rutinas responsables de la administración de los pedidos.
  • El módulo Job Scheduler es responsable de cargar programas, crear procesos, administrar accesos de usuarios y establecer protecciones.
  • Este módulo asigna el estado de "listo para la ejecución" a los trabajos.
  • En algunos sistemas, se complementa con un lenguaje (Job Control Language) que permite programar las actividades de la computadora.

Segundo Nivel: Administrador de Recursos

  • Se integra por cuatro o cinco módulos, dependiendo de los recursos a administrar.
  • La Administración del Procesador consta de dos módulos.
  • El Planificador de Procesadores y Procesos (Dispatcher) decide a qué procesador asignar cada proceso y le otorga el uso del procesador.
  • El Controlador de Tráfico (Traffic Controller) crea, modifica y actualiza el contexto de un proceso para permitir su cambio entre diferentes estados.
  • La Administración de Memoria asigna la memoria necesaria para la ejecución de los procesos.
  • La Administración de Periféricos incluye todos los módulos para la utilización de periféricos como la asignación de dispositivos, spooler y controladores.
  • La Administración de Información (File System) se relaciona con las rutinas que permiten manipular el sistema de archivos, permitiendo acceder, crear, destruir, copiar y renombrar archivos.
  • La Administración de Comunicaciones (Communication Manager) se encarga de compartir los recursos distribuidos mediante una red de computadoras.

Funciones de los Administradores de Recursos

  • Mantener un registro actualizado del estado y uso de los recursos.
  • Cumplir con las demandas según la política implementada, decidiendo quién, cómo, cuándo y por cuánto tiempo se asigna un recurso.
  • Asignar los recursos solicitados.
  • Recuperar el recurso después de su utilización.

Tercer Nivel

  • Presente en equipos grandes y medianos multiprogramados.
  • Se encarga de las transacciones del Kernel, el Sistema de Acceso de Comunicaciones y el Sistema de Multiprocesamiento.

Requerimientos de un SO

  • Simple
  • Portable
  • Estructurado (modular)
  • Confiable
  • Soporte de múltiples usuarios o procesos

Funciones de un Sistema Operativo

  • Los objetivos centrales son la inicialización, la extensión de la máquina (interfaz) y la administración de recursos.

Inicialización

  • El Kernel realiza esta tarea usando rutinas residentes en la memoria ROM o RAM y otras residentes en el disco duro.
  • Su objetivo es preparar la máquina para ejecutar el primer trabajo.

Tipos de Inicialización

  • Inicialización Total (cold start):
    • Proceso conocido como Bootstrapping o Initial Program Loader (IPL).
    • Se ejecuta al encender la máquina.
    • Se carga el resto del SO desde el disco a la memoria RAM, completando el IPL.
    • La máquina queda lista para ejecutar la primera tarea bajo el control del SO.
    • Alrededor del 1% de las tareas del sistema se dedican a la inicialización.
  • Pasos del Proceso:
    • Verificación de recursos
      • Crea las tablas de recursos disponibles para su administración.
    • IPL (Initial Program Loader o Booteo).
      • Se carga el resto del SO desde el disco a la RAM.
      • Presenta un símbolo (Prompt) y espera comandos por teclado o mouse.

Inicialización Parcial (Warm Start)

  • No se crean ni inicializan las tablas de recursos.
  • La recuperación depende del evento que causó la interrupción y del trabajo a reiniciar.
  • Los eventos pueden ser errores de hardware, violaciones de seguridad, fallos eléctricos o finalización del tiempo de uso de la CPU.
  • Este proceso es importante en sistemas de tiempo real, multiusuario y tolerantes a fallos.

Proceso de Carga del SO en una PC

  • Cuando se enciende el ordenador, se ejecutan rutinas del BIOS almacenadas en la memoria ROM, EPROM o EEPROM.
  • Estas rutinas, denominadas firmware, no necesitan de un sistema operativo para funcionar (stand alone).
  • Una de las rutinas del BIOS, POST (Power On Self Test) efectúa un autodiagnóstico al encender.
  • La rutina SetUp (Configurador) mantiene y actualiza en la CMOS la tabla de configuración .
  • Si el POST no encuentra problemas, se ejecuta la rutina IPL (Initial Program Loader).
  • El IPL busca en el MBR (Master Boot Record) la Tabla de Particiones para encontrar la partición activa.
  • Con estos datos, el IPL encuentra el Booter, una rutina que no pertenece al BIOS pero sí al sistema operativo.

Características del Booter

  • Es software, no firmware
  • Es Stand alone
  • Cada SO tiene un Booter propio
  • El Booter carga en la RAM una copia de los archivos que conforman el Kernel y el Shell.
  • Una vez que el sistema operativo básico entra en funcionamiento, toma el control del sistema.
  • El proceso de carga se llama BOOTING.
  • SYSTEM DISK o BOOT DISK es el disco que contiene el sistema operativo.

Máquina Extendida o Interfase Hombre-Máquina

  • El módulo Shell o Intérprete de Comandos facilita la comunicación entre el usuario y el hardware.
  • Este módulo transforma la computadora en un entorno más accesible para el usuario.
  • Dedica entre el 7% y el 9% de las tareas del sistema.

Funciones Principales de la Máquina Extendida

  • Separa la complejidad del hardware del usuario.
  • Actúa como interfaz de entrada/salida y controla los dispositivos de E/S.
  • Permite la comunicación con el usuario a través de Shell, JCL, iconos o intérpretes de comandos.
  • Acepta entradas de nuevos trabajos.
  • La Shell es la parte del SO que interactúa directamente con el usuario.
  • Las interfaces con la máquina dependen del hardware, y las instrucciones del SO (System Calls) se realizan mediante primitivas.

Visiones del SO por parte de Shell

  • Usuario Común (User):
    • El SO provee una visión global y abstracta del computador, ocultando su complejidad interna.
    • Protege el uso de los recursos entre los usuarios y el sistema.
    • Implementa un conjunto de comandos para tareas como copiar o ejecutar archivos.
    • La interacción se realiza a través de la Shell, y en algunos sistemas se utiliza un Administrador de Trabajos o Job Scheduler.
  • Administrador del Sistema de Cómputo (System Manager o Super-User):
    • El SO administra los recursos ofrecidos por el hardware (procesadores, memoria, E/S, información y comunicaciones) para un rendimiento eficaz.
    • El System Manager configura el SO para que el sistema funcione eficientemente y los usuarios puedan compartir los recursos de forma segura.

Tipos de Shell

  • CLI (Command Line Interface):
    • Interfaz basada en comandos.
    • Ejemplo: Shell del D.O.S.
  • GUI (Graphical User Interface):
    • Interfaz con iconos o gráficos.
    • Ejemplo: Escritorio de Windows.

Administrador de Recursos

  • El SO dedica más del 90% de sus tareas a esta función.
  • Objetivos:
    • Facilita compartir y proteger recursos entre usuarios.
    • Optimiza el uso de los recursos disponibles.

Implementación del SO

  • Implementa una política al asignar prioridades de uso.
  • Implementa una estrategia para ordenar los accesos y resolver conflictos.
  • Ejerce como autoridad al recuperar los recursos y ordenar su uso.
  • Provee protección al brindar seguridad entre usuarios y preservar la integridad de los recursos.
  • Mantiene una contabilidad del uso y disponibilidad de los recursos.
  • Ofrece facilidades para crear, manipular y eliminar objetos, gestionar la información, ejecutar trabajos y compartir recursos entre usuarios.

Características Comunes de los SO

  • Gestión y reparto del conjunto de recursos:
    • El término recurso incluye tiempo de CPU, E/S, reloj, memoria central, datos, variables y archivos.
  • Clasificación de los recursos según su naturaleza:
    • Físicos: CPU, memoria.
    • Lógicos: tiempos, variables.
  • Clasificación de los recursos según su uso:
    • No Compartibles: Uso exclusivo a un proceso (impresora).
    • Compartibles: Uso concurrente por varios procesos (CPU, archivos).
  • Objetivos de las políticas de asignación de recursos:
    • Mejor uso del hardware.
    • Satisfacer a los usuarios (optimizar tiempo de respuesta)

Gestión de la Información

  • Objetivos:
    • Enlace (Binding):
      • Asocia un objeto a los espacios físicos direccionables por un procesador.
    • Asignación de Descriptores (Delay Binding Time):
      • Permite aplazar la elección de un recurso.
    • Manejo de Direcciones (Virtuales o Reales):
      • Traslación estática o dinámica (segmentación).

Cooperación entre los Procesos

  • Los procesos interactúan generando conflictos por:
    • Competencia por el uso de recursos.
    • Cooperación para ejecutar las tareas de un usuario.
    • Compartir de objetos.
    • Comunicación.
  • Solución: Herramientas de sincronización y comunicaciones provistas por el SO.

Protección

  • Objetivo: Garantizar la integridad de recursos y procesos.
  • Mecanismos:
    • Ejecución dual de instrucciones (maestro-esclavo).
    • Mutua exclusión (asegurar acceso controlado a recursos compartidos).

Arquitectura (Estructura) de un SO

  • Se refiere a la forma en que se organizan los módulos en estratos o niveles.
  • Básicamente, los SO tienen dos interfaces:
    • Una con el hardware (Kernel o Núcleo).
    • La otra con los usuarios y sus programas (Shell).

Estructura Tradicional o Monolítica

  • Los primeros SO, formados por un único programa compuesto por rutinas entrelazadas.

Características de la Estructura Monolítica

  • Interfaces y niveles de funcionalidad no separados.
  • Aplicaciones pueden acceder directamente a rutinas básicas de E/S.
  • El SO es un conjunto de rutinas que se llaman libremente.
  • Carece de modularización u ocultamiento de la información.
  • Difícil de reconfigurar y actualizar.
  • Carece de protecciones y privilegios.
  • Servicios del sistema a través de llamadas especiales (supervisor call o system call).
  • El Kernel proporciona la planificación de la CPU y funciones del SO.
  • Ejemplos: MS-DOS, Primeras versiones de UNIX.

Estructura en Estratos o Jerárquica

  • Se organizan los módulos en una jerarquía de niveles.
  • El módulo de nivel N utiliza los servicios del nivel N-1.
  • Cada módulo solo conoce la interfaz del nivel inferior, no su implementación.
  • El SO mantiene un mayor control sobre las computadoras y aplicaciones.
  • Se utiliza un enfoque descendente para determinar funciones y características globales y dividirlas en los componentes.
  • Se divide el sistema en módulos o capas, construyendo cada capa sobre las inferiores.

Ventajas de la Estructura Jerárquica

  • Facilita la protección asegurando que cada rutina puede ser invocada.
  • Permite implementar el principio de ocultación de la información.
  • Facilita la sustitución y verificación de los componentes (modularización).

Desventajas de la Estructura Jerárquica

  • Dificultad para definir niveles.
  • Posibles entorpecimientos en las comunicaciones.
  • Mayor lentitud.
  • Ejemplos: OS/2 descendiente directo del MS-DOS

Anillos Concéntricos (Rings)

  • Forma jerárquica similar a la anterior.
  • Cada ring tiene una apertura (trap) para acceder a las capas inferiores.
  • Las capas internas son más privilegiadas que las externas (protegidas).
  • La solución actual es diseñar menos capas pero con mayor funcionalidad y evitar la dificultad de interacción de las capas.

Estructura Cliente / Servidor

  • El Kernel y los Procesos presentan grandes diferencias en la forma de distribuir los trabajos.
  • Se intenta remover la mayor cantidad posible de código del SO dejando un Kernel mínimo.
  • Las funciones del SO son implementadas como programas de usuario.
  • Los servicios se implementan mediante la técnica de message passing.
  • El Proceso Cliente envía un mensaje solicitando un servicio
  • El Kernel recibe el mensaje, toma decisiones de planificación y lo envía al Proceso Servidor
  • El Proceso Servidor recibe el mensaje y ejecuta la función solicitada
  • El Proceso Servidor devuelve un mensaje al Kernel con el resultado de la operación
  • El Kernel recibe el mensaje de respuesta y lo envía al Proceso Cliente indicando que el servicio se ha cumplido.
  • El Kernel realiza tratamiento de interrupciones, multiprogramación y la sincronización de mensajes.

Ventajas de la Estructura Cliente / Servidor

  • El sistema es altamente modular con componentes más pequeños y manejables.
  • Los módulos no tienen acceso directo al hardware; un error en un servidor no afecta a todo el sistema.
  • Son especialmente útiles en ambientes distribuidos.

Desventajas de la Estructura Cliente / Servidor

  • Algunos módulos del SO no pueden implementarse como procesos de usuario.
  • Ejemplos: QNX (diseñado en Canadá), Mach
    • Drivers de Dispositivos
    • Algunas partes del Administrador de Memoria (Memory Manager)

Máquinas Virtuales

Características de Máquinas Virtuales

  • Se basa en los principios de las estructuras en estratos.
  • En lugar de una visión simplificada del hardware, el SO crea máquinas virtuales, copias idénticas al hardware base.
  • Cada máquina virtual tiene todas las características de la CPU real (memoria, interrupciones, puertos de E/S, etc.)
  • A cada proceso se le otorga una copia virtual de la computadora.
  • En cada máquina virtual se puede ejecutar cualquier SO que funcione en el hardware real.
  • El núcleo se denomina monitor virtual y realiza la multiprogramación para presentar las máquinas virtuales.
  • Separa la multiprogramación y la máquina extendida.
  • Objetivo: Integrar distintos SO dando la sensación de ser varias máquinas diferentes.

Ventajas de Máquinas Virtuales

  • Cada usuario del sistema puede usar un SO distinto.
  • Ofrece un alto nivel de protección: Todas las máquinas virtuales son independientes.
  • Útiles para el diseño y desarrollo de Sistemas Operativos.

Desventajas de Máquinas Virtuales

  • Difícil Implementación: Se necesita un duplicado exacto del hardware subyacente.
  • La simulación del hardware real es costosa.
  • Las máquinas virtuales son más lentas.
  • La CPU se multiprograma entre varias máquinas virtuales, lo que las hace más lentas.
  • Ejemplo: El SO V.M. de IBM

Conclusiones

  • Ningún tipo de SO es mejor que otro; cada uno tiene un servicio especial.
  • Para cubrir los distintos trabajos en un centro de cómputos se debería requerir distintos Sistemas Operativos, o uno solo que ofrezca una amplia gama de servicios.
  • Los SO de propósitos generales son habitualmente más complejos y extensos que los especializados.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Importance of Operating Systems Quiz
10 questions
Operating Systems Concept - MCS 301
16 questions
Computing Systems and Layers
24 questions
Use Quizgecko on...
Browser
Browser