Ago 092016
 
Sistemas Operativos

Sistemas Operativos

 

Al revisar el calendario encontramos que hay día de la madre, día del padre, día del amigo, del bombero, del médico, del abogado, …, y así una larga lista de días para rendir un homenaje a quien se lo merece. Si algún día los informáticos decidiésemos establecer un día para reconocer la labor a uno de nuestros mejores colaboradores ¿quién debería ser el primero de nuestra lista? Para mi sería el humilde y siempre disponible vi, para otros su compilador, su biblioteca preferida, su editor de gráficos, … y así comenzaría otra larga lista de programas importantes en nuestra vida de informáticos. Tratando de ser objetivo hay uno que siempre está allí de forma callada haciendo su labor desde que encendemos nuestro equipo hasta que lo apagamos, o lo ponemos en modo de hibernación, ese programa de servicio no es otro que el Sistema Operativo.

Si buscamos una definición podemos resumir la del Profesor A. Silberschatz  que lo ve como una interfaz entre el hardware y el usuario. Otra importante definición obligatoria es la del Profesor Andrew Tanenbaum, que nos habla de la misión del Sistema Operativo como herramienta de control del hardware y como proveedor de la base sobre la cual se puede escribir los programas de aplicación.

Por el lado de nuestros Profesores de habla hispana tenemos la visión del Profesor Jesús Carretero, que nos habla de como el Sistema Operativo nos facilita el uso del computador de una manera segura y eficiente. Así pudiéramos seguir citando a Profesores del área, y hasta llegar a la definición que nos da la wikipedia.

Sistemas Operativos

Sistemas Operativos

 

Cuando hablo de estos temas en clase me emociono bastante y cuento mi experiencia personal desde mis primeros programas en Fortran 77, eso fue hace casi unos 30 años, cuando en nuestra Universidad el trabajo fuerte de procesamiento de datos estaba a cargo de un Computador Burroughs, éste requería cerca de un salón de unos 50 mts cuadrados y que era accesado por medio de terminales conectados por cable serial. Haciendo de interprete de comandos (shell) se tenía algo llamado CandE . Lo duro de esto, no era la necesidad de usar ese duro interprete, lo incomodo es que al tener que enviar datos a un archivo se debía conocer la dirección del archivo escrita como una serie de caracteres en formato hexadecimal.

Y así se fue saltando de equipo en equipo, ya no era un Mainframe sino que comenzaron los computadores de escritorio a poblar nuestras mesas. El problema fue que el aprendizaje obtenidos en el uso del Mainframe poco servía con una EPSON con CP/M, o una NCR Decision Mate, o con una Apple Macintosh o con una moderna y poderosa PC con su Intel 8088.

Lo que quiero hacer énfasis es el trauma de los informáticos de esa época, ya que cada nuevo hardware implicaba un nuevo aprendizaje tanto para si eras usuario y más para si eras programador. En esté último punto es la razón por la que quiero hacer un homenaje al Sistema Operativo actual, no tanto en la definición a las que hice referencia al inicio de este post, sino a mi propia definición.

Para mí el Sistema Operativo es un “Sistema programado encargado de gestionar los recursos del hardware, permitiendo una visión abstracta que da origen a una máquina virtual”. Es esa visión abstracta la que nos habla de una máquina que no es ninguna en especifica y es muchas a la vez. Esa sensación de comodidad que me dio al usar una SUN Sparc con Sun OS y pasar a una NCR con System V y de allí al una PC con UNIX SCO. De verdad que se le debe agradecer a los Sistemas Operativos que al presentar un paradigma común independiente del hardware nos permite hacernos sentir cómodos y seguros.

Este tipo de beneficios se aprecia hoy en día y con mucha más fuerza que antes, lo podemos ver sobre todo en las plataforma móviles. Específicamente hago referencia a las que usan el Sistema Operativo Android. Es conocido que varios fabricantes optaron usar este sistema en sus equipos, esto conlleva a que si una persona decide cambiar de modelo o de marca pero mantiene el mismo Sistema Operativo el efecto negativo por el cambio disminuye, ya que en poco tiempo el usuario puede encontrar la mayoría de sus aplicaciones preferidas en el nuevo equipo.

Es esta característica de Máquina Virtual provista por el Sistema Operativo que destaco en mi definición. Creo que es tal vez el aporte que ha permitido la masificación del uso computadores y smartphone.

Esta ventaja la podemos aplicar a nuestros desarrollos de software, usando paradigmas que sean de dominio público como mecanismo para aumentar el uso de un producto, ya que es capaz de reducir su curva de aprendizaje. Ejemplos que podemos destacar son por ejemplo los navegadores web, donde la opciones de uso se encuentran en los mismos sitios en diferentes aplicaciones, de hecho hasta los mismos atajos de teclado se comparten. Por lo que una buena recomendación es tratar de permitir el uso de un paradigma conocido como opción para que los usuarios que deseen usar la aplicación puedan hacerlo en el menor tiempo posible.

 

El programa que oculta al programador la verdad acerca del hardware y presenta una visión bonita y sencilla de archivos con nombres que se pueden leer y en los que se puede escribir, es por supuesto, el sistema operativo.

A. Tanenbaum

 Deja un comentario

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requerido)

(requerido)