sitemas operativoas 


1.HISTORIA Y EVOLUCION DE LOS SISTEMAS OPERATIVOS


La informática tal y como se le conoce hoy día, surgió a raíz de la II Guerra Mundial, en la década de los 40. En esos años no existía siquiera el concepto de "Sistema Operativo" y los programadores interactuaban directamente con el hardware de las computadoras trabajando en lenguaje máquina (esto es, en binario, programando únicamente con 0s y 1s).

El concepto de Sistema Operativo surge en la década de los 50. El primer Sistema Operativo de la historia fue creado en 1956 para un ordenador IBM 704, y básicamente lo único que hacía era comenzar la ejecución de un programa cuando el anterior terminaba.

En los años 60 se produce una revolución en el campo de los Sistemas Operativos. Aparecen conceptos como sistema multitarea, sistema multiusuario, sistema multiprocesadores y sistema en tiempo real.

Es en esta década cuando aparece UNIX, la base de la gran mayoría de los Sistemas Operativos que existen hoy en día.
En los años 70 se produce un boom en cuestión de ordenadores personales, acercando estos al público general de manera impensable hasta entonces. Esto hace que se multiplique el desarrollo, creándose el lenguaje de programación C (diseñado específicamente para reescribir por completo el código UNIX).

Como consecuencia de este crecimiento exponencial de usuarios, la gran mayoría de ellos sin ningún conocimiento sobre lenguajes de bajo o alto nivel, hizo que en los años 80, la prioridad a la hora de diseñar un sistema operativo fuese la facilidad de uso, surgiendo así las primeras interfaces de usuario.

En los 80 nacieron sistemas como MacOS, MS-DOS, Windows.
En la década de los 90 hace su aparición Linux, publicándose la primera versión del núcleo en septiembre de 1991, que posteriormente se uniría al proyecto GNU, un sistema operativo completamente libre, similar a UNIX, al que le faltaba para funcionar un núcleo funcional. Hoy en día la mayoría de la gente conoce por Linux al Sistema Operativo que realmente se llama GNU/Linux


2.Funciones y componentes de un sistema operativo


El sistema operativo es el software que coordina y dirige todos los servicios y aplicaciones que utiliza el usuario en una computadora, por eso es el más importante y fundamental. Se trata de programas que permiten y regulan los aspectos más básicos del sistema. Los sistemas operativos más utilizados son Windows, Linux, OS/2 y DOS




Gestion de procesos: es la tarea fundamental de cualquier sistema operativo moderno. El sistema operativo debe asignar recursos a los procesos, permitir el intercambio de información entre los mismos, proteger los recursos de un proceso del resto y facilitar la sincronización de procesos.


Gestion de memoria:La gestión de memoria o administración de memoria es el acto de gestionar la memoria de un dispositivo informático. El proceso de asignación de memoria a los programas que la solicitan.​ 


Gestión de dispositivos de entrada y salida:La gestión de E/S en un sistema operativo se refiere a la administración y control de los dispositivos de entrada y salida de datos conectados a una computadora. Estos dispositivos pueden incluir teclados, pantallas, discos duros, impresoras, redes, entre otros.

La gestión de E/S es necesaria porque los dispositivos de entrada y salida operan a diferentes velocidades y tienen características específicas de funcionamiento. El objetivo principal de la gestión de E/S es proporcionar una interfaz uniforme y eficiente entre los dispositivos y el sistema operativo, para permitir la transferencia de datos de manera confiable y en el menor tiempo posible.

El sistema operativo gestiona la E/S a través de controladores de dispositivos o controladores de E/S. Estos controladores actúan como intermediarios entre los dispositivos físicos y el sistema operativo, facilitando la comunicación y el intercambio de datos. A su vez, su objetivo principal es garantizar una transferencia eficiente y confiable de datos entre el sistema operativo y los dispositivos, optimizando el rendimiento del sistema y proporcionando una interfaz coherente para las aplicaciones y los usuarios.

NOTA 🚨: No hay que confundir el concepto de gestión E/S de un sistema operativo con el E/S en programación. En programación E/S se refieren a las operaciones de entrada y salida realizadas por un programa o aplicación específica en el contexto programable. Esto implica la lectura y escritura de datos desde y hacia diferentes fuentes, como archivos, bases de datos, redes, servicios web, etc.

