Sistemi Operativ Unix: Zanafilla

Ken Tomson (majtas) dhe Denis Riçi (djathtas): projektuesit kryesorë të sistemit Unix

Sistemi operativ Unix (shqipto: juniks) zë fill konceptualisht në mes të viteve 60 kur një grup organizatash nisën projektin për ndërtimin e sistemit Multics. Ky i fundit u konceptua si një sistem operativ me ndarje në kohë që do të shërbente për shfrytëzimin e serisë së kompjuterave GE-600 (konkretisht GE-645). Inxhinierët e sistemit Multics u frymëzuan gjerësisht nga sisteme të tjera me ndarje në kohë si IBM 7094. Pavarësisht këti fakti, Multics mishëroi disa ide inovatore si unifikimi i hapësirës së adresave të proceseve. Kjo e lehtësoi leximin apo shkrimin e segmenteve të kujtesës nga proceset përkatëse. Një tjetër ide inovatore ishte ajo e lidhjes dinamike, pra një proces në punë e sipër mund të kërkonte që segmente shtesë me kod të ekzekutueshëm t’i shtoheshin hapësirës së tij të adresave. U mundësua gjithashtu rikonfigurim në kohë reale i njësive shtesë si CPU-të (ang. Central Processing Unit – njësia qëndrore e përpunimit), blloqet e kujtesës, apo disqet magnetik të cilët mund të shtoheshin apo hiqeshin ndërkohë që sistemi vazhdonte punën. Multics ishte në fakt një nga sistemet më të hershëm me CPU të shumëfishta dhe i pari që zbatoi një sistem hierarkik të direktorive, me emra pa kufizim gjatësie dhe lidhje simbolike.

Projekti i zhvillimit të sistemit operativ Multics ishte gjithësesi i ngadaltë dhe disa pritshmëri paraprake (sidomos të AT&T-së) nuk u arritën. AT&T-ja (Ang. American Telegraph & Telephone) kërkonte një sistem kompjuterik të thjeshtë për punonjësit e saj dhe Multics nuk po rezultonte i tillë. Për këtë arsye, në vitin 1969 kompania AT&T u tërhoq nga projekti Multics. Dy nga inxhinierët kryesorë të saj të përfshirë te ai projekt ishin Denis Riçi (ang. Dennis Ritchie, 1941–2011) dh Ken Tomson (ang. Ken Thompson, 1943 –). Duke shfrytëzuar përvojën dhe idetë e fituara nga Multics, Riçi dhe Tomsoni konceptuan një sistem më të thjeshtë që ishte pikërisht çfarë AT&T-ja kërkonte. Ata vazhduan punën te laboratorët Bell duke krijuar sistemin që fillimisht u quajt UNICS dhe më pas u riemërtua UNIX ose Unix. Mendohet se idenë e emërtimit Unix e dha Brajan Kernighen (ang. Brian Kernighan, 1943 –) që ishte gjithashtu i përfshirë në këtë projekt. Qëllimi ishte që sistemi të përdorej në makina përllogaritëse relativisht të vogla (për standardet e asaj kohe) si PDP-7. Synohej gjithashtu që sistemi të ishte i zgjerueshëm dhe aplikimet që zhvilloheshin nga programuesit të shtoheshin lehtësisht.

