miércoles, 1 de febrero de 2023

1. Introducción a los Sistemas Operativos

1.1 ¿Qué son los sistemas operativos? 

Un sistema operativo se puede definir como el "software" el cuál se encarga de administrar cada una de las partes de la computadora que se esté utilizando, tanto hardware como software, logrando así la conexión entre el equipo y el usuario que lo está usando.

Algunos ejemplos de sistemas operativos son:

  • Microsoft Windows. Es el sistema operativos mas reconocido del mundo y el cual todos hemos utilizado alguna ves o seguimos utilizando, permite realizar varias aplicaciones a la vez y contiene una forma fácil de realizar más rápido las tareas, al ser guiado paso a paso. Su característica de masivo hace que permanentemente sea repensado en función de hacerlo más intuitivo.
  • Mac OS X. Mayormente conocido como el sistema operativo que podemos encontrar en los dispositivos y plataformas Apple, también muy conocido atreves del mundo, tratando de ofrecer, a su manera, la misma satisfacción de su competidor Windows.
  • GNU/Linux El software libre más importante, que soporta el trabajo con más de un microprocesador y permite que toda la memoria pueda utilizarse como caché.

  • SolarisSistema operativo certificado como una versión de UNIX, caracterizado por ser muy adecuado para el procedimiento simétrico por soportar un gran número de CPUs.
  • FreeBSDSistema también basado en una versión de UNIX, que tiene como principal característica ser un verdadero sistema abierto porque todo su código fuente lo está. El tamaño de los programas es reducido por tener ‘librerías compartidas’.

  • OpenBSDSistema operativo libre, que funciona con varios tipos diferentes de plataforma de hardware, reconocido por muchos profesionales de la seguridad informática como el sistema UNIX más seguro.

1.2 ¿Cuáles son las funciones y características de los sistemas operativos? 

Como anteriormente mencionado, la función de un sistema operativo es administrar los recursos que un equipo de cómputo contiene, lo que conlleva a crear una interfaz la cual el usuario puede interactuar, por consiguiente, hace una gestión de archivos y administración de tareas, consiguiendo el procesamiento de diversos programas y tareas de segundo plano que ayudan al buen funcionamiento de la computadora.

Algunas características de los sistemas operativos es que son el intermediario entre el usuario y hardware, son necesarios para el funcionamiento de computadoras, tabletas y teléfonos móviles, están diseñados para ser amigables con el usuario y en su mayoría son fáciles de usar y entender, algunos de estos sistemas operativos se ven sujetos a un pago por licencia pero con o sin ella aun permiten el uso del dispositivo.

Varios de estos sistemas operativos funcionan para algunas tareas en especifico, en algunos de ellos estos te permiten libre acceso a su programación o tienen código abierto, mientras que otros sistemas pueden utilizarse para un uso mas personal como el uso de ciertos programas, jugar videojuegos, ver contenido multimedia, trabajos de oficina, etc.

1.3 ¿Cómo han ido evolucionando los sistemas operativos a través de la historia? 

La creación de sistemas operativos fue más que nada por necesidad y por hacer que algunos procesos se automaticen o hagan tareas más fáciles,         
es por ello que en 1801, el francés Joseph Marie Jacquard, inventor de "telar programable" aunque no es en si el creador de la programación, si no que creó el primer sistema de instrucciones para los computadores, en el cuál consistía en unas tarjetas perforadas donde se almacenaban información de manera automatizada para los primeros computadores creados por Charles Babbage.


De 1842 1843 Ada Lovelance tradujo las memorias de Luigi Menabrea, en el cual se basó para crear un lenguaje de programación a mano con el fin de calcular la serie de números de Bernoulli con la máquina de Babbage.

En 1944, un grupo de científicos en Bletchley Park, Inglaterra, entre los que se encontraba Alan Turing, construyó el computador Colossus, cuyo modelo más conocido, el Colossus Mark 2, utilizaba 2400 tubos de vacío. Este computador, si bien, tampoco era Turing-complete (lo que demuestra que no basta tener a Alan Turing para ser Turing-complete) ya que fue diseñado para una tarea criptográfica particular, sí era programable mediante cintas de papel.




