EL SISTEMA OPERATIVO
No voy a comenzar con una de esas definiciones ultra sintetizadas que de tan abstractas son rápidamente olvidadas.
Para entender qué es un Sistema Operativo veamos un ejemplo. Supongamos que estamos frente a nuestra computadora y que esta tiene la particularidad de no tener un SO instalado. Solamente contamos con el BIOS [que en realidad es un mini Sistema Operativosonrisa] y nada más. Vamos a realizar en estas condiciones el intento de guardar en un disco rígido cierta información que contenemos en un Cd... Tal vez seguiríamos los siguientes pasos:
1) Colocamos el Cd en la lectora correspondiente
2) Utilizamos un comando que lea la información del Cd
3) Copiamos esa información al disco rígido
Todo muy lindo...¡pero no funcionó! ¿porqué? Nos hemos olvidado de varios procesos que deben llevarse a cabo y que por lo general no tomamos en cuenta. Por ejemplo:
1) El posicionado de la cabeza de la lectora de Cd y la utilización del laser y elementos de lectura
2) ¿Donde se ubicará el comando para que la máquina entienda que debe copiar?
3) ¿cómo se disponen en el disco rígido los bits y como se sincroniza el movimiento del motor y la posición del cabezal?
O sea que hay una serie de tareas (muchas más que las mencionadas en el ejemplo) que son casi desconocidas para nosotros y que realiza "en silencio" el Sistema Operativo.
Podríamos definir al SO como una capa de abstracción que se ubica entre el hardware y nosotros los usuarios y que cuenta con las herramientas adecuadas (como drivers de comunicación entre dispositivos físicos y la CPU) para la administración de la computadora.
Si consideramos al hardware como una máquina hostil para el ser humano [lease el usuario y ¡vaya si puede serlo!sonrisa], el SO podría ser considerado como una máquina virtual que recubre esa máquina real y que es mucho más amigable. Incluso el SO tiende a estandarizar el uso de diferentes máquinas reales (diferente hardware) haciendo que la operación de las mismas sea similar.
Un Sistema Operativo está compuesto por:
1) Núcleo o Kernel. En el caso concreto de gnu/linux el kernel -sin compilar listo para leer- se encuentra en www.kernel.org (¡esas cosas que tiene el software libre!. Otros kernel están compilados y sus fuentes son guardadas bajo "7 llaves" para que nadie pueda conocerlas)
2) Shell o intérprete de comandos. Es el intermediario entre el usuario y el núcleo. Aquellos que hayan conocido el DOS recordarán el uso del command.com, en gnu/linux hay varios intérpretes posibles, pero el más usado es el Bash.
3) Colección mínima de herramientas. Permite administrar el sistema
Pero...¿qué es lo que hace exactamente el Sistema Operativo?
*Ejecuta programas
*Contiene una interfase primaria entre el usuario y el hardware
*Administra y protege los recursos del sistema
*Contiene herramientas básicas para administración del Sistema
*Gestión y permisos de usuario (especialmente en Sistemas *nix)
Existen muchos Sistemas Operativos y casi todos van tomando alguna cosa de su antecesor sin que esto signifique copia, sino más bien manejo conceptual de ciertos parámetros.
Por ejemplo DOS incorpora conceptos de CPM y de UNIX. Quién haya conocido línea de comandos en DOS verá algunas similitudes con el bash que utilizamos en gnu/linux.
¿Porqué? Simplemente porque gnu/linux es un "hijo" de Unix. Si bien fue reescrito totalmente por Linux Torvalds, conceptualmente es un clon de aquel. Por este motivo muchas veces veremos escrito "*nix" para referirnos a Unix y los SO descendientes de aquel.
esquema del SO linux
En el gráfico encontramos en el lugar central, el Kernel o núcleo que se encargará de:
*Control de los procesos
*Control de dispositivos
*Control de interrrupciones
*Control de sistemas de archivos
Dependiendo del kernel encontramos:
*Capa de administración
*Capa de demonios
*Capa de shell
*Capa de procesos iniciados desde el Shell
En gnu/linux todos los periféricos conectados a la CPU son tratados como si fueran archivos y controlados por archivos conocidos como módulos o drivers. Los diferentes tipos de dispositivos son:
*Seriales (comunicación bit a bit) como el ratón, el mouse o el módem
* Bloque (comunicación por bloques) disco rígido, disquettes, memorias RAM
*Especiales como pantalla, dispositivos gráficos, etc.
Características de gnu/linux:
*Multitarea: La administración de recursos usada por gnu/lilnux lo hacen un auténtico multitarea dándole a todos los procesos ,tanto los que se ven como los que corren en background, un tiempo de procesador.
*Multiusuario: Permite que diferentes personas puedan acceder al sistema y compartir los recursos de acuerdo a lo que haya dispuesto el administrador (root). Si bien se pueden compartir recursos, está asegurada la privacidad entre diferentes usuarios.
*Capacidad para leer (y en la mayoría de los casos escribir) en casi todos los formatos (FAT, FAT32, NTFS de Windows) ISO 9660 (Cdrom), etc.
*Protocolo TCP/IP integrado en el kernel, lo que permite gran rapidez y compatibilidad de acceso con otros SO en red y en internet.
*Varios sistemas gráficos utilizables lo que hacen que su aspecto y funcionamiento varíen de acuerdo al gusto del usuario. Además de Gnome y Kde, se encuentran escritorios más pequeños en tamaño ideal para máquinas con menos recursos como FWDM, Enlightment,TWM, etc.
*Administración racional de la memoria: Cualquier proceso tiene su zona protegida de memoria lo que hace que si una aplicación tiene problemas, se pueda cerrar sin que genere problemas con el resto de las aplicaciones abiertas.
*Gran cantidad de aplicaciones a elección del usuario: Gnu/linux es libre y permite tener muchas aplicaciones que hacen lo mismo aunque de manera diferente. Esto le da al usuario la libertad de elegir qué aplicación usar. El monopolio existente en otros SO no existe en gnu/linux por lo que siempre contaremos con abundate cantidad de alternativas a nuestra elección.
Deja un comentario!!!
No hay comentarios:
Publicar un comentario