Principales funciones de la gestión de E/S en el sistema operativo

  1. Control de dispositivos: El sistema operativo controla y coordina el acceso a los dispositivos de E/S para evitar conflictos y garantizar un uso eficiente de los recursos. Administra las colas de solicitudes de E/S y asigna prioridades para su procesamiento.
  2. Buffering: Se utilizan buffers o áreas de almacenamiento temporal para almacenar los datos mientras se realizan las operaciones de E/S. Esto ayuda a mejorar el rendimiento del sistema, ya que el procesador puede continuar ejecutando otras tareas mientras los datos se transfieren hacia o desde los dispositivos.
  3. Spooling: Se refiere al proceso de almacenar temporalmente datos de E/S en un área de almacenamiento en disco, conocida como spool, antes de ser enviados al dispositivo de salida correspondiente. Esto permite una gestión más eficiente de la E/S, ya que se pueden almacenar múltiples trabajos en cola y procesarlos en el orden adecuado.
  4. Manejo de interrupciones: Los dispositivos de E/S generan interrupciones para notificar al sistema operativo cuando están listos para realizar una operación o cuando se produce algún evento importante. El sistema operativo debe manejar estas interrupciones y realizar las acciones correspondientes.
  5. Control de errores: La gestión de E/S incluye la detección y el manejo de errores que pueden ocurrir durante las operaciones de entrada y salida. El sistema operativo debe ser capaz de detectar errores, informar al usuario o a las aplicaciones correspondientes y tomar las medidas necesarias para corregir o mitigar los problemas.

    Gestión de archivos y sistemas de archivos:Los archivos y sistemas de archivos presentan información sobre la gestión de archivos de base de datos, los archivos en spool, los archivos de cinta y las prestaciones del sistema de archivos integrado de la plataforma IBM® i .


    Sistema de archivos integrado

    Los archivos en el sistema operativo son significativamente diferentes de sus homólogos en los sistemas operativos UNIX y Windows. En el sistema operativo, un archivo es otro tipo de objeto en el sistema. Cada archivo tiene una descripción que describe sus características y cómo se organizan los datos asociados al archivo. Siempre que el sistema operativo procesa un archivo, utiliza esta descripción.

    Además de las diferencias en el manejo de archivos, el sistema operativo también utiliza estructuras únicas para almacenar los archivos y otros objetos en el sistema. Sin embargo, el sistema de archivos integrado en System i ® Navigator puede parecer familiar para las personas que están acostumbradas a una jerarquía basada en el sistema operativo Windows. Los usuarios de UNIX pueden reconocer algunos elementos de esta jerarquía, así como la presencia de punteros de archivo.

    Puede acceder al sistema de archivos integrado e


    System i Navigator. Con el sistema de archivos integrado, puede buscar, cambiar y copiar archivos y bibliotecas en el sistema navegando por una jerarquía similar a la del Explorador de Windows. Puede utilizar el sistema de archivos integrado para copiar archivos de datos en el PC cliente.

    Gestión de archivos de base de datos

    Conozca las funciones de gestión de archivos tradicionales que utiliza la aplicación para crear y acceder a datos del sistema y para garantizar la integridad de los datos. La gestión de archivos es la parte del sistema operativo que controla el almacenamiento de los objetos de archivo tradicionales y el acceso a los mismos (objetos *FILE en la biblioteca QSYS.LIB) en el sistema.


    Archivos en spool

    Spooling es una función del sistema que guarda datos en un archivo de base de datos para su posterior proceso o impresión. Con los archivos en spool, puede gestionar los archivos de datos en dispositivos conectados, como un disquete o una impresora.


    Archivos de cintas

    Los archivos de cinta son archivos de dispositivo que proporcionan acceso a dispositivos de cinta conectados. La colección de temas de Archivos de cinta describe las características y el uso de archivos de dispositivo de cinta para programas de aplicación. Este tema también proporciona información sobre cómo almacenar y acceder a datos desde un dispositivo de cinta, así como información conceptual sobre cinta, archivos de datos de cinta y archivos de dispositivo de cinta.

    https://www.ibm.com/docs/es/i/7.5?topic=concepts-tape-data-files



