Sistemas Operativos y otros programas
* Así como Unix el antecesor de este sistema operativo, GNU/Linux -a menudo denominado tan sólo como Linux, que es el nombre del núcleo del SO- hace uso de un buen número de lenguajes de programación en sus distintos componentes. ¿Cuáles son esos lenguajes? Cada tipo de recurso parece tener ciertas preferencias, y es que hay lenguajes más adecuados para unas cosas. Obviamente el lenguaje de programación C sigue siendo la base, pero hay mucho más implicados.
* Kernel y drivers de dispositivos: Tanto los drivers como el kernel funcionan en un nivel realmente bajo de operaciones en el ordenador. Para escribir el kernel del sistema operativo y acceder a las propiedades del hardware tales como los ciclos de la memoria, buses de entrada/salida, etc., se necesita un lenguaje que pueda comunicarse con el hardware con potencia. El kernel Linux hace uso del lenguaje C (aunque en realidad no se trate de un lenguaje de bajo nivel) con una pequeña parte en lenguaje ensamblador.
* Librerías y utilidades: Las librerías y utilidades básicas del sistema tales como mkdir, chmod, chown, head, tail, chroot, uptime, users también están escritas en lenguaje C.
* Gestores de paquetes y programas de configuración: Los gestores de paquetes tales como yum, apt, dpkg, etcétera, también están escritos en C, que como veis es la estrella absoluta de los componentes "base" de un sistema GNU/Linux.
* Entornos de Escritorio y gestores de ventanas: La mayoría de gente usa un entorno de escritorio, y es que a día de hoy poco queda sólo en interfaz de línea de comandos. Los gestores de ventanas tales como metacity, kwin están desarrollados en C y requieren gcc para ser compilados. El entorno de escritorio, iconos, ventanas, barras de herramientas, etc, están basados en librerías específicas (Qt para KDE, GTK+ para GNOME) y hacen uso del lenguaje mayoritario, C.
* Aplicaciones gráficas de usuario: Este es el punto donde entran en juego una gran cantidad de lenguajes de programación, dado que básicamente es la capa más alta. Tenemos una gran variedad: C, Python, Java, Perl y otros. Hay librerías GTK+, Tcl/Tk, Qt que son un frontend gráfico a tareas que corren por detrás en línea de comando.
* El Sistema operativo Windows está hecho básicamente en C, C tiene la ventaja de que puede escalarse con ensamblador, lo cual es buena opción para optimizar ciertos módulos.
Las versiones anteriores de Windows estaban hechas en Basic (Basic NO visual Basic) que es un lenguaje de bajo nivel de hace unos cuantos años ya. Es un lenguaje que se usa mucho en la electrónica aun.
* Actualmente Windows 7 Mac os x Leopard y Linux usan mas de una Tecnología ya se empezó a usar c# c++ y hasta java en el caso de linux se usa phytom c y tbn ensambladores y demás cosas, y Mac siempre basado en Unix con compilación en C++ para los últimos Sistemas Operativos.
¿Qué se ha hecho en C o en C++?
Discussion on C, C++ and C++11 at the COJ. This is the place to clear your doubts about these languages, and to share with the community the new things you learn about them.
-
Taque1
- Posts: 18
- Joined: 7 years ago
- Location: http://postgresql.uci.cu/ ¨Comunidad del PostgreSQL¨
- Gender:

- Contact:
Jump to
- General discussions
- ↳ Problem set
- ↳ Algorithms
- ↳ Documentation
- ↳ FAQ
- ↳ Guestbook
- ↳ Off topic
- ↳ MPC-TLJ
- ↳ ICPC
- ↳ World Finals
- ↳ Regional Contests
- ↳ South America
- ↳ Mexico and Central America
- ↳ Caribbean
- Online judge system
- ↳ Bugs
- ↳ Archive (fixed)
- ↳ Suggestions
- ↳ Archive (done)
- ↳ Announcements
- ↳ Related tools
- Programming languages
- ↳ C/C++/C++11
- ↳ Java
- ↳ Other languages
- Competitive Programming Contests
- ↳ ICPC Caribbean Local Contests
- ↳ Previous editions
- ↳ 2013
- ↳ 2012
- ↳ 2016
- ↳ Local contests
- ↳ 2016 UCI Finals
- ↳ 2016 UHO Finals
- ↳ 2017
- ↳ Local contests
- ↳ 2017 UCI Finals
- ↳ 2017 UO-SJAM Finals
- ↳ 2017 UHO Finals
- ↳ 2018
- ↳ Local contests
- ↳ 2018 UCI Finals
- ↳ 2019
- ↳ Local contests
- ↳ 2019 UCI Finals
- ↳ ICPC Caribbean National Contests
- ↳ Previous editions
- ↳ 2016
- ↳ 2016 Cuban Finals
- ↳ 2016 Dominican Finals
- ↳ 2016 PuertoRican Finals
- ↳ 2016 Jamaican Finals
- ↳ 2016 US Virgin Islands Finals
- ↳ 2017
- ↳ 2017 Cuban Finals
- ↳ 2017 Dominican Finals
- ↳ 2017 PuertoRican Finals
- ↳ 2017 Jamaican Finals
- ↳ 2017 US Virgin Islands Finals
- ↳ 2017 Trinidad and Tobago Finals
- ↳ 2018
- ↳ 2018 Cuban Finals
- ↳ 2018 Dominican Finals
- ↳ 2018 PuertoRican Finals
- ↳ 2018 Trinidad and Tobago Finals
- ↳ 2019
- ↳ 2019 Cuban Finals
- ↳ 2019 Dominican Finals
- ↳ 2019 PuertoRican Finals
- ↳ 2019 Trinidad and Tobago Finals
- ↳ 2019 Jamaican Finals
- ↳ ICPC Caribbean Finals (Regional Contest)
- ↳ Previous editions
- ↳ 2015
- ↳ 2016
- ↳ 2016 Cuban Site
- ↳ 2016 Dominican Site
- ↳ 2017
- ↳ 2017 Cuban Site
- ↳ 2017 Dominican Site
- ↳ 2017 PuertoRican Site
- ↳ 2018
- ↳ 2018 Cuban Site
- ↳ 2018 Dominican Site
- ↳ 2019
- ↳ 2019 Cuban Site
- ↳ 2019 Dominican Site
- ↳ Other contests
- ↳ Liga Cubana de Programación (LCP)
- ↳ Copa UNIVERSIDAD de Programación
- ↳ Copa COMPUMAT de Programación
- ↳ Campamentos Caribeños de Entrenamiento
- ↳ The COJ Progressive Contests
- ↳ The COJ Caribbean Training Contests
- ↳ The COJ Rounds
- ↳ Concursos argentinos
- ↳ Concursos mexicanos