Versionet e parë funksional të Unix u shkruan në gjuhën e kompjuterave PDP-7 dhe PDP-11/20. Për pasojë kodi i tyre nuk ishte i lëvizshëm dhe i përdorshëm në makina të tjera. Konceptet bazë të implementuar ishin sistemi hierarkik i skedarëve, proceset (thirrja fork për krijimin e tyre), skedat e sistemit, interpretuesi i komandave dhe disa mjete softuer me origjinë nga Multics. U shtuan gjithashtu një program për formatimin e tekstit i quajtur roff dhe një redaktues teksti. Përdorimi kryesor i sistemit ishte për shkrim dhe redaktim të dokumentave. Shumë shpejt roff evoluoi në troff, i njoVersionet e parë funksionale të sistemit Unix u shkruan në gjuhën e kompjuterave PDP-7 dhe PDP-11/20. Për pasojë kodi i tyre nuk ishte i mbartshëm e as i përdorshëm në makina të tjera. Konceptet bazë të implementuar ishin sistemi hierarkik i direktorive, proceset (thirrja fork për krijimin e tyre), skedat e sistemit, interpretuesi i komandave dhe disa mjete softuer me origjinë nga sistemi Multics. U shtuan gjithashtu një program për formatimin e tekstit i quajtur roff dhe një redaktues teksti. Përdorimi kryesor i sistemit ishte për shkrim dhe redaktim të dokumentave. Shumë shpejt roff evoluoi në troff, i njohur si programi i parë kompjuterik me kapacitete të plota tipografike për publikime elektronike. Një zhvillim tjetër i rëndësishëm ishte dhe koncepti i tubit (pipe) për lidhjen e komandave me njëra-tjetrën, çka krijoi premisa për kod edhe më modular dhe cikle zhvillimi edhe më të shpejta. Rritja e numrit të përdoruesve (kryesisht punonjësit e AT&T) krijoi nevojën për një udhëzues përdorimi të sistemit. Udhëzuesi i Unix për programuesit u publikua për herë të parë në nëntor të vitit 1971. Në të njëjtën kohë, komandat u dokumentuan sipas formatit “man page” (komanda man) që vazhdon të përdoret edhe sot e kësaj dite duke dhënë informacion të shkurtër dhe praktik për secilën komandë apo modul softuer.

Një ndryshim thelbësor ndodhi në vitet 1973 – 1974 me daljen e versionit Unix 4 i cili u rishkrua në gjuhën C (pasuese e gjuhës B), gjithashtu e zhvilluar te laboratorët Bell. Ky ishte një zhvillim i rëndësishmëm që binte ndesh me mendësinë e asaj kohë sipas të cilës sistemet operative duhet të shkruheshin në gjuhët e makinave përkatëse për të funksionuar në mënyrë efektive dhe për të patur qasje të lehtë te hardueri. Gjuha C ishte shpikur pikërisht në atë periudhë nga Denis Riçi te laboratorët Bell dhe ofroi mundësi për programim procedurial, modular dhe të strukturuar (për më shumë rreth gjenezës së gjuhës C kalo këtu). Ndër të tjera, gjuha C ishte e nivelit të lartë dhe e pavaruar nga gjuhët e modeleve të kompjuterave, pra siguronte mbartje të lehtë të kodit. Ky fakt krijoi mundësinë që kodi i versioneve të ardhshme të sistemit Unix (versioni 4 kishte ende pjesë kodi të shkruara në gjuhën e PDP-11/20) të ishte i mbartshëm dhe të përdorej edhe në kompjutera të tjerë. Që nga kjo periudhë e deri në ditët tona, lidhja midis gjuhës C dhe sistemit Unix (duke përfshirë të gjithë variantet që rrodhën më vonë si p.sh. GNU/Linux) ka qenë e pandashme.

Sistemi Unix u prezantua për herë të parë jashtë laboratorëve Bell po në vitin 1973. Kjo ndodhi në simpoziumin e parimeve të sistemeve operative, ku Tomson dhe Riçi paraqitën një artikull. Versionet Unix 5 dhe Unix 6 filluan ndërkohë t’ju licensohen nga AT&T institucioneve arsimore dhe kompanive në vitet 1974 dhe 1975. Licensa përfshinte kodin burimor të shkruar në C dhe pjesët e shkruara në gjuhën e PDP-11/20. Mbledhja e parë e përdoruesve të Unix ndodhi në vitin 1974 dhe pati disa dhjetra pjesëmarrës. Pak më vonë u krijua dhe organizata USENIX (Unix Users Group – grupi i përdoruesve të Unix-it) e cila kishte për qëllim studimin dhe zhvillimin e sistemit Unix dhe sistemeve të ngjashme. Emërtimet e versioneve të sistemit Unix nisën të përcaktohen rregullisht nga botimet e udhëzuesve të përdorimit. Për shembull, “Unix botimi i pestë” (udhëzuesi) dhe “Unix versioni 5” (vetë sistemi) i referohen të njëjtit version të sistemit.

Referenca

  1. https://en.wikipedia.org/wiki/History_of_Unix
  2. https://www.gotothings.com/unix/history-of-unix-operating-system.htm
  3. https://en.wikipedia.org/wiki/C_(programming_language)