Sistemas Operativos

Existen en la actualidad múltiples sistemas operativos diferentes. El sistema operativo mayoritario es Microsoft Windows, aunque existen muchos otros.

¿Necesitamos un sistema operativo? ¿Por qué? Para empezar, vamos a buscar una definición de sistema operativo.

¿Cómo han llegado los sistemas operativos a ser lo que son hoy en día? Originalmente, los ordenadores no tenían un sistema operativo y los técnicos tenían que interactuar con interruptores del ordenador, para introducir manualmente los programas. No cualquiera podía hacerlo, porque además, cada ordenador era un prototipo, así que había que conocerlo a fondo.

Con el tiempo todo se fue haciendo más fácil para el usuario, de forma que no era preciso interactuar directamente con el hardware (como en el ENIAC), sino que se empleaban elementos más amables para que la computadora hiciera lo que tenía que hacer. Pero tampoco era ninguna maravilla. Mira este vídeo, del IBM OS/360, que muestra a los técnicos usando el ordenador. ¿Ves algún monitor por alguna parte?

En estos grandes ordenadores, lo más importante era que fuesen rápidos y tuviesen mucha capacidad. Y no importaba que la interfaz de usuario fuese difícil de manejar, porque los técnicos eran personal altamente cualificado.

En la cuarta generación de la informática, los ordenadores entraron en las casas. Y los usuarios solamente comprarían más ordenadores si eran fáciles de usar. Así que los esfuerzos se centraron en que los sistemas operativos fuesen más fáciles de usar. Así que los sistemas operativos empezaban a ser menos rápidos, menos potentes, pero más fáciles de usar.

Conforme los sistemas operativos de usuario fueron haciéndose más amigables, se fue buscando también mejorar el rendimiento, para por ejemplo abrir más de un programa a la vez. En el caso de Microsoft, esto no llegó hasta Windows 95.

Concepto de sistema operativo

El sistema operativo es el software base que hace funcionar al ordenador, y poder ser usado por un usuario. Las funciones más relevantes que cumple son las siguientes:

  • Gestión de procesos: iniciar, ejecutar y cerrar un proceso. También se encarga de permitir la ejecución en paralelo de más de uno, creando la ilusión de que se ejecutan a la vez.
  • Gestión de la memoria: cargar en memoria los procesos en ejecución y sus datos, liberar la memoria de los procesos que han terminado y asegurarse de que no se pisan entre sí los procesos activos.
  • Gestión del almacenamiento secundario: escribe, lee, actualiza y borra datos en el dispositivo de almacenamiento secundario. Se encarga de que la escritura se realice de forma eficiente y sin errores.
  • Dispositivos de entrada/salida: lee/escribe información en los dispositivos en trada y salida.
  • Sistema de archivos: organiza los datos almacenados en almacenamiento secundario y los presenta al usuario de un modo amigable, en forma de sistema de archivos.
  • Gestión de comunicaciones: mediante protocolos de comunicaciones permite que los ordenadores se puedan conectar en red.
  • Interfaz de usuario: ofrecer al usuario una interfaz ya sea gráfica o de otro tipo para facilitar su manejo.

UNIX y su herencia

Pienso que UNIX merece un apartado para él solito, por todas las alegrías que nos ha dado. UNIX fue desarrollado por Ken Thompson y Dennis Ritchie en los años 70.

Era un sistema operativo pensado para computadoras potentes, a las que se conectaban varios usuarios. UNIX generó toda una nueva generación de sistemas operativos, que eran modificaciones del UNIX original.

Probablemente llevas en tu bolsillo un teléfono con Android o bien llevas un iPhone. Los dos (Android e IOS) provienen indirectamente de UNIX:

  • Las versiones modernas de Mac OS se basan en BSD.
  • Android, es un sabor de GNU/Linux, que a su vez proviene de UNIX.

Antes de seguir, vamos a ver un vídeo de Richard Stallman, creador de GNU:

Cuestionario sobre Richard Stallman.

Modelos de software propietario y libre

En la actualidad hay dos modelos principales de software (en realidad hay más, aunque se derivan de estos):

Para que el software libre sea realmente libre, debe respetar las cuatro libertadas del software libre: Libertades del software libre.

Actividad 1. Haz una lista de al menos cinco programas que utilizas normalmente. Para cada uno de ellos, indica si se trata de software libre o propietario. Además, busca en Internet hasta encontrar los siguientes datos:

  • Empresa fabricante (si es que la hay) y la dirección de su página web.
  • Tipo de software, propietario o libre
  • Precio (si tiene).
  • En caso de ser software propietario, indica si cumples los términos de la licencia.