Luego en 1955, la creación de los transistores revolucionó la construcción de los dispositivos electrónicos reduciendo drásticamente las tasas de falla respecto al hardware construido con tubos de vacío y aumentando la velocidad de respuesta. Se empezaron a construir grandes computadores basados en transistores, conocidas como mainframes. Debido a su costo de construcción, un computador de este tipo era solamente accesible para grandes corporaciones, gobiernos y universidades.

 


Los mainframes de IBM (International Business Machines Corporation), una compañía constructora de equipamiento computacional más importante de la época, requerían cada uno un software y periféricos distintos para funcionar, ya que las instrucciones no eran compatibles, por lo que se dieron a la tarea de hacer múltiples sistemas los cuales acataran una tarea cada uno y así eliminar ese problema.


Hasta hoy en la actualidad, puedes tener hasta un sistema operativo en la palma de tu mano, ya sea por medio de un USB o un disco duro, por lo cual el avance de la tecnología informática ha evidenciado un gran cambio, tanto en nuestra vida cotidiana como en el mundo.


1.4 Clasificación
Los sistemas operativos se clasifican según el uso o necesidad que se requieren dependiendo del usuario, por ejemplo:
  • Administración de tarea
            Se clasifican en:
    • Monotarea: Los que permiten usar solo un programa a la vez.
    • Multitarea: Los que permiten ejecutar varias tareas o programas a la vez.   
                   
  • Administración de usuarios
    • Monousuario: Son los cuales solo dejan trabajar a un usuario, ya sea en algún computador personal o de un área específica de trabajo.

    • Multiusuario: Estos permiten a varios usuarios a la vez trabajar y ejecutar programas a la vez.



  • Manejo de recursos o acceso a servicios  
    • Centralizados: Permite usar los recursos de un solo computador.
    • Distribuidos: Permite usar los recursos de más de un computador (CPU, memoria, periféricos
      , etc.)

1.5. Estructura: niveles o estratos de diseño
Como se ha mencionado antes, los sistemas operativos deben presentarse de manera amigable a los usuarios (que sean fáciles de utilizar, den confianza, etc.) y también que el propio sistema operativo cumpla con las funciones para lo que fue diseñado.

Hay 3 posibles diseños de sistemas.
  • Sistema Monolítico. Estos sistemas no presentan un estructura bien definida, ya que estos son escritos como una colección de procedimientos donde cualquier procedimiento puede llevar a otro. 

  • Sistema en capas. Como su nombre lo menciona, este sistema funciona por un jerarquía de capas, donde los servicios que brinda una capa son consumidos solamente por la capa superior. La capa 0 es del Hardware y la N es la de los procesos de Usuario. Estos sistemas tienen como ventaja que son modulares y la verificación se puede hacer a cada capa por separado. Sin embargo el diseño es muy costoso y es menos eficiente que el sistema monolítico ya que pierde tiempo pasando por cada capa.

  • Sistema con micronúcleo. La idea de este sistema consiste en un núcleo que se encargue de los servicios mínimos de manejos de procesos, memoria y que provea la comunicación entre procesos. los servicios restantes pasa como procesos separados del micronúcleo, que ejecutan en modo usuario.
1.6. Núcleo
También conocido como Kernel, es la interfaz entre el software y el hardware. supervisa la organización de procesos y datos de cada ordenador en un segundo plano. Este también controla los accesos al procesador y a la memoria, es responsable de los drivers (controladores) mas importantes y puede acceder directamente al hardware.

Un núcleo siempre tiene la misma estructura y consta de varias capas (de la mas baja a la mas alta):
  1. Interfaz con el hardware. Esta realiza tareas como la de controlador de red o controlador de PCI Express. 

  2. Gestión de la memoria. Distribuye la memoria RAM y la memoria virtual. 

  3. Gestor de procesos. Se encarga de la gestión del tiempo y permite el multitasking. 

  4. Gestor de dispositivos. Asigna un espacio en la memoria principal (cache, RAM, etc.) o secundaria (disco duro, USB, etc.) a los procesos. 


El principal cometido del núcleo es el procesamiento paralelo de diferentes tareas, el multitasking. Para ello debe, por un lado, cumplir con los tiempos establecidos y, por otro, permanecer disponible para tareas adicionales.

No hay comentarios.:

Publicar un comentario