Quiz 2 - The Operating System as an Extended Machine
El sistema operativo como máquina extendida: abstracciones, controladores, archivos y la interfaz entre hardware y programas.
Teoría
Un sistema operativo es el software que corre en modo kernel y proporciona abstracciones limpias a los programas de aplicación, además de gestionar los recursos de hardware. Sus dos funciones esenciales son: ofrecer un conjunto abstracto de recursos que simplifiquen la programación, y gestionar de manera eficiente los recursos físicos de la computadora.
La arquitectura de bajo nivel de una computadora es difícil de programar porque es primitiva y complicada, especialmente para operaciones de entrada/salida (I/O). Para facilitar esta interacción, el sistema operativo introduce controladores (disk drivers) que abstraen el hardware y permiten operaciones como leer y escribir bloques sin conocer los detalles físicos.
Sobre esta capa, el sistema operativo provee abstracciones aún más útiles, como el concepto de archivo. Los programas pueden trabajar con fotos, documentos o canciones sin saber nada sobre el tipo de disco o el protocolo utilizado. Esta capacidad de "convertir lo horrible en hermoso" es una característica clave del diseño de sistemas operativos.
El cliente principal del sistema operativo no es el usuario final, sino los programas de aplicación que hacen uso de sus servicios. Los usuarios finales interactúan con una interfaz (línea de comandos o GUI), pero esta es una capa adicional que utiliza las abstracciones del sistema operativo.
Quiz
QUIZ 2 The Operating System as an Extended Machine
¿Qué es un sistema operativo?
Es el software que corre en modo kernel y que proporciona abstracciones limpias a los programas y gestiona los recursos de hardware.
¿Qué dos funciones esenciales realiza un sistema operativo?
Proporcionar un conjunto abstracto de recursos a los programas y gestionar los recursos de hardware.
¿Por qué la arquitectura de bajo nivel de una computadora es difícil de programar?
Porque es primitiva, complicada y especialmente difícil para operaciones de entrada/salida (I/O).
¿Qué pieza de software se encarga de controlar el hardware del disco y ofrecer una interfaz más simple para leer y escribir bloques?
El controlador de disco (disk driver).
¿Qué abstracción proporciona el sistema operativo para facilitar el uso de los discos?
Archivos.
¿Por qué son importantes las abstracciones en los sistemas operativos?
Porque convierten tareas imposibles en tareas manejables mediante su definición e implementación.
¿Qué ejemplos comunes de archivos puede comprender cualquier usuario?
Fotos digitales, correos electrónicos guardados, canciones o páginas web.
¿Cuál es una de las funciones principales del sistema operativo respecto al hardware?
Ocultar la complejidad del hardware y ofrecer interfaces limpias, elegantes y consistentes.
¿Por qué los dispositivos de hardware suelen presentar interfaces difíciles y poco consistentes?
Por compatibilidad con hardware antiguo, reducción de costos o desinterés de los diseñadores hacia los programadores.
¿Qué convierte el sistema operativo según la Figura 1-2?
Una interfaz de hardware horrible en una interfaz de abstracciones hermosa para los programas.
¿Quiénes son los verdaderos clientes del sistema operativo?
Los programas de aplicación (y los programadores que los escriben).
¿Con qué interactúan los usuarios finales en lugar del sistema operativo directamente?
Con la interfaz de usuario, como la línea de comandos o la interfaz gráfica.
¿Un usuario de Linux usando Gnome o KDE ve el mismo conjunto de abstracciones del sistema operativo que uno usando X Window System directamente?
Sí, las abstracciones del sistema operativo son las mismas.
¿A qué se dedica el estudio de los sistemas operativos según el texto?
Al estudio de las abstracciones ofrecidas a los programas de aplicación.
