Sistemi Operativ Unix: Zanafilla

Ken Tomson (majtas) dhe Denis Riçi (djathtas): krijuesit 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ë (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ë skedarëve, me emra pa kufizim gjatësie dhe lidhje simbolike midis direktorive.

Projekti i zhvillimit të Multics ishte gjithësesi i ngadaltë dhe disa pritshmëri paraprake (sidomos të AT&T) nuk u arritën. AT&T (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 AT&T u tërhoq nga projekti i Multics. Dy nga inxhinierët kryesorë të AT&T të përfshirë te ai projekt ishin Ken Tomson (Ken Thompson, 1943 ) dhe Denis Riçi (Dennis Ritchie, 1943 – 2011). Duke shfrytëzuar përvojën dhe idetë e mara nga Multics, Tomson dhe Riçi konceptuan një sistem më të thjeshtë që ishte pikërisht çfarë AT&T kërkonte. Ata vazhduan punën te laboratorët Bell duke krijuar sistemin që fillimisht u quajt UNICS dhe më pas u ndryshua në UNIX ose Unix. Mendohet se idenë e emërtimit Unix e dha Brajan Kernighen (Brian Kernighan, 1943 –). Qëllimi ishte që sistemi të përdorej në makina 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 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 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.

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). 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 dhe të strukturuar (modular). Ndër të tjera, gjuha C ishte e nivelit të lartë dhe e pavaruar nga gjuhët e modeleve të kompjuterave, pra siguronte lëvizshmëri të kodit. Ky fakt krijoi mundësinë që versione më të vonshme të Unix (versioni 4 kishte ende pjesë kodi të shkruara në gjuhën e PDP-11/20) të ishin të lëvizshëm dhe të përdorshëm 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) 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 burim 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) 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)