Hay dos tipos principales de software: software de sistemas y software de aplicación. El software de sistemas incluye los programas que se dedican a administrar la computadora en sí, como el sistema operativo, las utilidades de administración de archivos y el sistema operativo de disco (o DOS).
El software del sistema es un software que proporciona plataforma a otros softwares. Algunos ejemplos pueden ser sistemas operativos, software antivirus, software de formateo de disco, traductores de lenguaje de computadora, etc. Estos son comúnmente preparados por los fabricantes de computadoras. Estos softwares consisten en programas escritos en lenguajes de bajo nivel, utilizados para interactuar con el hardware a un nivel muy básico. El software del sistema sirve como interfaz entre el hardware y los usuarios finales.
Las características más importantes del software del sistema incluyen:
1. Cercanía al sistema
2. Alta velocidad
3. Difícil de manipular
4. Escrito en lenguaje de bajo nivel
5. Difícil de diseñar
Un sistema operativo (SO) es un tipo de software de sistema que administra los recursos de hardware y software de la computadora. Proporciona servicios comunes para programas informáticos. Un sistema operativo actúa como enlace entre el software y el hardware. Controla y mantiene un registro de la ejecución de todos los demás programas que están presentes en la computadora, incluidos los programas de aplicación y otro software del sistema.
Las tareas más importantes realizadas por el sistema operativo son
1. Administración de memoria : el sistema operativo realiza un seguimiento de la memoria principal y asigna la memoria cuando un proceso lo solicita.
2. Gestión del procesador : asigna la memoria principal (RAM) a un proceso y la desasigna cuando ya no es necesaria.
3. Gestión de archivos: asigna y desasigna los recursos y decide quién obtiene los recursos.
4. Seguridad: Impide el acceso no autorizado a programas y datos mediante contraseñas.
5. Ayudas para la detección de errores: producción de volcados, seguimientos, mensajes de error y otros métodos de depuración y detección de errores.
6. Programación: el sistema operativo programa el proceso a través de sus algoritmos de programación.
Compilador: un compilador es un software que traduce el código escrito en un idioma a otro idioma sin cambiar el significado del programa. También se dice que el compilador hace que el código objetivo sea eficiente y optimizado en términos de tiempo y espacio.
Un compilador realiza casi todas las siguientes operaciones durante la compilación: preprocesamiento, análisis léxico, análisis sintáctico, análisis semántico (traducción dirigida por la sintaxis), conversión de programas de entrada a una representación intermedia, optimización de código y generación de código. Los ejemplos de compilador pueden incluir gcc (compilador de C), g ++ (compilador de C++), javac (compilador de Java), etc.
Intérprete: Un intérprete es un programa informático que ejecuta directamente, es decir, ejecuta instrucciones escritas en un lenguaje de programación o scripting. Los intérpretes no requieren que el programa esté previamente compilado en un programa de lenguaje de máquina. Un intérprete traduce instrucciones de alto nivel a una forma intermedia, que luego se ejecuta.
Los intérpretes son rápidos ya que no es necesario pasar por la etapa de compilación durante la cual se generan las instrucciones de la máquina. Interpretter traduce continuamente el programa hasta que se cumple el primer error. Si llega un error, deja de ejecutarse. Por lo tanto, la depuración es fácil. Los ejemplos pueden incluir Ruby, Python, PHP, etc.
Ensamblador: un ensamblador es un programa que convierte el lenguaje ensamblador en código de máquina. Toma los comandos y operaciones básicos y los convierte en código binario específico para un tipo de procesador.
Los ensambladores producen código ejecutable similar a los compiladores. Sin embargo, los ensambladores son más simplistas ya que solo convierten código de bajo nivel (lenguaje ensamblador) a código de máquina. Dado que cada lenguaje ensamblador está diseñado para un procesador específico, ensamblar un programa se realiza utilizando un mapeo simple uno a uno del código ensamblador al código máquina. Por otro lado, los compiladores deben convertir el código fuente genérico de alto nivel en código de máquina para un procesador específico.
Artículo Relacionado: Compilador vs Intérprete
Publicación traducida automáticamente
Artículo escrito por Ayusharma0698 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA