El sistema operativo es un programa o software que sirve de intermediario entre el computador y el usuario
brindando un entorno agradable a los ojos del usuario para su buen uso y manejo. Su objetivo principal es
lograr que el usuario use su sistema de computación de una forma más cómoda y más eficiente.
• SISTEMAS MONOLÍTICOS
Los sistemas monolíticos son aquellos en los que su centro es un
grupo de estructuras fijas, las cuales funcionan entre sí. En los
Sistemas Operativos Monolíticos, existen módulos grandes en el
núcleo, los cuales interactúan entre sí, para poder tener esta
estructura, las diferentes partes del kernel son compiladas por capas.
Los sistemas monolíticos se describen en 3 procesos principales: - Un
Programa principal que invoca el procedimiento de servicio solicitado.
- Un Conjunto de procedimientos de servicio que llevan a cabo las
llamadas del sistema. - Un Conjunto de procedimientos de utilería que
ayudan a los procedimientos del servicio. En teoría un procedimiento
dado puede invocar a ciertos servicios los cuales a su vez se verán
ayudados por programas de utilería los cuales extraerán información
importante para este.
• SISTEMAS CON CAPAS O SISTEMA DE ANILLOS
Los sistemas operativos implementan una multitud de servicios y
funciones como la gestión de entrada y salida, la cuenta y control
de los programas, la gestión de la memoria, entre otros, lo cual
genera una complejidad que los diseñadores deben ocultar pues las
operaciones del sistema operativo deben ser transparentes al
usuario, lo cual lleva ocultar todos los detalles de información y de
las estructuras de datos empaquetando las funciones en módulos.
La ocultación de los detalles es una estrategia que ha funcionado
construyendo una jerarquía de niveles de abstracción, de modo que
cada nivel proporciona un conjunto especifico de funciones
primitivas que podrán usar las funciones de la capa superior.
CAPA 0: El sistema consta de
procesos secuénciales, cada uno de
los cuales se podría programar sin
importar que varios procesos
estuvieran ejecutándose en el
mismo procesador, la capa cero
proporciona la multiprogramación
básica de la CPU
CAPA 1. Nucleo El nucleo o kernel
gestiona todos los procesos, es el
encargado de llevar la cuenta de todos
los procesos activos y de la planificación
de los mismos, al seleccionar cual de
ellos ocupara tiempo del procesador,
esta capa es muy importante, dado que
define el rendimiento del sistema, prueba
de ello es el rendimiento que obtuvo
Windows XP, al ser creado sobre la base
de un núcleo UNIX que fue adquirido a la
compañía Santa Cruz Operations.
CAPA 5. Interprete de comando. En
esta ultima capa se ubica la interfaz
visible para el usuario, ya sea como
una linea de comando o como una GUI
(Interfaz Gráfica de Usuario), con la
cual el usuario comunica y que esta
capa traduce al conjunto de primitivas
de las capas anteriores.
CAPA 2. Entrada y salida básica
Proporciona funciones primitivas para la
gestión de la memoria secundaria, es
decir, se encarga de proveer las primitivas
necesarias para la localización, escritura y
lectura de bloques de datos en el disco
duro, sin llegar a proporcionar muchos
detalles, cabe señalar que en esta capa la
información almacenada no se representa
como archivos, la cual es una
implementación de una capa superior.
CAPA 3. Gestión de memoria. Este nivel administra la
memoria principal o memoria RAM, se encarga de
asignar los bloques de memoria a los procesos y de
liberarlos cuando los procesos han terminado, así
también se encarga de retirar algunos procesos de la
memoria y almacenar una imagen de ellos en el disco
duro, con la finalidad de simular que existe mas
memoria de la que realmente existe de forma física, el
cual es un proceso que denominamos memoria virtual.
CAPA 4. Sistema de archivos. Esta capa
proporciona las funciones necesarias para
almacenar la información en archivos, se
apoya en las primitivas de la capa2 y la
decisión de que procesos hacen uso de
memoria se ubican en esta capa.
• MÁQUINAS VIRTUALES
Una máquina virtual es un software que simula a una
computadora y puede ejecutar programas como si fuese una
computadora real. Este software en un principio fue definido
como "un duplicado eficiente y aislado de una máquina física".
Una característica esencial de las máquinas virtuales es que los
procesos que ejecutan están limitados por los recursos y
abstracciones proporcionados por ellas. Estos procesos no
pueden escaparse de esta "computadora virtual".
Máquinas virtuales de sistema (System
Virtual Machine) también llamadas
máquinas virtuales de hardware,
permiten a la máquina física subyacente
multiplicarse entre varias máquinas
virtuales, cada una ejecutando su propio
sistema operativo. A la capa de software
que permite la virtualización se la llama
monitor de máquina virtual o hypervisor.
Un monitor de máquina virtual puede
ejecutarse o bien directamente sobre el
hardware o bien sobre un sistema
operativo ("host operating system").
Máquinas virtuales de proceso (Process
Virtual Machine) a veces llamada "máquina
virtual de aplicación", se ejecuta como un
proceso normal dentro de un sistema
operativo y soporta un solo proceso. La
máquina se inicia automáticamente cuando
se lanza el proceso que se desea ejecutar
y se detiene para cuando éste finaliza. Su
objetivo es el de proporcionar un entorno
de ejecución independiente de la
plataforma de hardware y del sistema
operativo, que oculte los detalles de la
plataforma subyacente y permita que un
programa se ejecute siempre de la misma
forma sobre cualquier plataforma.
• MODELO CLIENTE–SERVIDOR.
El término Cliente/Servidor fue utilizado
inicialmente en los ochentas para denominar
computadores personales en una red. El
modelo Cliente/Servidor es una arquitectura
de software que posee una infraestructura
modular basada en mensajes para mejorar la
usabilidad, flexibilidad, interoperatividad y
escalabilidad en comparación con los modelos
centralizados. Un cliente se define como un
"solicitador de servicios" y un servidor se
define como un "proveedor de servicios".
De manera mas detallada, el cliente se
caracteriza por desarrollar las siguientes
funciones: • Mantener y procesar todo el
dialogo con el usuario • Manejo de
pantallas • Menús e interpretación de
comandos • Entrada de datos y validación
• Procesamiento de ayudas y
recuperación de errores
El servidor por su parte se
caracteriza por cumplir con las
siguientes funciones: • Acceso,
almacenamiento y organización
de datos • Actualización de datos
almacenados • Administración de
recursos compartidos • Ejecución
de toda la lógica para procesar
una transacción • Procesamiento
común de elementos del servidor
(datos, capacidad de CPU,
almacenamiento en disco,
capacidad de impresión, manejo
de memoria y comunicación) .
• SISTEMAS OPERATIVOS WEB.
Web operating system o WebOS es un
proyecto de investigación de computación
que empezó en la Universidad de California,
(Berkeley) para desarrollar un programa para
aplicaciones abstractas usadas en Internet.
Las abstracciones que provee incluyen: • Un
sistema de archivos que identifica la
información mediante localizadores
uniformes de recursos (URL). • Un sistema
de nombramiento de recursos independiente
de la localización. • Ejecución remota segura.
• Acceso seguro a la información.
• Transacciones libres de error.
Generalmente, el término WebOS ha sido
empleado para referirse a una plataforma
que interactúa con el usuario a través del
navegador web y no depende del sistema
operativo.
• SISTEMAS OPERATIVOS PARA MÓVILES,
CELULARES Y TABLETS.
Un sistema operativo móvil o SO móvil es un sistema
operativo que controla un dispositivo móvil al igual que
los PCs utilizan Windows o Linux entre otros. Sin
embargo, los sistemas operativos móviles son mucho
más simples y están más orientados a la conectividad
inalámbrica, los formatos multimedia para móviles y las
diferentes maneras de introducir información en ellos.
Uso de los S.O
móviles a nivel
mundial:
1.)Android 84,7%.
2.) iOS 11,7%.
3.)Windows Phone
2,5%.
4.)BlackBerry OS
0,5%. 5.)Otros 0,6%
6.)Firefox OS
Disponible
7.)Ubuntu Touch
que está en
desarrollo