UNIX System V
UNIX System V (System Five gisa ahoskatua eta sarritan SysV gisa laburtua) Unix sistema eragilearen bertsio komertzial garrantzitsuenetako bat izan zen. AT&T enpresak garatu zuen eta 1983an argitaratu zen lehen aldiz. Garai hartako Unix bertsio ezberdinak estandarizatzeko eta merkataritza-produktu profesionalei bide emateko sortu zen.
| UNIX System V | |
|---|---|
| Jatorria | |
| Argitaratze-data | 1983 |
| Banatze bidea | 3½-inch floppy disk (en) |
| Azken bertsioa | 4.1.4 |
| Ezaugarriak | |
| Programazio-lengoaia | C |
| Deskribapena | |
| Honen parte da | Unix |
| Ekoizpena | |
| Garatzailea | AT&T |
Gaur egungo Linux eta Unix bertsio moderno askok haren arkitektura eta kontzeptu ugari heredatu dituzte, batez ere sistema abiarazteko prozesuari dagokionez (SysV init).
Historia eta Eboluzioa
aldatuSystem V baino lehen, AT&Tk System III kaleratu zuen, baina unibertsitateetan eta ikerketa zentroetan Berkeley Software Distribution (BSD) bertsioa oso ezaguna bihurtzen ari zen. BSDari aurre egiteko eta Unix merkatu komertziala zentralizatzeko, AT&Tk System V plazaratu zuen.
Lau bertsio nagusi izanctxuekin (Release 1, 2, 3 eta 4):
- Release 1 (1983): Jatorrizko bertsioa, System III-an oinarritua baina hobekuntzekin.
- Release 2 (1984): Errendimendu hobea eta funtzio berriak erantsi zizkion.
- Release 3 (1987): Sare-funtzio aurreratuak (STREAMS) eta fitxategi-sistema partekatuak ekarri zituen.
- Release 4 (SVR4 - 1989): Unixen historian mugarri handia izan zen. BSD, SunOS eta System V bertsioak bateratu zituen sistema bakar eta boteretsu batean.
SysV Init: Abiarazte Sistema
aldatuSystem V-ren ekarpen tekniko ezagunenetako bat bere abio-sistema (init) da. Tradizionalki, Linux munduak hiru abio-sistema nagusi ezagutu ditu: System V init, Upstart eta systemd. Horien artean, tradizionalena eta historikoena SysV init da.
Gaur egun sistema baten SysV inplementazioa erabiltzen ari den ala ez jakiteko, `/etc/inittab` fitxategia existitzen den egiaztatu behar da. Fitxategi hori bertan badago, banaketa hori SysV-n oinarrituta dagoela esan nahi du.
Prozesuen kudeaketa sekuentziala
aldatuAbio-sistema honen zeregin nagusia sistema eragilearen oinarrizko prozesuak abiaraztea eta gelditzea da. Zerbitzuak modu sekuentzialean kudeatzen ditu. Adibidez, zerbitzu batek (foo-b izenekoa) beste baten menpekotasuna badu (foo-a zerbitzua), foo-b ezin da abiatu foo-a guztiz exekutatuta eta martxan egon arte.
Kudeaketa hau egiteko shell script-ak (gidoiak) erabiltzen dira. Script hauek direktorio zehatz batzuetan egoten dira eta zerbitzuen abioa zein itzaltzea kontrolatzen dute. Erabiltzaileek script pertsonalizatuak idatzi ditzaketen arren, sistema gehienek sistema eragilearen oinarrizko zerbitzuak kudeatzeko aurre-paketatuta datozen scriptekin funtzionatzen dute.
Abantailak eta desabantailak
aldatu- Abantailak: Planteamendu sekuentzial honen abantaila nagusia bere sinpletasuna eta aurreikusgarritasuna da. Menpekotasunen arazoak konpontzea eta diagnostikatzea oso erraza da, beti bermatzen baita foo-a zerbitzua foo-b baino lehenago abiaraziko dela.
- Desabantailak: Errendimenduan eragiten du. Zerbitzuak banan-banan eta sekuentzialki kargatzen direnez, prozesua motelagoa da sistema paralelo modernoekin alderatuta, eta horrek ordenagailuaren abio-denbora luzatzen du.
Runlevel edo Abio-mailak
aldatuSysV ingurune baten ordenagailuaren egoera `runlevel` edo abio-mailekin definitzen da, 0tik 6ra zenbakituak. Modu hauek Linux banaketaren arabera zertxobait aldatu daitezkeen arren, konbentzio estandar bati jarraitzen diote:
- 0: Itzaltzea (Shutdown)
- 1: Erabiltzaile bakarreko modua (Single User Mode)
- 2: Erabiltzaile anitzeko modua, sare-konexiorik gabe
- 3: Erabiltzaile anitzeko modua, sarearekin (testu moduan)
- 4: Erabili gabea
- 5: Erabiltzaile anitzeko modua, sarearekin eta ingurune grafikoarekin (GUI)
- 6: Berrabiaraztea (Reboot)
Sistemaren lehenetsitako abio-maila `/etc/inittab` fitxategian ikus eta alda daiteke.
Script-ak eta direktorio-egitura
aldatuSistema abiarazten denean, konfiguratuta daukan abio-maila egiaztatzen du eta maila horri dagozkion script-ak exekutatzen ditu. Gidoi hauek `/etc/rc.d/rc[abio-maila].d/` direktorioetan edota `/etc/init.d` direktorio nagusian topatzen oars.
- S (Start) hizkiz hasten diren script-ak sistema kargatzerakoan (startup) exekutatzen dira zerbitzuak abiarazteko.
- K (Kill) hizkiz hasten direnak, berriz, sistema itzaltzerakoan (shutdown) exekutatzen dira zerbitzuak gelditzeko.
Hizkien ondoren dakarren zenbakiak exekuzio-ordena zehatza adierazten du. Adibidez, abio-maila 0ra (itzaltzea) aldatzean, honako script hauek exekutatuko lirateke ordena honetan:
- `K10updates` (eguneraketa zerbitzua gelditzen du)
- `K80openvpn` (OpenVPN zerbitzua gelditzen du geroago)
Zerbitzuen Kudeaketa: 'service' Komandoa
aldatuSystem V-ko zerbitzuekin elkarreragiteko tresna nagusia `service` komandoa da. Tresna honek babes-gidoi (wrapper script) gisa funtzionatzen du, gidoiak zuzenean exekutatzeko prozesua erraztuz. Tresna hau ez da SysV-rako esklusiboa, trantsizioak errazteko Upstart edota systemd bezalako sistema berriagoetan ere bateragarritasun-geruza gisa mantendu baita.
Zerbitzu guztiak zerrendatzea
aldatuSisteman eskuragarri dauden zerbitzu guztiak eta haien uneko egoera ikusteko, `--status-all` bandera erabiltzen da:
service --status-all
Komando honek zerbitzuak zerrendatuko ditu eta haien egoera hiru ikur hauen bidez adieraziko du:
- (+) Zerbitzua martxan dago (Running).
- (-) Zerbitzua geldituta dago (Stopped).
- (?) Zerbitzuaren egoera ezezaguna da.
Zerbitzu zehatz bat kontrolatzea
aldatuZerbitzu indibidual baten gainean eragiteko, zerbitzuaren izena eta egin nahi den ekintza zehaztu behar dira (`start`, `stop` edo `restart`). Ekintza hauek administrazio-baimenak behar dituzte, beraz, `sudo` erabiltzen da.
- Zerbitzu bat abiarazteko (adibidez, sareko zerbitzua):
sudo service networking start
- Martxan dagoen zerbitzu bat gelditzeko:
sudo service networking stop
- Zerbitzu bat berrabiarazteko (gelditu eta berehala berriz piztu, oso erabilgarria konfigurazio-aldaketak aplikatzeko):
sudo service networking restart
Ondarea eta gaur egungo egoera
aldatuGaur egungo Linux banaketa moderno gehienetan System V sistema zaharkituta geratu da eta systemd-k ordezkatu du nagusiki. Hala ere, zerbitzuak kudeatzeko ezagutza honek balio handia du oraindik sistema-administratzaileentzat, sistema askok atzeranzko bateragarritasunari (backward compatibility) eutsi egiten baitiote legatu-zerbitzuak exekutatu ahal izateko.