Entrega la actividad en un documento de texto llamado Act1_SO.txt. Asegúrate de que tu nombre aparece en el interior del documento.

Guadalinex EDU Slim

El sistema operativo que tenemos en nuestros ordenadores de Guadalinex Edu Slim. El manual de dicho sistema operativo es el siguiente: Manual de Guadalinex Edu Slim

El editor de textos "Gedit" es muy útil cuando no necesitamos las sofisiticadas herramientas de un procesador de textos. Por ejemplo, cuando tomemos capturas de ejercicios, podemos utilizar este editor de textos para mostrar nuestro nombre.

Actividad 2. Abre el navegador de archivos. Crea una carpeta en la ruta /home/usuario/3eso. Después entra en la carpeta y dentro crea una nueva carpeta llamada /home/usuario/3eso/SO/ y entra dentro. Toma una captura donde se vea claramente la barra de rutas.

Entrega una captura llamada Act2_SO.png, donde se pueda ver claramente tu nombre.

Actividad 3. Crea un archivo llamado archivo.txt en la carpeta /home/usuario/3eso/SO/. Después, dirígete a tu carpeta personal y realiza una búsqueda del archivo archivo.txt empleando el navegador de archivos. Toma una captura donde se pueda ver el resultado de la búsqueda.

Entrega una captura llamada Act3_SO.png, donde se pueda ver el resultado de la búsqueda, y que además se pueda ver claramente tu nombre.

Comprimir y descomprimir archivos es una de las tareas más habituales que deben llevar a cabo los alumnos. El gestor de archivadores de Guadalinex Slim es File Roller. En el siguiente vídeo podemos ver cómo utilizar dicha herramienta.

Actividad 4. Crea dentro de la carpeta /home/usuario/3eso/SO/ dos archivos, llamados archivo2.txt y archivo3.txt (recuerda que en la carpeta ya estaba el archivo llamado archivo.txt). Escribe dentro de los tres archivos tu nombre y apellidos. A continuación, comprime los tres archivos en los siguientes archivadores:

  • Act4_SO.tar.gz
  • Act4_SO.tar.bz2
  • Act4_SO.zip

Entrega los dos archivadores Act4_SO.tar.gz, Act4_SO.tar.bz2 y Act4_SO.zip.

Actividad 5. Descarga el siguiente archivador: Act5.tar.gz. Después, descomprímelo y comprueba su contenido.

Entrega un archivo llamado Act5_SO.txt, donde escribas la respuesta a la pregunta.

Una vez teniendo una idea general sobre los sistemas operativos, vamos a aprender a usar la consola de comandos. Esto es algo que no se suele enseñar, pero que es muy útil en muchas ocasiones en que el entorno gráfico no puede resolvernos el problema.

Bash

Observa esta escena:

Cuando en el cine alguien tiene grandes conocimientos de informática, aparece frente a una línea de comandos. En concreto en GNU/Linux, se puede utilizar bash. Esta pequeña referencia nos mostrará algunos comandos que se pueden ejecutar en bash.

La terminal

Una terminal es una interfaz de texto que permite introducir comandos para realizar una o más acciones mediante comandos. Básicamente un comando es una orden que le damos a GNU/Linux para que haga algo.

El aspecto basado en fondo negro y letras verdes que presentan las terminales en el cine, proviene de los tiempos en que los monitores de fósforo verde dominaban el mercado, incluidos juegos. Si no, comprueba lo que teníamos que aguantar cuando teníamos vuestra edad los que teníamos el iPad del momento (un Amstrad CPC464):

Abrir una terminal

Abrir una terminal en Gnome es muy fácil. Basta con hacer clic en Aplicaciones\Accesorios\Terminal

Una vez que abrimos la terminal, podemos empezar a jugar. Juguemos.

Jugar con la terminal

Una vez que abrimos la terminal, lo primero que podemos hacer es conocer algunas combinaciones de teclas. Por ejemplo, prueba las siguientes combinaciones de teclas:

Mayus+Ctrl+N

Mayus+Ctrl+T

Mayus+Ctrl+W

Mayus+Ctrl+Q

Ctrl++

Ctrl+-

Ctrl+0

F11

Mayus+Ctrl+F

Otro aspecto interesante de bash es el autocompletado de comandos. Bash autocompleta un comando o el nombre de un archivo al pulsar el tabulador. Para comprobarlo escribe en la terminal la cadena de texto cd Escr y pulsa el tabulador.

$ cd Esc (pulsamos el tabulador) $ cd Escritorio

Vamos a poner en la línea de comandos los colores que tenía Trinity en la escena del principio. Para ello, debemos ir a menú Editar->Preferencias del perfil. Como verás, en el diálogo correspondiente hay varias pestañas: céntrate en la pestaña Colores y Fondo. En ellas puedes cambiar el color de la letra y el fondo. Averigua la forma de conseguir la siguiente terminal con fondo transparente:

Algunos comandos

Vamos a conocer algunos comandos:

LS

Ofrece un listado del contenido del directorio (carpeta) en que nos encontramos.

Para entender el comando ls vamos a explicar como es el sistema de archivos en GNU/Linux.

El sistema de archivos de GNU/Linux, al igual que el de Windows, tiene una estructura parecida a la de un árbol:

Observa la línea amarilla. ¿Dónde se encuentra el archivo del final de la línea?

La respuesta es: en la carpeta /home/usuario/Escritorio/

Ahora ejecuta los comandos que están detrás del símbolo $

$ ls $ ls . $ ls /home/usuario/ $ ls ~ $ ls /home/usuario/Documentos/ $ ls ./Documentos/ $ ls ~/Documentos/

Con los comandos anteriores quería enseñarte que:

  • El comando ls sin nada más, enseña lo que hay en la carpeta en la que estamos.
  • El símbolo . significa "aquí" (es decir, la carpeta en la que estoy ahora mismo)
  • Poner una "ruta" de una carpeta (como /home/usuario/) detrás de ls, muestra el contenido de dicha carpeta.
  • El símbolo ~ representa el "home" del usuario. Por ejemplo, si entraste como usuario, entonces el símbolo ~ representa la carpeta /home/usuario.

Vamos a hablar sobre los otros comandos. ¿Qué crees que hacen?

PWD

Nos indica el directorio en que nos encontramos.

Cuando abres la terminal siempre estás en tu carpeta persona. Por ejemplo, si entraste como usuario tu carpeta personal es /home/usuario.

Prueba con los siguientes comandos:

$ pwd $ cd /home/ $ pwd $ cd /home/usuario/Documentos/ $ pwd $ cd /tmp $ pwd $ cd $ pwd

Lo que ha ocurrido es lo siguiente:

  • El primer comando pwd, me ha mostrado donde estoy en un principio: /home/usuario.
  • El segundo comando cd /home, nos mueve hasta la carpeta /home.
  • El tercer comando pwd, vuelve a mostrar donde estamos, ahora en /home.

Hablemos sobre los restantes comandos.

cp

El comando cp permite copiar un archivo en otro lugar. Vamos a hacer lo siguiente:

$ cd $ touch probando.txt $ ls $ cp probando.txt Documentos $ ls $ ls Documentos

Con los comandos anteriores hemos hecho lo siguiente:

  • Primero, con el comando cd nos hemos situado en nuestra carpeta home.
  • Con el comando touch probando.txt hemos creado un archivo llamado probando.txt.
  • Después ejecutamos ls para comprobar que el archivo probando.txt ha sido creado y está ahí.
  • Con el comando cp probando.txt Documentos estamos copiando el archivo hasta la carpeta Documentos
  • El comando ls nos muestra que el archivo probando.txt sigue estando ahí.
  • Finalmente, el comando ls Documentos nos muestra que el archivo también está en la carpeta Documentos, gracias a la copia que hemos hecho.

Espero que haya quedado claro el comando cp.

cd

Nos permite movernos de un directorio a otro. De hecho, lo llevamos usando un rato. ¿Alguna duda sobre cd?

rm

Nos permite borrar un archivo o un directorio. Si has hecho el ejemplo del comando cp, ahora tienes un archivo llamado probando.txt en tu carpeta home y en tu carpeta Documentos. Vamos a borrar el archivo que está en tu carpeta home. Para ello, sigue las siguientes instrucciones:

$ cd $ ls $ rm probando.txt $ ls $ ls Documentos

Lo que hemos hecho es lo siguiente:

  • El primer comando cd, nos lleva a nuestra carpeta home
  • El segundo comando ls, nos enseña los archivos que hay donde estamos (es decir, nuestra carpeta home), donde debe estar el archivo probando.txt
  • El tercer comando rm probando.txt borra el archivo probando.txt.
  • El cuarto comando ls nos muestra que el archivo probando.txt ya no está.
  • Finalmente, el comando ls Documentos nos muestra que el archivo probando.txt sigue estando en la carpeta Documentos.

