Sistema operativo - Linux

Linux es una de las versiones populares del sistema operativo UNIX. Es de código abierto ya que su código fuente está disponible gratuitamente. Es de uso gratuito. Linux fue diseñado considerando la compatibilidad con UNIX. Su lista de funciones es bastante similar a la de UNIX.

Componentes del sistema Linux

El sistema operativo Linux tiene principalmente tres componentes

  • Kernel- El kernel es la parte central de Linux. Es responsable de todas las actividades principales de este sistema operativo. Consta de varios módulos e interactúa directamente con el hardware subyacente. Kernel proporciona la abstracción necesaria para ocultar detalles de hardware de bajo nivel en el sistema o los programas de aplicación.

  • System Library- Las bibliotecas del sistema son funciones o programas especiales que utilizan programas de aplicación o utilidades del sistema para acceder a las funciones del Kernel. Estas bibliotecas implementan la mayoría de las funcionalidades del sistema operativo y no requieren derechos de acceso al código del módulo del kernel.

  • System Utility - Los programas de utilidad del sistema son responsables de realizar tareas especializadas a nivel individual.

Modo kernel vs modo usuario

El código del componente del kernel se ejecuta en un modo privilegiado especial llamado kernel modecon pleno acceso a todos los recursos de la computadora. Este código representa un solo proceso, se ejecuta en un solo espacio de direcciones y no requiere ningún cambio de contexto y, por lo tanto, es muy eficiente y rápido. Kernel ejecuta cada proceso y proporciona servicios del sistema a los procesos, proporciona acceso protegido al hardware a los procesos.

El código de soporte que no es necesario para ejecutarse en modo kernel se encuentra en la biblioteca del sistema. Los programas de usuario y otros programas del sistema funcionan enUser Modeque no tiene acceso al hardware del sistema ni al código del kernel. Los programas / utilidades de usuario utilizan las bibliotecas del sistema para acceder a las funciones del núcleo y obtener las tareas de bajo nivel del sistema.

Caracteristicas basicas

A continuación se muestran algunas de las características importantes del sistema operativo Linux.

  • Portable- Portabilidad significa que el software puede funcionar en diferentes tipos de hardware de la misma manera. Los programas de aplicación y kernel de Linux admiten su instalación en cualquier tipo de plataforma de hardware.

  • Open Source- El código fuente de Linux está disponible gratuitamente y es un proyecto de desarrollo basado en la comunidad. Varios equipos trabajan en colaboración para mejorar la capacidad del sistema operativo Linux y está en continua evolución.

  • Multi-User - Linux es un sistema multiusuario, lo que significa que varios usuarios pueden acceder a los recursos del sistema como memoria / ram / programas de aplicación al mismo tiempo.

  • Multiprogramming - Linux es un sistema de multiprogramación que significa que se pueden ejecutar múltiples aplicaciones al mismo tiempo.

  • Hierarchical File System - Linux proporciona una estructura de archivos estándar en la que se organizan los archivos del sistema / archivos de usuario.

  • Shell- Linux proporciona un programa intérprete especial que se puede utilizar para ejecutar comandos del sistema operativo. Se puede utilizar para realizar varios tipos de operaciones, llamar a programas de aplicación. etc.

  • Security - Linux proporciona seguridad al usuario mediante funciones de autenticación como protección con contraseña / acceso controlado a archivos específicos / cifrado de datos.

Arquitectura

La siguiente ilustración muestra la arquitectura de un sistema Linux:

La arquitectura de un sistema Linux consta de las siguientes capas:

  • Hardware layer - El hardware consta de todos los dispositivos periféricos (RAM / HDD / CPU, etc.).

  • Kernel - Es el componente central del sistema operativo, interactúa directamente con el hardware, proporciona servicios de bajo nivel a los componentes de la capa superior.

  • Shell- Una interfaz para el kernel, que oculta la complejidad de las funciones del kernel a los usuarios. El shell toma comandos del usuario y ejecuta las funciones del kernel.

  • Utilities - Programas de utilidad que brindan al usuario la mayoría de las funcionalidades de un sistema operativo.