Introducción al sistema operativo, Tipos de sistema operativo

0
Tipos de sistema operativo

Types Of Operating System

En el extremo superior están los sistemas operativos para los mainframes, esas  computadoras de tamaño de habitación . Estas computadoras difieren de las computadoras personales en términos de su capacidad de E / S. Los sistemas operativos para mainframes están muy orientados hacia el procesamiento de muchos trabajos a la vez.  Ofrecen tres tipos de servicios: por lotes, procesamiento de transacciones y  tiempo compartido .

Un sistema por lotes es aquel que procesa trabajos de rutina sin ningún usuario interactivo presente. Procesamiento de reclamos en una compañía de seguros.

Los sistemas de procesamiento de transacciones manejan grandes cantidades de solicitudes pequeñas, por ejemplo, procesamiento de cheques en un banco

Los  sistemas de tiempo compartido permiten que múltiples usuarios remotos ejecuten trabajos en la computadora a la vez, como consultar una gran base de datos.

Los sistemas operativos de mainframe suelen realizarlos todos. por ejemplo, OS / 390, un descendiente de OS / 360. sin embargo, los sistemas operativos de mainframe se están reemplazando gradualmente por  variantes de  UNIX  como Linux.


Sistemas operativos de servidor

Se ejecutan en servidores, que  son  computadoras personales muy grandes, estaciones de trabajo o incluso mainframes. Sirven a varios usuarios a la vez a través de una red y permiten a los usuarios compartir recursos de hardware y software. Los servidores pueden proporcionar servicio de impresión, servicio de archivos o servicio web. Los proveedores de Internet utilizan muchas máquinas servidor para respaldar a sus clientes. Los sitios web usan servidores para almacenar las páginas web y manejar las solicitudes entrantes. Los sistemas operativos de servidor típicos son Solaris, FreeBSD, Linux y Windows Server 200x.


Sistemas operativos multiprocesador

Varias CPU en un solo sistema, estos sistemas se llaman computadoras paralelas,  computadoras múltiples o multiprocesadores. Muchos sistemas operativos populares, incluidos Windows y Linux, se ejecutan en multiprocesadores



Sistemas operativos de computadora personal

sistema operativo de la computadora personal: soporte a la  programación múltiple , su trabajo es proporcionar un buen soporte para un solo usuario. W utiliza idely para procesamiento de textos, hojas de cálculo, y acceso a Internet. Ejemplos comunes  son  Linux, FreeBSD, Windows Vista y el sistema operativo Macintosh


Sistemas operativos de computadora portátil

Una  computadora de mano o PDA (Personal Digital Assistant) es unacomputadora pequeña  que cabe en un bolsillo de la camisa y realiza un número pequeño de funciones, por ejemplo, la libreta de direcciones electrónica. Los sistemas operativos que se ejecutan en estas computadoras de mano son sofisticados, con la capacidad de manejar telefonía, fotografía digital y otras funciones que también ejecutanaplicaciones de terceros  , por ejemplo,  Symbian OS y Palm OS.

La diferencia entre las computadoras de mano y las PC es que las primeras no tienen   discos duros de varios gigabytes


Sistemas operativos integrados

Los sistemas integrados se ejecutan en las computadoras que controlan dispositivos que generalmente no se consideran computadoras y que no aceptan software instalado por el usuario. Ejemplos típicos son hornos de microondas, televisores, automóviles. Nunca se ejecutará un software que no sea de confianza. Distintivo de la computadora de mano. Esto significa que no hay necesidad de protección entre aplicaciones, lo que lleva a una cierta simplificación. Sistemas como QNX y VxWorks


Sistemas operativos del nodo del sensor

Las redes de pequeños nodos de sensores se están implementando para numerosos propósitos.

-trabajar de forma inalámbrica
-comunica con la estación base

Proteja las fronteras nacionales, detecte los incendios en los bosques, mida la temperatura y las precipitaciones para el pronóstico del clima  Los sensores son computadoras pequeñas con baterías y radios incorporadas. Tienen un poder limitado y deben trabajar durante largos períodos de tiempo. los programas se cargan  por  adelantado, el diseño es más simple. TinyOS es un sistema operativo bien conocido o un nodo sensor.


Sistemas operativos en tiempo real

Estos sistemas se caracterizan por tener tiempo como parámetro clave. Si la acción  debe  ocurrir en un momento determinado (o dentro de cierto rango), tenemos un  sistema en tiempo real. Muchos de estos se encuentran en el control de procesos industriales. Estos sistemas deben proporcionar garantías absolutas de que una determinada acción ocurrirá en un momento determinado. menudo, el sistema en tiempo real,  en el que falta un plazo ocasional, aunque no es deseable, es aceptable y no causa ningún daño. sistemas de tiempo eal son más para el uso industrial.


Sistemas operativos de tarjeta inteligente

Los sistemas operativos más pequeños se ejecutan en tarjetas inteligentes, los  dispositivos detamaño de tarjeta de crédito  que contienen un chip de CPU tienen una potencia de procesamiento y restricciones de memoria muy severas. Algunos funcionan con contactos en el lector en el que están insertados, pero   las tarjetas inteligentes de contacto tienen menospotencia inductiva, lo que limita en gran medida lo que pueden hacer. Algunos de ellos pueden manejar solo una función, como pagos electrónicos, pero otros pueden manejar múltiples funciones en la misma tarjeta inteligente. Las tarjetas mart están orientadas a Java. Vistas del sistema operativo





Vista del usuario

La vista del usuario de la computadora varía de acuerdo con la interfaz que se utiliza. La mayoría de los usuarios de computadoras se sientan frente a una PC, que consiste en un monitor, teclado, mouse y unidad de sistema. Tal sistema está diseñado para que un usuario pueda monopolizar sus recursos.El objetivo es maximizar el trabajo (o el juego) que realiza el usuario. En este caso, el sistema operativo está diseñado principalmente para facilitar el uso, prestando cierta atención al rendimiento y ninguno pagado por la utilización de recursos: cómo se comparten los diversos recursos de hardware y software. El rendimiento es, por supuesto, importante para el usuario; pero en lugar de la utilización de recursos, dichos sistemas están optimizados para la experiencia de un solo usuario.

En otros casos, un usuario se sienta en un terminal conectado a un mainframe o miniordenador. Otros usuarios están accediendo a la misma computadora a través de otras terminales. Estos usuarios comparten recursos y pueden intercambiar información. El sistema operativo en tales casos está diseñado para maximizar la utilización de recursos, para asegurar que todo el tiempo de CPU, memoria y E / S disponibles se utilicen de manera eficiente y que ningún usuario individual tome más de lo que le corresponde. En otros casos, los usuarios se sientan en estaciones de trabajo conectadas a redes de otras estaciones de trabajo y servidores. Estos usuarios tienen recursos dedicados a su disposición, pero también comparten recursos como redes y servidores: archivos, computación y servidores de impresión. Por lo tanto, su sistema operativo está diseñado para comprometer la usabilidad individual y la utilización de recursos.Recientemente, muchas variedades de computadoras de mano se han puesto de moda. La mayoría de estos dispositivos son unidades independientes para usuarios individuales. Algunos están conectados a redes, ya sea directamente por cable o (más a menudo) a través de módems inalámbricos y redes.

Vista del sistema


