El sistema operativo es el software que coordina y dirige todos los servicios y aplicaciones que utiliza el usuario en una computadora, por eso es el más importante y fundamental. Se trata de programas que permiten y regulan los aspectos más básicos del sistema. Los sistemas operativos más utilizados son Windows, Linux, OS/2 y Android.
Los tipos de sistema operativo varían según el hardware y la función de cada dispositivo. Existen algunos para ordenadores y otros para dispositivos móviles.
-
Según el usuario pueden ser: multiusuario, sistema operativo que permite que varios usuarios ejecuten simultáneamente sus programas; o monousuario, sistema operativo que solamente permite ejecutar los programas de un usuario a la vez.
-
Según la gestión de tareas pueden ser: monotarea, sistema operativo que solamente permite ejecutar un proceso a la vez; o multitarea, sistema operativo que puede ejecutar varios procesos al mismo tiempo.
-
Según la gestión de recursos pueden ser: centralizado, sistema operativo que solo permite utilizar los recursos de un solo ordenador; o distribuido, sistema operativo que permite ejecutar los procesos de más de un ordenador al mismo tiempo.
Microsoft Windows. De los más populares que existen, inicialmente se trató de un conjunto de distribuciones o entornos operativos gráficos, cuyo rol era brindar a otros sistemas operativos más antiguos como el MS-DOS una representación visual de soporte y de otras herramientas de software. Se publicó por primera vez en 1985 y desde entonces se ha actualizado a nuevas versiones.
MS-DOS. Se trata del Sistema Operativo de Disco de MicroSoft (siglas en inglés de MicroSoft Disk Operating System), uno de los sistemas operativos más comunes para computadoras personales IBM durante la década de 1980 y mediados de los 90. Contaba con una serie de comandos internos y externos mostrados en una pantalla oscura de manera secuencial.
UNIX. Este sistema operativo fue desarrollado en 1969 para ser portable, multitarea y multiusuario. Se trata realmente de una familia entera de SO similares, algunas de cuyas distribuciones se han ofrecido comercialmente y otros en formato libre, siempre a partir del núcleo llamado Linux.
MacOS. Es el sistema operativo de los computadores Macintosh de Apple, también conocido como OSX o Mac OSX. Basado en Unix y desarrollado y vendido en computadores Apple desde 2002, se trata de la competencia más acérrima del popular Windows.
Debian/Ubuntu/CentOS/Red Hat/… Estas distribuciones de sistema operativo es libre y de código abierto, o sea, todo el mundo puede modificarlo sin violar derechos autorales. En el caso de Ubuntu,toma su nombre de cierta filosofía surafricana ancestral, enfocada en la lealtad del hombre hacia su propia especie por encima de todo. Basado en GNU/Linux, Ubuntu se orienta hacia la facilidad de uso y la libertad total. La empresa británica que lo distribuye, Canonical, subsiste brindando servicio técnico.
Android. Este sistema operativo basado en el núcleo Linux opera en teléfonos celulares y tablets y otros artefactos dotados de pantalla táctil. Fue desarrollado por Android Inc. y comprado posteriormente por Google, gracias a lo cual es tan popular que las ventas de sistemas informáticos Android superan a las de IOS (para teléfonos celulares Macintosh) y a las de Windows Phone (para teléfonos celulares MicroSoft).
En este tutorial nos enfocaremos en la Estructura de un Sistema de Archivos GNU/Linux.
Estructura de un Sistema de Archivos en GNU/ Linux
En los sistemas Unix, todo lo que puede ser manipulado por el sistema operativo está representado bajo la forma de archivo, incluyendo ahí directorios, dispositivos y procesos.
En este artículo, abordamos los principales conceptos acerca de los archivos y directorios en Linux.
Linux sigue el estándar POSIX, el mismo que es utilizado por otros sistemas operativos derivados de Unix. De esta forma, conociendo Linux, no tendrás dificultades en operar otros sistemas como HPUX, FreeBSD, Solaris, etcétera, que así como Linux, están basados en Unix.
También, debido al gran número de distribuciones de Linux que existen, fueron determinados patrones sobre la estructura de Linux y la forma de manipular los archivos.
Estos estándares constituyen la Linux Standard Base (Base Estándar de Linux), o simplemente LSB. La LSB contiene todas las características que un sistema Linux debe adoptar, para mantener un nivel de compatibilidad entre las diferentes distribuciones.
Filesystem Hierarchy Standard
Los sistemas GNU/Linux tienen un patrón duro y específico al respecto de la organización jerárquica de los directorios, definido por Filesystem Hierarchy Standard, o simplemente FHS.
El directorio que contiene todos los demás directorios se llama directorio raíz y se encuentra en la parte superior de la estructura, siendo representado por el signo «/». Todos los demás directorios deben ser referenciados a partir de este, así como en /directorio.
En los sistemas Unix, todo lo que puede ser manipulado por el sistema operativo está representado bajo la forma de archivo, incluyendo ahí directorios, dispositivos y procesos.
Abordamos los principales conceptos acerca de los archivos y directorios en Linux.
Linux sigue el estándar POSIX, el mismo que es utilizado por otros sistemas operativos derivados de Unix. De esta forma, conociendo Linux, no tendrás dificultades en operar otros sistemas como HPUX, FreeBSD, Solaris, etcétera, que así como Linux, están basados en Unix.
También, debido al gran número de distribuciones de Linux que existen, fueron determinados patrones sobre la estructura de Linux y la forma de manipular los archivos.
Estos estándares constituyen la Linux Standard Base (Base Estándar de Linux), o simplemente LSB. La LSB contiene todas las características que un sistema Linux debe adoptar, para mantener un nivel de compatibilidad entre las diferentes distribuciones.
Archivos en Linux
Se suele definir el archivo como el lugar donde escribimos nuestros datos. En otros sistemas operativos se hace una distinción entre archivos, directorios, dispositivos y otros componentes del sistema. En GNU/Linux, sin embargo, todo aquello que puede ser manipulado por el sistema es tratado como un archivo.
Pero, si todo es un archivo, ¿el sistema operativo hace la distinción entre archivo regular, directorio, dispositivo, procedimiento, etcétera? Muy simple: todo archivo tiene lo que se llama “encabezado”, que contiene información como: tipo, tamaño, fecha de acceso, modificación, y más. A través de este encabezado, GNU/Linux sabe cuándo se trata de un archivo regular, directorio, dispositivo, y así sucesivamente.
Tipos de archivos en Linux
Los tipos de archivos existentes en un sistema GNU/Linux son los siguientes:
1. Archivo regular: tipo común que contiene datos solamente. Los archivos regulares pueden ser de los más variados tipos, cumpliendo con los más diferentes tipos de información. Hay archivos de audio, vídeo, imagen, texto, y mucho más. Los archivos se dividen en 2 categorías principales:
a. Binarios: los archivos binarios están formados por bits 1 y 0 y solo pueden ser interpretados por el sistema operativo, siendo incomprensibles por nosotros los humanos. Si un archivo binario se abre en un editor de textos, aparecen varios símbolos extraños. Programas y bibliotecas son ejemplos de archivos binarios.
b. Texto: los archivos de tipo texto están compuestos por información en forma de texto, que pueden ser entendidos por el usuario común. Archivos de ese tipo no necesariamente contienen el texto propiamente dicho. Cuando se dice que un archivo es del tipo de texto estamos queriendo decir que, si lo abrimos con un editor de texto, se mostrará información legible.
2. Directorios: los directorios son utilizados para separar un grupo de archivos de otros. Un directorio puede contener archivos y otros directorios, que serán llamados subdirectorios.
3. Dispositivos: todo componente de hardware instalable es llamado dispositivo. Placas de vídeo, sonido, red, unidades de CD-ROM, todo lo que se conecta a la interfaz USB y la memoria RAM, son considerados dispositivos. Los dispositivos pueden ser:
a. De bloque: los dispositivos de bloque utilizan el búfer de lectura/grabación. Generalmente son unidades de disco, como HD’s, CD’s, etcétera.
b. De caracter: estos dispositivos no utilizan el búfer de lectura/grabación. La mayoría de los dispositivos PCI y otros dispositivos como impresoras, ratón, etcétera son de tipo caracter.
c. Fifo: se trata de un canal de comunicación, a través del cual se pueden ver los datos que están transitando por un dispositivo.
4. Enlaces: los enlaces son archivos utilizados para hacer referencia a otro archivo ubicado en otro lugar. En otras palabras, son accesos directos. Los enlaces pueden ser de 2 tipos:
a. Simbólicos: hacen una referencia al archivo a través de su dirección lógica en el disco o la memoria. Son los enlaces más comunes.
b. Absolutos: hacen referencia al archivo a través de su dirección física en el disco duro o la memoria.
5. FIFO: canal de comunicación que se utiliza para dirigir los datos producidos por procesos a otro proceso.
Los archivos pueden contener diferentes tipos de información. Cada tipo de información requiere un método específico de trabajo. Así, un archivo de imagen no puede ser leído por un programa de reproducción de audio, porque los datos de un archivo de imagen se organizan de forma totalmente distinta a la de un archivo de audio, y el programa en cuestión solo es capaz de leer archivos de audio.
Con esto en vista, es necesario que el sistema operativo y otros programas puedan distinguir los distintos tipos de archivos disponibles, para evitar que un programa intente manipular un tipo de archivo que no soporta.
GNU/Linux hace esta diferenciación a través de la lectura del encabezado del archivo. Así, la extensión del archivo en general no importa al sistema operativo, se utiliza tan solo para una fácil identificación del usuario, motivo por el cual es muy común encontrar archivos sin extensión en GNU/Linux.
Nombres de archivos
Los nombres de archivos en GNU/Linux pueden tener hasta 255 caracteres, pudiendo utilizar los espacios y acentos. Hay una excepción solo en cuanto al uso de los caracteres especiales / | » * ? < > ! `.
Un punto muy importante que debe ser moldeado es que GNU/Linux es case sensitive, es decir, distingue entre mayúsculas y minúsculas. Siendo así, los archivos file.iso y File.iso son diferentes para GNU/Linux. Por lo tanto, cuando te refieras a un archivo, asegúrate de escribir con la interpretación correcta.
Directorios
Los directorios, como seguramente sepas, contienen archivos u otros directorios. Todo sistema operativo contiene lo que se llama “árbol de directorios”, que es una estructura básica de directorios y subdirectorios.
En GNU/Linux, el árbol de directorios está particularmente muy bien organizado, y los archivos se dividen en categorías. Así, los archivos ejecutables (programas) son agrupados en un directorio determinado, mientras que las bibliotecas están archivadas en otro, y los archivos temporales en otro, y así sucesivamente.
Esto garantiza una buena organización del sistema y también trae una gran comodidad.
- Tutorial
- Programas, aplicaciones