dc.contributor.author |
García Ambrosy, Rodrigo José |
|
dc.date.accessioned |
2025-05-08T16:41:19Z |
|
dc.date.available |
2025-05-08T16:41:19Z |
|
dc.date.issued |
2023 |
|
dc.identifier.uri |
https://repositorio.uvg.edu.gt/xmlui/handle/123456789/5952 |
|
dc.description |
Tesis. Licenciatura en Ingeniería Electrónica. Facultad de Ingeniería (98 p.). |
en_US |
dc.description.abstract |
C++ es un lenguaje de programación muy amplio con el que se pueden realizar distintos
programas. Por eso, se trabajó principalmente con la Raspberry Pi 3 modelo B y
Raspberry Pi 4 para demostrar las capacidades del lenguaje en cuanto el uso de multihilos,
multiprocesos, protocolos de red y algoritmos de escalonamiento.
Para la demostración de dichas capacidades, se usaron los laboratorios del curso Digital
3 con el fin de abarcar cada tema como un trabajo en específico para el análisis y desarrollo
de estas herramientas de software. Se adaptaron estos laboratorios, hechos en el lenguaje
de programación C, y todo el trabajo fue realizado en el sistema operativo de Raspbian (el
sistema operativo de Linux diseñado para las Raspberry Pi).
Al realizar la traducción de C a C++ para demostrar las capacidades mencionadas, se
encontró que sí es posible, incluso algunas capacidades son más sencillas de implementar en
C++ sin la necesidad de utilizar muchas librerías, por ejemplo: las librerías thread, chrono y
iostream simplifican el desarrollo de algunos trabajos, además de que implican un ahorro al
ser librerías propias del sistema operativo de Linux. Otra ventaja en C++ es el uso de clases
en algunos programas, ya que facilitó los programas de C que necesitan trabajar con librerías
estáticas. Estos resultados fueron verificados al momento de traducir los laboratorios 3, 5,
6, 7 y 8. Esto permitió analizar detalladamente ciertas herramientas y librerías específicas
para un mejor entendimiento. Además, la traducción del proyecto proporciona una visión
más clara de cómo estas herramientas se comportan en un sistema SCADA programado en
lenguaje C++.
Las limitantes que se encontraron al trabajar con el lenguaje de programación C++ fue
las distintas versiones existentes, ya que se tiene que tomar en cuenta con qué versión se está
trabajando para utilizar ciertas librerías estándar específicas. Entre más nueva la versión, se
tiene un mayor repertorio de librerías. Al momento de encontrar librerías que no se pueden
implementar en la versión instalada del sistema, se optó por tener en cuenta las librerías
estándar de C, ya que C++ permite seguir utilizándolas a pesar de ser otro lenguaje de
programación. (LA) |
en_US |
dc.language.iso |
es |
en_US |
dc.publisher |
Universidad del Valle de Guatemala |
en_US |
dc.subject |
Electronics -- Guatemala -- Technological innovation |
en_US |
dc.subject |
Software development and engineering -- Tools |
en_US |
dc.subject |
Computer network protocols |
en_US |
dc.subject |
Simultaneous multithreading processors |
en_US |
dc.subject |
Protocolos de redes de ordenadores |
en_US |
dc.title |
Desarrollo de librerías y herramientas de software para programación multihilos, multiprocesos, escalonamiento, comunicación de interprocesos y protocolos de red en lenguaje C++. |
en_US |
dc.type |
Public Thesis |
en_US |