Desde el punto de vista de la computadora, el sistema operativo es el programa más íntimamente involucrado con el hardware. En este contexto, podemos ver un sistema operativo como un asignador de recursos. Un sistema de computadora tiene muchos recursos que pueden ser necesarios para resolver un problema: tiempo de CPU, espacio de memoria, espacio de almacenamiento de archivos, dispositivos de E / S, etc. El sistema operativo actúa como el administrador de estos recursos. Frente a numerosas y posiblemente contradictorias solicitudes de recursos, el sistema operativo debe decidir cómo asignarlos a programas y usuarios específicos para que pueda operar el sistema informático de manera eficiente y justa. Como hemos visto, la asignación de recursos es especialmente importante cuando muchos usuarios acceden a la misma computadora central o minicomputadora. Una vista ligeramente diferente de un sistema operativo enfatiza la necesidad de controlar los diversos dispositivos de E / S y programas de usuario. Un sistema operativo es un programa de control. Un programa de control administra la ejecución de programas de usuario para evitar errores y el uso inadecuado de la computadora. Está especialmente relacionado con el funcionamiento y el control de los dispositivos de E / S.

Llamada al sistema

Podemos decir que para realizar cualquier operación un usuario debe tener que solicitar un servicio del sistema. Para realizar cualquier solicitud, un usuario preparará una llamada especial que también se conoce como llamadaal sistema .

La llamada al sistema es la solicitud para ejecutar cualquier programa y para realizar cualquier operación en el sistema. Cuando un usuario inicia por primera vez el sistema, entonces el sistema está en el modo de usuario y cuando solicita un servicio, el modo de usuario se convierte en el modo kernel, que simplemente escucha la solicitud del usuario y procesa la solicitud y muestra los resultados esos se producen después del procesamiento. Cuando un usuario solicita abrir cualquier carpeta o cuando mueve su mouse en la pantalla, se llama como la llamada del sistema que está utilizando para realizar cualquier operación. En general, las llamadas al sistema las realizan los programas de nivel de usuario en las siguientes situaciones:

  • Crear, abrir, cerrar y eliminar archivos en el sistema de archivos. 
  • Crear y administrar nuevos procesos. 
  • Creando una conexión en la red, enviando y recibiendo paquetes. 
  • Solicitar acceso a un dispositivo de hardware, como un mouse o una impresora. 
En un sistema UNIX típico, hay alrededor de 300 llamadas al sistema. Algunos de ellos que son importantes en este contexto, se describen a continuación.

La llamada al sistema fork () se usa para crear procesos. Cuando un proceso (un programa en ejecución) realiza una llamada fork (), se crea una copia exacta del proceso. Ahora hay dos procesos, uno es el proceso principal y el otro es el proceso secundario.

El proceso que llamó a la llamada fork () es el proceso padre y el proceso que se crea nuevamente se llama proceso hijo. El proceso secundario será exactamente igual que el padre.

La llamada al sistema exec () también se usa para crear procesos. Pero hay una gran diferencia entre las llamadas fork () y exec (). La llamada fork () crea un nuevo proceso conservando el proceso principal. Pero, una llamada exec () reemplaza el espacio de direcciones, segmento de texto, segmento de datos, etc. del proceso actual con el nuevo proceso. 
 
Significa que, después de una llamada a exec (), solo existe el nuevo proceso. El proceso que hizo que el sistema llame, no existiría. Hay muchas llamadas al sistema en el sistema. El diagrama a continuación muestra las llamadas al sistema utilizadas en tareas particulares.



Estructura del sistema operativo
Para un rendimiento e implementación eficientes, un sistema operativo debe dividirse en subsistemas separados, cada uno con tareas, entradas, salidas y características de rendimiento cuidadosamente definidas. Estos subsistemas se pueden organizar en varias configuraciones arquitectónicas:

Estructura simple

Cuando DOS se escribió originalmente, sus desarrolladores no tenían idea de cuán grande e importante llegaría a ser. Fue escrito por unos pocos programadores en un tiempo relativamente corto, sin el beneficio de las técnicas modernas de ingeniería de software, y luego creció gradualmente con el tiempo para superar sus expectativas originales.

No divide el sistema en subsistemas y no tiene distinción entre los modos de usuario y núcleo, lo que permite que todos los programas tengan acceso directo al hardware subyacente. (Tenga en cuenta que el modo de kernel no era compatible con el conjunto de chips 8088 de todos modos, por lo que realmente no era una opción en ese momento). A continuación se muestra la estructura de capa de MS-DOS.