3. Tipos de Sistemas Operativos: 


Sistemas operativos de tiempo compartido:Esta clase de sistema operativo permite la ejecución de distintas tareas al mismo tiempo, tanto de un solo usuario como de varios. Así, cuando el sistema termina de ejecutar una tarea, ya sea de un usuario o de varias, continúa con la siguiente que tiene en espera.


Sistemas operativos en tiempo real:El término “sistema en tiempo real” se refiere a cualquier sistema de procesamiento de información con componentes de software y hardware que realiza funciones de aplicación en tiempo real y puede responder a los eventos con limitaciones de tiempo predecibles y específicas. Entre los ejemplos comunes de sistemas en tiempo real se incluyen los sistemas de control de tráfico aéreo, los sistemas de control de procesos y los sistemas de conducción autónoma.

Sistemas operativos distribuidos:es un conjunto de programas informáticos que utilizan recursos computacionales en varios nodos de cálculo distintos para lograr un objetivo compartido común. Este tipo de sistemas, también denominados "computación distribuida" o "bases de datos distribuidas", usan nodos distintos para comunicarse y sincronizarse a través de una red común. Estos nodos suelen representar dispositivos de hardware físicos diferentes, pero también pueden representar procesos de software diferentes u otros sistemas encapsulados recursivos. La finalidad de los sistemas distribuidos es eliminar los cuellos de botella o los puntos de error centrales de un sistema.

Los sistemas de computación distribuida tienen las características siguientes:

Recursos compartidos: los sistemas distribuidos pueden compartir hardware, software o datos

Procesamiento simultáneo: varias máquinas pueden procesar la misma función a la vez

Escalabilidad: la capacidad computacional y de procesamiento puede escalarse hacia arriba según sea necesario cuando se añaden máquinas adicionales

Detección de errores: los errores se pueden detectar más fácilmente

Transparencia: un nodo puede acceder a otros nodos del sistema y comunicarse con ellos


¿Cuál es la diferencia entre un sistema centralizado y un sistema distribuido?


Imagen de la comparación entre un sistema centralizado y un sistema distribuido


Sistemas operativos de red:Un sistema operativo en red (NOS) es un software que permite la 
interconexión de ordenadores para poder acceder a los servicios y recursos, hardware y software creando redes entre ordenadores.

Está diseñado principalmente para soportar estaciones de trabajo u ordenadores personales.

La composición principal de un hardware que utiliza un NOS incluye varios ordenadores, impresora y dos servidores, uno de ellos para archivos con una red local que los conecta entre sí. La función del NOS es proporcionar 
servicios y características básicas de red que soporten múltiples solicitudes de entrada 
simultáneamente para entornos multiusuarios.
¿Qué componentes forman un sistema operativo en red?

El sistema operativo en red está diseñado por componentes esenciales que permiten el
 funcionamiento del mismo.

Clientes: Se tratan de ordenadores que cuentan con un sistema operativo monocompuesto que tiene 
acceso a conectarse a un servidor, por lo que, lo clientes son los equipos usados para hacer obtener 
los diferentes recursos que ofrece una red.

Servidores: Son los ordenadores que alojan el sistema operativo de red y que permiten su 
administración. Los servidores cuentan con todos los recursos necesarios para utilizar,
 gestionar y compartir el NOS con otros clientes o incluso con otros servidores.

Dominios: Se trata del término empleado para referirse a la gestión de los diferentes equipos
 conectados a una red y que al mismo tiempo están validados para ser gestionados de forma centralizada.

Tipos de sistemas operativos en red

Los sistemas operativos en red pueden clasificarse de diferentes formas, pero lo más

 común es clasificarlo según el sistema operativo de base.

Según el sistema operativo

  • Windows: Los de tipo desarrollados por Microsoft, se caracterizan por ofrecer a sus usuarios una buena interoperabilidad con otros tipos de NOS. Ofreciendo también una diversidad de servicios como administración de equipos de impresión, mensajería, establecimiento de dominios y protocolos de seguridad.
  • Apple: Los software desarrollados por Apple ofrecen una diversidad de servicios aunque algo más limitados en su interoperalabilidad en redes mixtas.
  • UNIX: Son los distintos softwares desarrollados para Linux, en especial para las distribuciones de Ubuntu y Debian. Ofrecen un ecosistema de desarrollo de software libre, permitenm una buena cantidad de serviicos tantopara clientes como para servidores.
  • Netware: Desarrollado por Novell, su principal ventaja es que mantienen un buen acceso a base de datos de archivos, ofreciendo seguridad y estabilidad.
    https://www.youtube.com/watch?v=oy1cr57wi5M

Sistemas operativos móviles:

Los sistemas operativos que hemos visto fueron hechos para computadores de escritorio o  computadores portátiles, pero los dispositivos móviles como teléfonos, tabletas y reproductores de mp3 son muy diferentes, por eso sus sistemas operativos son más simples, orientados hacia la conectividad inalámbrica y a necesidades específicas.

Algunos sistemas operativos móviles son: Google Android, Apple iOS y Windows Phone.

Los sistemas operativos para dispositivos móviles suelen ser menos robustos que los diseñados para las computadoras de escritorio o portátiles. Es decir, que con un dispositivo móvil no puedes hacer todo lo que haces con un computador o un portátil.

¿Cuáles son los dispositivos móviles?

Son pequeñas máquinas electrónicas que procesan datos como los computadores, algunas pueden conectarse a internet y tienen memoria limitada.

Con los dispositivos móviles puedes hacer muchas cosas como ver películas, hablar con amigos, manejar tu agenda, jugar y mucho más.

4. Sistemas Operativos Populares:


Historia y características de Unix/Linux: nace a principios de los años 70, creado principalmente por Dennis Ritchie y Ken Thompson Sus características técnicas principales son: su portabilidad, su capacidad multiusuario y  multitarea, su eficiencia; su alta seguridad y su buen desempeño en tareas de red.

Historia y características de Windows:Windows es un sistema operativo desarrollado por Microsoft. Fue lanzado por primera vez en 1985 y desde entonces ha tenido varias versiones, cada una con sus propias características y mejoras. Algunas de las características clave de Windows incluyen una interfaz gráfica de usuario (GUI), soporte para múltiples tareas y aplicaciones, así como una amplia compatibilidad con hardware y software. 


Historia y características de macOS:
macOS es el sistema operativo de escritorio de Apple para sus computadoras Mac. Originalmente llamado “Mac OS X” y luego “OS X”, fue lanzado por primera vez en 2001. macOS es conocido por su diseño elegante, integración con otros dispositivos de Apple y énfasis en la privacidad y seguridad. Algunas características destacadas incluyen su Dock, Finder, y la capacidad de realizar tareas avanzadas de edición de video y gráfic


Comparación entre diferentes sistemas operativos:Los sistemas operativos más comunes son Windows, macOS y Linux.

Windows es conocido por su amplia compatibilidad con diferentes tipos de software y hardware, lo que lo hace popular en el ámbito empresarial y entre los jugadores.

macOS se destaca por su diseño intuitivo y su integración sin fisuras con el ecosistema de Apple, incluyendo iPhone y iPad.

Linux es un sistema operativo de código abierto que es altamente personalizable y se considera muy seguro y estable, siendo una elección popular para servidores y usuarios avanzados.

Cada sistema tiene sus propias ventajas dependiendo del uso que se le quiera dar. 


5. Seguridad en Sistemas Operativos:


Políticas y mecanismos de seguridad:as políticas y mecanismos de seguridad varían entre los sistemas operativos:

Windows ofrece características como Windows Defender, un firewall integrado, y Control de Cuenta de Usuario (UAC) para prevenir cambios no autorizados. También incluye actualizaciones regulares de seguridad.

macOS tiene Gatekeeper, que ayuda a proteger contra software malicioso al permitir solo aplicaciones confiables, y también ofrece cifrado completo del disco con FileVault. Apple regularmente lanza parches de seguridad.

Linux es conocido por su robustez en seguridad debido a su naturaleza de código abierto, lo que permite una revisión constante del código por parte de la comunidad. Además, la mayoría de las distribuciones Linux vienen con SELinux, un módulo de seguridad para controlar el acceso a aplicaciones y procesos.

Cada sistema operativo tiene un enfoque diferente pero efectivo para la seguridad.


 Amenazas y vulnerabilidades comunes:

  • Virus y malware: Programas maliciosos que pueden dañar archivos, robar información o tomar control de un sistema.

  • Phishing: Intentos de engañar a los usuarios para que revelen información personal a través de correos electrónicos o sitios web falsos.

  • Ataques de red: Como los ataques de denegación de servicio (DoS) que pueden hacer que un sistema o red sea inaccesible.

  • Vulnerabilidades de software: Defectos en el software que pueden ser explotados para ganar acceso no autorizado o causar daño.

Los sistemas operativos modernos tienen varias capas de seguridad para proteger contra estas amenazas, pero es importante mantener el software actualizado y seguir las mejores prácticas de seguridad.https://www.youtube.com/watch?v=qXTkQoJdLZo


6. Sistemas Operativos en Dispositivos Móviles


 Características de sistemas operativos móviles (Android, iOS):

Android:

  • Es un sistema operativo de código abierto liderado por Google.
  • Ofrece personalización extensa a través de widgets y lanzadores.
  • Compatible con una amplia gama de dispositivos de diferentes fabricantes.
  • Integra servicios de Google como Google Assistant y Google Play Store.

iOS:

  • Sistema operativo exclusivo de los dispositivos Apple como iPhone y iPad.
  • Se destaca por su interfaz de usuario fluida y consistente.
  • Ofrece un ecosistema cerrado que promueve la seguridad y la privacidad.
  • Integra servicios como Siri y App Store.

Ambos sistemas operativos ofrecen una experiencia de usuario rica con acceso a millones de aplicaciones, soporte para conectividad móvil, cámaras avanzadas y seguridad biométrica.

 Gestión de recursos en dispositivos móviles:La gestión de recursos en dispositivos móviles es crucial para el rendimiento y la duración de la batería. Tanto Android como iOS tienen sistemas para manejar eficientemente los recursos:

Android:

  • Utiliza un “garbage collector” para gestionar la memoria automáticamente.
  • Permite a los usuarios ver y cerrar aplicaciones en segundo plano para liberar recursos.
  • Incluye modos de ahorro de energía para extender la vida de la batería.

iOS:

  • Administra la memoria activamente para optimizar el rendimiento de las aplicaciones.
  • Permite a las aplicaciones en segundo plano actualizarse solo cuando es necesario.
  • Ofrece el modo de bajo consumo que reduce el uso de recursos para ahorrar batería.

 Seguridad y privacidad en sistemas operativos móviles:La seguridad y la privacidad son aspectos fundamentales en los sistemas operativos móviles. Tanto Android como iOS tienen varias características diseñadas para proteger a los usuarios:

Android:

  • Ofrece actualizaciones de seguridad periódicas.
  • Utiliza Google Play Protect para escanear aplicaciones en busca de software malicioso.
  • Permite a los usuarios controlar los permisos de las aplicaciones y acceder a una configuración de privacidad detallada.

iOS:

  • Tiene un enfoque estricto en la privacidad, con controles de permisos granulares para las aplicaciones.
  • Proporciona actualizaciones de seguridad regulares para todos los dispositivos compatibles.
  • Incluye características como App Tracking Transparency, que permite a los usuarios optar por no ser rastreados por aplicaciones.

Ambos sistemas operativos están constantemente actualizando sus características de seguridad y privacidad para enfrentar nuevas amenazas. 


7. Desarrollo y Mantenimiento de Sistemas Operativos:


  Actualizaciones y parches:Las actualizaciones y parches son esenciales para mantener los sistemas operativos móviles seguros y funcionando sin problemas.

Android:

  • Los fabricantes de dispositivos y las operadoras de telefonía móvil suelen controlar la distribución de actualizaciones de Android, lo que puede resultar en una disponibilidad inconsistente entre dispositivos.
  • Google lanza parches de seguridad mensuales para Android, pero depende de los fabricantes y operadoras implementarlos.

iOS:

  • Apple controla directamente las actualizaciones para todos los dispositivos iOS, asegurando una distribución rápida y uniforme.
  • Las actualizaciones de seguridad se incluyen en las actualizaciones del sistema operativo y se lanzan regularmente para abordar vulnerabilidades conocidas.

Es importante instalar las actualizaciones y parches tan pronto como estén disponibles para proteger tu dispositivo contra amenazas de seguridad.


8. Tendencias y Futuro de los Sistemas Operativos:


 Innovaciones recientes en sistemas operativos:Las innovaciones recientes en sistemas operativos han incluido mejoras en la inteligencia artificial, la seguridad, la integración entre dispositivos y la experiencia del usuario.

Windows ha introducido características como Windows Hello para el inicio de sesión biométrico y Your Phone para conectar tu smartphone con tu PC.

macOS ha mejorado su continuidad con iOS, permitiendo una transición más fluida entre dispositivos Apple, y ha introducido el modo oscuro para una mejor experiencia visual.

Android y iOS han incorporado asistentes de voz más inteligentes, modos de bienestar digital para ayudar a los usuarios a gestionar su tiempo en pantalla, y han mejorado la privacidad y seguridad con actualizaciones más frecuentes y transparentes.

Estas son solo algunas de las innovaciones recientes.


 Impacto de la computación en la nube y los sistemas operativos:Los servicios de almacenamiento en la nube funcionan al almacenar datos en servidores remotos que son accesibles a través de internet. Aquí hay una descripción general de cómo funcionan:

  1. Subida de datos: Los usuarios suben archivos desde sus dispositivos a la nube, donde se almacenan en centros de datos.
  2. Gestión de datos: Los servicios de la nube permiten organizar, compartir y acceder a los archivos desde cualquier lugar, en cualquier momento, siempre que haya una conexión a internet.
  3. Seguridad: Los datos se cifran durante la transmisión y mientras están almacenados en la nube para protegerlos contra accesos no autorizados.
  4. Sincronización: Los cambios realizados en un archivo se sincronizan automáticamente en todos los dispositivos vinculados a la cuenta del usuario.
  5. Escalabilidad: Los usuarios pueden aumentar o disminuir su espacio de almacenamiento según sus necesidades.

Servicios populares como Google Drive, iCloud y Dropbox utilizan esta tecnología para ofrecer soluciones de almacenamiento flexibles y seguras.

La computación en la nube ha impactado los sistemas operativos de varias maneras:

  • Flexibilidad: Los usuarios pueden acceder a sus sistemas operativos y aplicaciones desde cualquier dispositivo con conexión a internet, gracias a la virtualización y los escritorios como servicio (DaaS).
  • Actualizaciones automáticas: Los sistemas operativos pueden actualizarse automáticamente sin intervención del usuario, mejorando la seguridad y la funcionalidad.
  • Escalabilidad de recursos: Los usuarios pueden escalar recursos como CPU, memoria y almacenamiento en tiempo real según la demanda.
  • Modelo de pago por uso: Los usuarios pagan solo por los recursos que utilizan, lo que puede reducir los costos operativos.

Sistemas operativos para dispositivos IoT (Internet de las Cosas):Los sistemas operativos para dispositivos IoT están diseñados para ser ligeros y eficientes, capaces de funcionar en hardware con recursos limitados. Algunos de los sistemas operativos más comunes para IoT incluyen:

FreeRTOS: Un sistema operativo en tiempo real para microcontroladores que es gratuito y de código abierto.


RIOT: Se promociona como el sistema operativo amigable para IoT, también es de código abierto y se adapta a una variedad de dispositivos.

Zephyr: Un proyecto de Linux Foundation, es un sistema operativo en tiempo real que soporta múltiples arquitecturas de hardware.


Windows 10 IoT Core: Una versión de Windows 10 optimizada para dispositivos más pequeños y con menos recursos.


Android Things: Basado en Android, está diseñado para dispositivos conectados y puede integrarse fácilmente con servicios de Google Cloud.


Estos sistemas operativos están optimizados para la conectividad y suelen incluir características como la gestión remota, la seguridad integrada y el soporte para una variedad de protocolos de comunicación.



Comentarios