1. Què és un sistema operatiu?
Un sistema operatiu (SO) és un conjunt de programes destinat a administrar els recursos d'un ordinador. La seva missió és servir de pont entre els circuits de l'ordinador (maquinari), els seus programes (programari) i l'usuari.
Quan un usuari desitja accedir a un perifèric, no necessita enviar la informació directament (hauria de conèixer el llenguatge de cadascuna de les màquines connectades); simplement fa servir una aplicació que envia la informació al SO, que la transmet al perifèric corresponent a través del seu "driver" (controlador que fa d'intèrpret entre el ordinador i el perifèric).
D'aquesta forma, el SO permet la "dissociació" de programes i maquinari (per simplificar la gestió de recursos) i proporciona una interfície d'usuari senzilla amb la finalitat de fer-ho més amigable ("friendly") per al usuari. Per tant, un SO pretén:
Comoditat: deu ser còmode i accessible per als usuaris.
Eficiència: gestionar els recursos tant de maquinari com de programari de forma eficaç i adequada.
Per tal de dur a terme aquest segon objectiu correctament, el SO s'ha d'encarregar de:
Administrar el processador: distribueix la feina del processador entre els diferents programes per tal que es duguin a terme totes les tasques.
Gestió de la memòria RAM: s'encarrega de ficar dins la memòria RAM aquella informació amb la que s'està fent feina i de treure la que no s'utilitza en aquell moment.
Gestió d'entrades/sortides: a través dels "drivers" escolta als perifèrics amb els que es pot introduir informació i extreu la informació pertinent pels de sortida.
Gestió d'execució d'aplicacions: s'encarrega que les aplicacions s'executin sense problemes assignant-los els recursos que aquestes necessiten per funcionar. Això significa que si una aplicació no respon correctament pot "sucumbir".
Administració d'autoritzacions: s'encarrega de la seguretat en relació amb l'execució de programes, garantint que els recursos siguin utilitzats només per programes i usuaris que posseeixin les autoritzacions corresponents.
Gestió d'arxius: gestiona la lectura i escriptura en el sistema d'arxius i les autoritzacions d'accés a arxius.
2. Components del sistema operatiu
El sistema operatiu està compost per:
El nucli o kernel: dur a terme les funcions bàsiques del SO, com per exemple, la gestió de la memòria, dels processos, dels arxius, de les entrades/sortides principals i de les funcions de comunicació.
L'intèrpret de comandos: possibilita la comunicació amb el sistema operatiu a través de un llenguatge de control, permetent a l'usuari controlar els perifèrics sense conèixer les característiques del maquinari utilitzat, la gestió de les adreces físiques, etcètera.
Interfície gràfica: és el programa que s'encarrega de transformar les instruccions que fa servir l'ordinador en dibuixos d'objectes com finestres i icones per tal de fer més amigable a l'usuari la seva utilització.
El sistema d'arxius: permet que els arxius es desin en carpetes en una estructura d'arbre
Nosaltres ens centrarem en els SO que fan servir el nucli Linux, veurem quin és el funcionament del seu intèrpret de comandos (terminal) i quines interfícies gràfiques podem trobar.
3. Per què Linux?
El sistema operatiu GNU/Linux va ser dissenyat des del seu principi per tenir les següents característiques:
Lliure: qualsevol ho pot usar i distribuir.
Obert: qualsevol ho pot modificar per al seu ús o distribució.
Gratis: tantes llicències com es desitgi.
Desenvolupat per milers de voluntaris al món. Qualsevol pot participar i pertànyer a la comunitat.
Alta estabilitat, per la qual cosa és difícil que es quedi penjat.
Extremadament segur ja que té diversos sistemes de protecció.
Necessita baixos requeriments de Maquinari. Els dispositius funcionen més ràpid.
Multitarea, multiusuari i multiprocessador.
Aquestes característiques fan que sigui un SO perfecte per ser utilitzat al centres educatius, ja que permet relitzar tasques d'aprenentatge des de la seguretat, la estabilitat i el mínim cost.
D'aquest SO existeixen moltes distribucions (distros), que són paquets del nucli linux amb una sèrie de programes triats per satisfer les necessitats d'un grup d'usuaris. Qualsevol pot fer la seva distro, però les més conegudes són les que apareixen a la imatge.
Qualsevol distribució de GNU/linux pot tenir més d'un escriptori instal·lat. Això vol dir que no tenen perquè ser sempre iguals, sinó que el grau de personalització és molt elevat. Els més coneguts són Unity, Gnome, KDE, LXDE, XFCE, Pantheon,...
Entre aquests possibles escriptoris pot variar l'aparença, els recursos consumits, el grau de personalització... però tots funcionan d'una forma molt similar i, en general, estem bastant acostumats al seu ús. Per aquest motiu, en aquesta secció ens centrarem en la utilització del SO GNU/linux amb l'intèrpret de comandos.
4. Intèrpret de comandos (terminal)
l'intèrpret de comandos de linux s'anomena terminal, i és una finestra a on no es dóna cap efecte gràfic, sinó que tot es controla mitjançant text.
Aquest fet, que inicialment pot semblar engorrós, resulta ser una de les principals eines de linux donada la seva gran eficiència a l'hora de realitzar tasques. Això és degut a que no consumeix recursos gràfics i tota la potència en concentra al procés que es vol realitzar. Resulta molt útil a:
Administració d'equips: la instal·lació de programari i l'administració de procesos es torna molt més ràpida.
Administració de xarxes: l'accés a altres equips de xarxa des d'un terminal consumeix un ample de banda molt més petit que en mode gràfic, de forma que l'usuari pràcticament no nota que l'administrador s'ha connectat a l'equip.
Cal notar que l'aprenentatge d'aquests mètodes és més dur que la feian amb finestres, però molta gent ho troba divertit.
Per conençar a fer feina amb el terminal i familiaritzar-mos amb els comandos bàsics, veurem alguns dels comandaments més elementals juntament amb la seva interpretació i o equivalència gràfica. Les possibilitats de la línia de comandaments són molt àmplies, encara que cal un cert aprenentatge per treure'n tot el profit possible.
Un aspecte que cal tenir molt present en el treball amb la línia de comandaments és que a Linux, com a UNIX, es distingeixen les majúscules de les minúscules. Així, un arxiu anomenat Feines és distint d'un arxiu amb el nom feines. Els noms dels arxius poden ser llargs i admeten pràcticament qualsevol caràcter fora de l'espai.
Per accedir a una informació resumida sobre cada una de les instruccions s'ha d'executar des de la línia de comandaments "nom_instruccio – -help" i per editar les pàgines de manual en línia de les instruccions, si n'hi ha, teclegeu, "man nom_instrucció | more".
Els comandaments bàsics són:
cd (Changte Directory): canvia el directori actual. D'aquesta forma, "cd .." t'envia al directori superior, i "cd nomdeldirectori" t'envia al direectori nomdeldirectori.
ls (List): presenta una llista de tots els arxius y carpetes del directori.
mkdir (MaKe Directory): crea una carpeta.
rmdir (ReMove Directory): esborra una carpeta.
rm -r (ReMove Recurrent): esborra directoris amb tot el seu contingut.
find: permet cercar arxius.
pwd (Print Working Directory): mostra la ruta del directori actual.
whereis (Where is?): mostra l'ubicació d'un arxiu.
cp (CoPy): copia arxius.
rm (ReMove): esborra arxius.
mv (Move): mou arxius.
su o sudo (SuperUser): canvia de l'usuari actual al root.
whoami (Who am I?): mostra qui és l'usuari actual.
last: mostra informació dels darrers usuaris que han utilitzat el sistema.
chown (CHange OWNer): canvia el propietari d'un fitxer.
top: mostra els procesos que s'estan executant.
ps: mostra els procesos que està executant l'usuari.
kill: permet matar els procesos.
date: mostra la data i l'hora actuals.
Per tal d'escriure més ràpid el noms dels arxius, cal tenir en compte que:
Si s'escriuen les primeres lletres i es prem el tabulador, el sistema acaba el nom per noltros.
L'asterisc (*) substitueix qualsevol conjunt de caracters.
L'interrogació (?) substitueix a un caracter qualsevol.
Els cortxets ([]) poden substituir una llista ordenada de caracters, tant números com lletres.
Activitat guiada: A la Raspberry Pi pots obrir un terminal fent clic sobre l'icone de la barra de tasques superior. Obre una finestra i fes els següents exercicis per començar a familiaritzar-te amb els comandaments bàsics i les seves funcions. Pensa que és una pràctica guiada i que en vermell tens el que has d'escriure. Només es tracta de començar a relacionar el comandament am la funció.
Ves fent captures de pantalla per tal de deixar constància de que has fet l'exercici i aferra'ls a un document de texte amb els enunciats. Pensa que a cada imatge pot haver més d'un exercici resolt.
Obre un terminal i una finestra a on visualitzin les carpetes que hi ha dins /home/pi.
Canvia al directori /home/pi amb el comando cd.
cd /home/pi
Comprova que hi ets amb el comando pwd.
pwd
Crea el directori "proves".
mkdir proves
Entra-hi.
cd proves
i crea un sots-directori "proves2".
mkdir proves2
entra-hi.
cd proves2
i dins aquest, "proves3".
mkdir proves3
Torna a /home/pi i fes una llista dels directoris i arxius amb el comando ls.
cd /home/pi
ls
Fes servir el comandament man per visualitzar totes les opcions del comando ls. Surt pitjant la tecla q.
man ls
q
Esborra tot el contingut de la finestra del terminal amb el comando clear.
clear
Visualitza la data i l'hora amb el comando date.
date
Visualitza el calendari del mes actual escribint el comando cal.
cal
Visualitza el calendari de juny de 2020 escribint cal 06 2020.
cal 06 2020
Entra dins del directori "proves" i crea l'arxiu "pepito.txt" amb el comando touch.
cd proves
touch pepito.txt
Edita l'arxiu "pepito.txt" amb el comando nano.
nano pepito.txt
Obre el LibreOffice amb el comando soffice --<app> (on <app> pot ser writer, calc, impress).
soffice --writer
Obre el navegador amb el comando corresponent:
chromium-browser
Obre el Minecraft amb el comandament corresponent.
minecraft-pi
Copia l'arxiu "pepito.txt" dins la carpeta "proves2" amb el comando cp.
cp pepito.txt proves2
Mou la copia de l'arxiu "pepito.txt" dins "proves3" amb el comando mv.
cd proves2
mv pepito.txt proves3
Esborra l'arxiu "pepito.txt" de dins "proves3" amb el comando rm.
cd proves3
rm pepito.txt
Obre el Chromium i el LibreOffice. Torna al terminal i visualitza tots els processos que s'estan executant amb em comando top.
top
Cerca a la primera columna de la taula del top el nombre PID del procés soffice. Quan el tenguis, escriu kill xxx per terminar el procés.
kill xxx
Utilitza el comando killall per terminar el procés firefox escribint el nom del procés.
killall chromium-browser
Esborra el directori proves i tot el seu contingut.
cd /home/pi
rm -r proves
Escriu el comando last per obtenir una llista de totes les connexions que s'han fet al teu ordinador darrerament.
last
Escriu exit per tancar el terminal.
exit