Programas del sistema:
* Propósito: Administre y controle los recursos de hardware y software de la computadora. Proporcionan una plataforma para que los programas de aplicación se ejecute. Piense en ellos como los trabajadores detrás de escena que mantienen todo funcionando sin problemas.
* Interacción con hardware: Interactúa directamente con dispositivos de hardware (por ejemplo, CPU, memoria, almacenamiento). A menudo usan instrucciones privilegiadas a las que los programas de aplicaciones no pueden acceder.
* Ejemplos:
* Sistemas operativos (OS): Windows, MacOS, Linux:administre todos los aspectos de la computadora.
* Controladores del dispositivo: Software que permite que el sistema operativo se comunique con hardware específico (impresoras, tarjetas gráficas, etc.).
* compiladores e intérpretes: Traducir los lenguajes de programación (como C ++, Java, Python) al código de la máquina.
* enlaces: Combine múltiples archivos de objetos en un solo ejecutable.
* cargadores: Cargue los programas en la memoria y prepararlos para la ejecución.
* Utilidades: Herramientas para administrar archivos, discos y recursos del sistema (por ejemplo, desfragmentadores de disco, utilidades de copia de seguridad).
* Interacción de usuario: A menudo interacción mínima o indirecta del usuario. Puede usar una interfaz de línea de comandos para interactuar con algunos programas del sistema, pero principalmente funcionan en segundo plano.
* Lenguajes de programación: Típicamente escrito en idiomas de bajo nivel (como C, C ++) para la eficiencia y el control directo de hardware.
Programas de aplicación:
* Propósito: Realizar tareas específicas para los usuarios. Son los programas con los que los usuarios interactúan directamente para lograr sus objetivos.
* Interacción con hardware: Interactúa indirectamente con el hardware a través del sistema operativo. No tienen acceso directo a los recursos de hardware.
* Ejemplos:
* procesadores de palabras: Microsoft Word, Google Docs
* Hojas de cálculo: Microsoft Excel, Hojas de Google
* navegadores web: Chrome, Firefox, Safari
* Juegos: Minecraft, Fortnite
* Editores de fotos: Adobe Photoshop, Gimp
* bases de datos: Mysql, postgresql
* Interacción de usuario: Interacción directa del usuario a través de una interfaz gráfica de usuario (GUI) o una interfaz de línea de comandos (CLI).
* Lenguajes de programación: Se puede escribir en una variedad de idiomas de alto nivel (como Java, Python, C#, JavaScript) dependiendo de las necesidades de la aplicación.
En resumen:los programas del sistema son la base sobre la cual se ejecutan los programas de aplicación. Los programas de aplicación son las herramientas que emplean los usuarios para realizar tareas específicas, mientras que los programas del sistema administran los recursos del sistema subyacentes que hacen posible esas tareas. Son interdependientes; Los programas de aplicación dependen de los programas del sistema para funcionar.