mv

Nos permite mover un archivo de un directorio a otro. Antes hemos conocido el comando cp, que podía copiar un archivo en otro sitio. El comando mv es similar, pero borra el archivo copiado de su origen. Vamos a verlo con un ejemplo:

$ cd $ touch probando2.txt $ ls $ mv probando2.txt Documentos $ ls $ ls Documentos

Lo que hemos hecho ha sido lo siguiente:

  • El primer comando cd nos devuelve a nuestra carpeta home
  • El segundo comando touch probando2.txt crea un archivo llamado probando2.txt.
  • El tercer comando ls nos muestra el contenido de nuestra carpeta home. Allí debería estar probando2.txt
  • El cuarto comando mv probando2.txt Documentos mueve el comando probando2.txt a la carpeta Documentos.
  • El quinto comando ls nos muestra el contenido de la carpeta donde estamos (nuestra carpeta home). Podemos comprobar que el archivo probando2.txt no está.
  • El sexto comando ls Documentos nos muestra el contenido de la carpeta Documentos, donde SÍ debería estar el archivo probando2.txt.

Cualquier programa

Cualquier programa que podamos ejecutar desde el entorno gráfico, puede ser ejecutado desde la terminal. Por ejemplo, vamos a probar los siguientes comandos:

$ pcmanfm $ lowriter $ firefox http://www.meneame.net $ gedit

Comprimir y descomprimir desde la terminal

Comprimir y descomprimir archivos es una de las tareas más habituales que deben llevar a cabo los alumnos. En este tutorial se pueden apreciar diferentes formatos de compresión

Actividad 1. Abre una terminal en tu escritorio. Después abre dos pestañas en ella.

Entrega una captura llamada Act1-bash.png, que muestre una terminal con dos pestañas.

Actividad 2. En la primera pestaña, crea un nuevo directorio llamado "Mi_carpeta". Una vez creado, entra dentro y ejecuta el comando "pwd".

Entrega una captura llamada Act2-bash.png que muestre el resultado de ejecutar el comando pwd.

Actividad 3. En la segunda pestaña de la terminal utiliza un comando para moverte al directorio "Documentos" y ejecuta el comando lowriter. Después guarda el documento con el nombre "documento.odt" en la carpeta "Documentos". Finalmente ejecuta el comando necesario para mostrar el contenido del directorio "Documentos".

Entrega una captura llamada Act3-bash.png que muestre la terminal donde se han ejecutado los comandos pedidos.

Actividad 4 (avanzada). Sitúate en tu directorio home. Realiza las siguientes tareas:

  1. Crea una carpeta llamada actividad4.
  2. Entra dentro de la carpeta.
  3. Vuelve a crear una carpeta llamada subactividad4.
  4. Entra dentro de la carpeta.
  5. Comprueba tu ubicación mediante el comando pwd.
  6. Ejecuta el comando "touch actividad4.txt".
  7. Comprueba el contenido de la carpeta.
  8. Mueve el archivo actividad4.txt a la carpeta Documentos.
  9. Comprueba que el archivo actividad4.txt ya no está en la carpeta subactividad4.
  10. Cambia de directorio y sitúate en la carpeta Documentos.
  11. Comprueba que el archivo actividad4.txt está en la carpeta Documentos.
  12. Finalmente borra las carpetas actividad4 y subactividad4

Entrega las siguientes capturas:

  • Entrega una captura llamada Act4_1-bash.png para el apartado 5.
  • Entrega una captura llamada Act4_2-bash.png para el apartado 7.
  • Entrega una captura llamada Act4_3-bash.png para el apartado 9.
  • Entrega una captura llamada Act4_4-bash.png para el apartado 11.
  • Entrega una captura llamada Act4_5-bash.png para el apartado 12.

Actividad 5. Crea la carpeta /home/usuario/archivadores/. Entra dentro y crea un nuevo archivo llamado archivo_a_comprimir.txt. Después, edita el archivo y escribe en su interior tu nombre y apellidos, fecha, hora y curso. Finalmente comprime el archivo al formato tar.gz, con el nombre Actx_SO.tar.gz

Entrega una captura donde se pueda ver la terminal y los comandos que has ejecutado, así como tu nombre, llamado Act5-bash.png

Actividad 6. Descomprime el archivo que creaste anteriormente desde la terminal.

Entrega una captura donde se pueda ver la terminal, los comandos que has ejecutado, así como tu nombre, llamado Act6-bash.png