Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructura y Clasificación
Existen criterios para clasificar, pero ellas surgen en la medida que la tecnología cambia, surgen
nuevas ideas o necesidades que obligan a crear. Aunado a ello, si se aprovecha el hardware de
una mejor forma, siempre surgirán sistemas más robustos. Basado en lo anterior, se les presenta
algunos criterios de clasificación.
Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario
final
La capa más cercana al hardware se denomina núcleo (kernel) encargada de gestionar los
recursos físicos del sistema la que suministra la funcionalidad básica del sistema
operativo.
La capa de servicios o llamadas al sistema ofrece unos servicios a los procesos a través de
una interfaz de programación conocida como API. Se puede programar aprovechando las
funciones aportadas por el sistema operativo.
La capa Shell o interprete de comandos permite al usuario interactuar con el SO, debido
que el usuario solicita, ordena un requerimiento a través de un clic o escribiendo un
comando. El SO lo ejecutará, si es posible.
2.1.-Estructura Monolítica
Tanenbaum (2003) señala que esta estructura es conocida como “El Gran Embrollo”,
simplemente porque no hay estructura. Es la estructura de los primeros sistemas operativos
constituidos fundamentalmente por un solo programa compuesto de un conjunto de rutinas
entrelazadas de tal forma que cada una puede llamar a cualquier otra. Las características:
Construcción del programa final a base de módulos compilados separadamente que se
unen a través del enlazador (linker).
Buena definición de parámetros de enlace entre las distintas rutinas existentes, que
puede provocar mucho acoplamiento.
Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos
de los recursos de la computadora, como memoria, disco, entre otras.
SHELL (Capa Operador): son comandos, pueden ser a nivel de consola, por ejemplo:
c:\........\bin\javac carmensequera.java o una elección de un servicio en un ambiente gráfico
(un clic).
¿Por qué algunos autores señalan que la capa Shell no forma parte del SO?
2.3.-Máquina Virtual
Se trata de un tipo de sistemas operativos que presentan una interfase más cómoda a cada
proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos
sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la
multiprogramación y la máquina extendida. El objetivo es el de integrar distintos sistemas
operativos dando la sensación de ser varias máquinas diferentes.
El monitor de máquina virtual se ejecuta en el hardware desnudo y realiza la multiprogramación,
proporcionando no una, sino varias máquinas virtuales a la capa inmediatamente superior.
Importante
Dividido en módulos, cada uno con una función y una interfaz concreta
Los programas de usuario se comunican con el S.O y requieren sus servicios mediante llamadas al
sistema
Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del
usuario, el cómo accede a los servicios. Bajo esta clasificación se pueden detectar dos tipos
principales: sistemas operativos de red y sistemas operativos distribuidos.
3.1.-Sistema Operativo de Red: Los sistemas operativos de red se definen como aquellos que
tiene la capacidad de interactuar con sistemas operativos en otras computadoras por intermedio
de un medio de transmisión con el objeto de intercambiar información, transferir archivos,
ejecutar comandos remotos y un sin fin de otras actividades.
3.2.-Sistemas Operativos Distribuidos: Los sistemas operativos distribuidos abarcan los servicios
de los de red, logrando integrar recursos (impresoras, unidades de respaldo, memoria, procesos
y unidades centrales de proceso) en una sola máquina virtual que el usuario acceda en forma
transparente. El usuario ya no necesita saber la ubicación de los recursos, sino que los conoce
por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo
habitual.
Otros autores clasifican los sistemas operativos de acuerdo a su evolución. Si se fijan tienen
que ver con lo nombrado anteriormente.
Batch (lotes)
Tiempo Real
Multiprocesamiento
Multiprogramación
Redes Distribuidas
Generación 1 (conocida como generación CERO): carencia de SO, el usuario hace las
operaciones de montar el programa, ejecutarlo. Si hay error debe ubicar el contenido en
memoria y corregir. Ejecución en serie.
Generación 2: Anterior + Batch. Se agrupa en lotes los programas de un mismo lenguaje. Cuando
termina, se desmonta el lenguaje y se monta el otro. Luego se procesan sus programas.
Generación 3:
Sistemas de Tiempo Real ---- uso industrial (procesamiento continuo, respuesta inmediata).
Generación 4:
Multiprogramación, Multiprocesamiento, Independencia de dispositivos. Mejor uso de la memoria
(partición y segmentación).
Generación 5: Interfaz gráfica, usuarios diversos, sistemas operativos de red y distribuidos
La estructura de los SO está relacionada con su evolución y por eso su clasificación
Kernell (Núcleo)
En informática, el núcleo es la parte fundamental de un sistema operativo. Es el software
responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o
en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al
sistema. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se
encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante
cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede
ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones
del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y
uniforme al hardware subyacente, lo que facilita su uso para el programador.
IMPORTANTE
Descansa directamente sobre el hardware y proporciona una serie de servicios a las capas
superiores del sistema.
Las tareas principales son:
o Manejo de interrupciones
o Asignación de trabajo al procesador
o Proporcionar una vía de comunicación entre los diferentes programas