Mòdul 1
Serveis de xarxa amb GNU/Linux
Exercicis 123

 
Característiques generals del SO UNIX

La filosofia del SO UNIX es direcciona en l'eficàcia del seu enfocament de la programació i no a cap programa en particular. Es basa en la convicció que la potència d'un sistema depèn més de les relacions entre els programes que no pas dels propis programes en si, és a dir, usar i combinar programes per construir-ne'n d'altres.

Les característiques generals d'aquest Sistema Operatiu atenen a:

  • És un SO multiusuari (varis usuaris poden estar processant alhora) i multitasca (es poden realitzar infinites tasques diferents al mateix processador).
  • Els programes es poden executar de dues maneres diferents: en modus usuari on l'usuari té el control, i el modus kernel on diferents rutines del SO prenen el control de la màquina encuant els processos, assignant temps de CPU, prioritzant, supervisant, protegint el sistema...
  • La protecció del sistema es realitza en el Modus Kernel, on el SO pren el control total de l'ordinador caient controladament, si es donés el cas, en una situació de prevenció anomenada pànic. L'usuari té la impressió de realitzar una crida al sistema (System Call) però és el propi SO qui les realitza.
  • UNIX s'autogestiona la memòria delimitant les zones per als usuaris i per a ell mateix.
  • La CPU es gestiona en els modus de temps compartit o time_sharing assignant unes delimitacions temporals per a cada un dels processos actius. Temporalitzacions que es poden balancejar i prioritzar depenent de la situació.
  • Gairebé tots els processos de modus usuari passen, abans d'executar-se, a un modus kernel ja que aquest s'activa automàticament quan:
    • hi ha una crida al sistema (system call)
    • una interrupció, o bé
    • un trap o interrupció especial de maquinari que mata el procés que la va provocar
  • UNIX compta amb nombroses Shells (intèrprets de comandes) amb característiques pròpies.
  • Per a UNIX l'Univers és un Sistema de Fitxers.
  • No existeixen perifèrics (ni CD, ni terminals, ni impressores...), només fitxers, d'aquesta forma s'unifiquen tots els processos d'E/S.
  • De fet, els directoris són fitxers que contenen enllaços amb altres fitxers de forma complexe.
  • Per trobar tots aquests fitxers el Sistema utilitza un punter anomenat i-node.
  • Esborrar un fitxer en UNIX significa esborrar el seu i-node. De no ser així aquest fitxer seria irrecuperable.
  • Els comandaments de UNIX són curts i críptics (cp en comptes de copy...).
  • Cada procés o programa té un propietari o owner.
  • UNIX no és de temps real, ja que el SO executa les ordres quan decideixi (per prioritats generalment en el time_sharing).
  • Per apagar i desmuntar el Sistema de Fitxers en un ordinador UNIX s'ha de fer com a Superusuari o també anomenat root.
  • UNIX pot reduir el treball del seu kernel cedint privilegis a programes externs anomenats dimonis (daemons) que corren de manera regular com a processos (dimonis de cues d'impressió, de correu entrant, de planificació de tasques, de monitoratge d'us de pàgines de memòria... pràcticament per a tots els serveis).
  • UNIX és un SO de Xarxa ja que el seu nucli incorpora arquitectures de protocols de xarxa.
  • UNIX posseeix dues interfícies:
    • de kernel o nucli
    • de System Call o API (Aplication Program Interface)
                *dos SSOO seran compatibles si tenen la mateixa API encara que nuclis diferents
  • UNIX, en tant que dissenyat per programadors, ofereix una gran quantitat d'elements bàsics que es poden combinar de múltiples maneres per aconseguir fites més complexes.
  • Existeixen dos tipus d'algorismes de planificació de la CPU:
    • de curt termini (a quin procés se li assigna la CPU)
    • de llarg termini (quins processos passen de memòria a disc i a l'inrevés)
    Cada segon es recalculen les prioritats (per defecte o explicitades) en base a una fórmula que fa possible que un procés no acapari tot el temps de CPU.