El sistema operativo original de UNIX usaba un enfoque simple en capas, pero casi todo el sistema operativo estaba en una gran capa, sin realmente dividir el sistema operativo en subsistemas en capas:





Enfoque en capas

Otro enfoque es dividir el sistema operativo en varias capas más pequeñas, cada una de las cuales descansa en la capa debajo de ella, y depende únicamente de los servicios proporcionados por la siguiente capa inferior. Este enfoque permite que cada capa se desarrolle y depure independientemente, con la suposición de que todas las capas inferiores ya han sido depuradas y se espera que proporcionen los servicios adecuados. 


Los enfoques en capas también pueden ser menos eficientes, ya que una solicitud de servicio de una capa superior debe filtrarse a través de todas las capas inferiores antes de que llegue al hardware, posiblemente con un procesamiento significativo en cada paso.









Micro kernel

  • La idea básica de micro kernel es eliminar todos los servicios no esenciales del núcleo e implementarlos como aplicaciones del sistema, lo que hace que el kernel sea lo más pequeño y eficiente posible. 
  • La mayoría de los micronúcleos proporcionan administración básica de procesos y memoria, y transmisión de mensajes entre otros servicios, y no mucho más. 
  • La seguridad y la protección se pueden mejorar, ya que la mayoría de los servicios se realizan en modo de usuario, no en modo kernel. 
  • Mach fue el primer y más conocido microkernel, y ahora forma un componente principal de Mac OSX. 
  • Windows NT era originalmente microkernel, pero tenía problemas de rendimiento, mejor rendimiento al mover más servicios al núcleo, y ahora XP ha vuelto a ser más monolítico. 
  • Otro ejemplo de microkernel es QNX, un sistema operativo en tiempo real para sistemas integrados.



Núcleo monolítico

Todas las partes de un núcleo como el Programador, el Sistema de archivos, la Gestión de la memoria, las Pilas de red, los Controladores de dispositivos, etc., se mantienen en una unidad dentro del kernel en Kernel monolítico.

Ventajas

• Procesamiento más rápido

Desventajas
• Crash inseguro
• Inflexibilidad de portabilidad 
• Explosión de tamaño de núcleo
Ejemplos 
• MS-DOS, Unix, Linux

Concepto de máquinas virtuales

El concepto de una máquina virtual es proporcionar una interfaz que se parece a un hardware independiente, a múltiples sistemas operativos diferentes que se ejecutan simultáneamente en el mismo hardware físico. Cada sistema operativo cree que tiene acceso y control sobre su propia CPU, RAM, dispositivos de E / S, discos duros, etc. Un uso obvio para este sistema es para el desarrollo y prueba de software que debe ejecutarse en múltiples plataformas y / o Sistemas operativos. Una dificultad obvia implica compartir discos duros, que generalmente están divididos en discos virtuales más pequeños separados para cada SO operativo.

Beneficios


  • Cada sistema operativo se ejecuta independientemente de todos los demás, ofreciendo protección y beneficios de seguridad. 
  • El uso compartido de recursos físicos no se implementa comúnmente, pero se puede hacer como si las máquinas virtuales estuvieran conectadas en red. 
  • Las máquinas virtuales son una herramienta muy útil para el desarrollo de sistemas operativos, ya que permiten a los usuarios un acceso completo y control sobre una máquina virtual, sin afectar a otros usuarios que operan la máquina real.
  • Como se mencionó anteriormente, este enfoque también puede ser útil para el desarrollo de productos y las pruebas de SW que deben ejecutarse en múltiples plataformas OS / HW. El diagrama explica sobre la máquina virtual



A continuación se muestra el diagrama para la comparación de diferentes tipos de núcleo: - 


Tal vez te interesen estas entradas

No hay comentarios