Introducción - AlexisAlvaradoB/RoboticTEC_SO GitHub Wiki

Introducción

Los sistemas operativos, más allá de un medium virtual, se han convertido en uno de los actores más importantes de la computación, siendo que, su colosal alcance, les inmiscuye en áreas de hardware como hasta son los periféricos personalizados, hasta como habilitar opciones de virtualización de alta dificultad de sincronización y comunicación a como son los sistemas distribuidos.

En este proyecto se trabajan con múltiples conceptos de sistemas operativos al mismo tiempo, los cuales son: computación distribuida, drivers, encriptación. Además, se refuerzan conocimientos elmentales como las estructuras de datos, el manejo de lenguaje imperativo y el uso de microcontroladores sencillos. Por lo tanto, se verá, rápidamente, cada concepto a trabajar:

  • Computación distribuida

La computación distribuida se refiere a los sistemas multidispositivos que implementan técnicas de paralelización, comunicación y distribución de recursos, con el fin de ya sea disminuir el peso de trabajo en algunos de los nodos, o bien, aumentar la eficiencia de desempeño. Estos se pueden encontrar desde escalas muy pequeñas, a como son los procesadores multi-core, hasta sistemas colosales como la infraestructura de la nube [1].

  • Drivers

Los drivers pertenecen a una serie de programas los cuales se ejecutan en espacio de kernel, y tienen como objetivo servir de controlador directo de dispositivos físicos, así como lo podrían ser parlantes, teclados, o hasta dispositivos de almacenamiento externo, así como también se permiten para el control de dispositivos embebidos con acceso a las terminales físicas de la computadora. A pesar de que hay algunos que se pueden instalar a posteriori, los kernels monolíticos a como Linux suelen tener previamente instalados miles de estos [2].

  • Encriptación

Dentro de la computación contemporánea, debido a la cantidad tan masiva de datos sensibles que se pueden encontrar tanto en sistemas locales a como en ambientes interconectados, el cifrado de la información se ha convertido en una de las herramientas más vitales durante la comunicación y navegación rutinaria.

Siendo así, la encriptación llegó como una herramienta para clasificar la información de los archivos, volviéndola virtualmente ilegible para usuarios terceros a los que no se les ha relevado el permiso de acceso. A nivel de sistemas distribuidos, debido a que muchas veces los sistemas requieren de comunicación por medios como internet (por ejemplo, en la computación en la nube), la codificación resulta un paso intermedio mas vital, que siempre ha de contenmplarse al implementar un proyecto de este tipo.

Con estos conceptos ya vistos, se puede proceder a una exploración a nivel más profunda del diseño del proyecto, su arquitectura, y los recursos físicos y virtuales requeridos, para así cumplir el objetivo de desarrollar un proceso biparadigmático, demostrando mediantes clases virtuales con una mano robótica sencilla, la palabra que más veces se encuentra en un archivo de texto, utilizando una virtualización de un sistema distribuído en cluster.