Namai Naudingi patarimai Kaip veikia internetinė kamera. 3.5 tema Interneto kamerų struktūra ir veikimo principas. Papildomos internetinės kameros funkcijos ir funkcijos

Kaip veikia internetinė kamera. 3.5 tema Interneto kamerų struktūra ir veikimo principas. Papildomos internetinės kameros funkcijos ir funkcijos

UNIX turi ilgą ir įdomią istoriją. Pradėjęs kaip lengvabūdiškas ir beveik „žaislinis“ jaunųjų mokslininkų projektas, UNIX tapo kelių milijonų dolerių pramone, kurios orbitoje yra universitetų, tarptautinių korporacijų, vyriausybių ir tarptautinių standartų organizacijų.

UNIX atsirado AT&T Bell Labs daugiau nei prieš 20 metų. Tuo metu „Bell Labs“ kartu su MIT ir „General Electric“ kūrė kelių vartotojų laiko pasidalijimo sistemą MULTICS (Multiplexed Information and Computing Service), tačiau ši sistema žlugo iš dalies dėl pernelyg ambicingų tikslų, kurie neatitiko to meto kompiuteriai ir iš dalies dėl to, kad jis buvo sukurtas PL/1, o PL/1 kompiliatorius vėlavo ir apskritai neveikė gerai po pavėluoto pasirodymo. Todėl „Bell Labs“ iš viso atsisakė dalyvauti MULTICS projekte, o tai leido vienam iš jo tyrėjų Kenui Thompsonui atlikti mokslinius tyrimus, siekiant pagerinti Bell Labs veiklos aplinką. Thompsonas kartu su Bell Labs darbuotoju Denisu Ritchie ir keletu kitų kūrė naują failų sistemą, kurios daugelis funkcijų buvo gautos iš MULTICS. Norėdamas išbandyti naują failų sistemą, Thompsonas parašė OS branduolį ir kai kurias programas kompiuteriui GE-645, kuriame veikė GECOS kelių programų laiko pasidalijimo sistema. Kenas Thompsonas turėjo žaidimą, kurį parašė dirbdamas su MULTICS, pavadinimu „Space Travel“. Jis paleido jį kompiuteryje GE-645, tačiau jis jam neveikė labai gerai dėl prasto laiko pasidalijimo efektyvumo. Be to, GE-645 mašinos laikas buvo per brangus. Dėl to Thompsonas ir Ritchie nusprendė perkelti žaidimą į DEC PDP-7 įrenginį, sėdintį neaktyviai kampe, kuriame yra 4096 18 bitų žodžiai, teletaipo mašinėlė ir geras grafinis ekranas. Tačiau PDP-7 programinė įranga buvo prasta, o baigęs perkelti žaidimą, Thompsonas nusprendė įdiegti PDP-7 failų sistemą, su kuria dirbo GE-645. Būtent iš šio darbo atsirado pirmoji UNIX versija, nors tuo metu ji neturėjo pavadinimo. Tačiau ji jau apėmė tipišką UNIX inode pagrįstą failų sistemą, turėjo procesų ir atminties valdymo posistemį ir leido dviem vartotojams dirbti laiko pasidalijimo režimu. Sistema buvo parašyta assembler. Pavadinimą UNIX (Uniplex Information and Computing Services) jai suteikė kitas Bell Labs darbuotojas Brianas Kernighanas, kuris iš pradžių pavadino UNICS, pabrėždamas jo skirtumą nuo kelių vartotojų MULTICS. Netrukus UNICS buvo pradėtas vadinti UNIX.

Pirmieji UNIX vartotojai buvo Bell Labs patentų skyriaus darbuotojai, kuriems tai buvo patogi aplinka tekstams kurti.

Didelę įtaką UNIX likimui padarė jos surašymas aukšto lygio C kalba, kurią specialiai šiam tikslui sukūrė Denisas Ritchie. Tai atsitiko 1973 m., iki to laiko UNIX buvo įdiegta 25, o Bell Labs buvo sukurta speciali UNIX palaikymo grupė.

UNIX buvo plačiai naudojamas nuo 1974 m., Thompson ir Ritchie aprašius šią sistemą kompiuterių žurnale CACM. UNIX buvo plačiai pritaikytas universitetuose, nes buvo nemokamai tiekiamas kartu su C šaltinio kodais. Universitetai labai prisidėjo prie UNIX tobulinimo ir tolesnio jo populiarinimo. Kitas žingsnis siekiant UNIX kaip standartizuotos aplinkos pripažinimo buvo Deniso Ritchie sukurta stdio I/O bibliotekos. Naudojant šią biblioteką C kompiliatoriui, UNIX programos tapo labai nešiojamos.

Ryžiai. 5.1. UNIX kūrimo istorija

Dėl plačiai paplitusio UNIX naudojimo iškilo daugelio jo versijų nesuderinamumo problema. Akivaizdu, kad vartotoją labai apmaudu, kad paketas, įsigytas vienai UNIX versijai, atsisako veikti su kita UNIX versija. Periodiškai buvo bandoma ir yra bandoma standartizuoti UNIX, tačiau iki šiol jų sėkmė buvo ribota. Įvairių UNIX versijų konvergencijos ir jų skirtumo procesas yra cikliškas. Susidūrę su nauja kai kurios kitos operacinės sistemos grėsme, įvairūs UNIX pardavėjai suvienija savo produktus, tačiau konkurencija priverčia juos atlikti originalius patobulinimus, o versijos vėl skiriasi. Taip pat yra ir teigiama šio proceso pusė – atsiranda naujų idėjų ir įrankių, tobulinančių tiek UNIX, tiek daugelį kitų operacinių sistemų, kurios per ilgus gyvavimo metus iš jo perėmė daug naudingų dalykų.

5.1 paveiksle parodytas supaprastintas UNIX kūrimo vaizdas, kuriame atsižvelgiama į įvairių versijų eiliškumą ir priimtų standartų įtaką joms. Plačiai naudojamos dvi labai nesuderinamos UNIX versijų linijos: AT&T-UNIX System V linija ir universiteto Berkeley-BSD linija. Daugelis kompanijų sukūrė ir prižiūrėjo savo UNIX versijas, pagrįstas šiomis versijomis: Sun Microsystems SunOS ir Solaris, Hewlett-Packard UX, Microsoft XENIX, IBM AIX, Novell UnixWare (dabar parduodama SCO), ir sąrašas tęsiasi. Tęsti.

Standartai, tokie kaip AT&T SVID, IEEE POSIX ir X/Open XPG4 konsorciumas, turėjo didžiausią įtaką suvienijant UNIX versijas. Šie standartai apibrėžia sąsajos tarp programų ir operacinės sistemos reikalavimus, kad programos galėtų sėkmingai veikti skirtingose ​​UNIX versijose.

Nepriklausomai nuo versijos, bendros UNIX funkcijos yra šios:

  • kelių vartotojų režimas su priemonėmis, apsaugančiomis duomenis nuo neteisėtos prieigos,
  • kelių programų apdorojimo įgyvendinimas laiko pasidalijimo režimu, pagrįstas prevencinių kelių užduočių algoritmų naudojimu,
  • virtualios atminties ir apsikeitimo mechanizmų naudojimas siekiant padidinti kelių programavimo lygį,
  • įvesties / išvesties operacijų suvienodinimas, pagrįstas išplėstiniu „failo“ sąvokos vartojimu,
  • hierarchinė failų sistema, kuri sudaro vieną katalogų medį, nepaisant fizinių įrenginių, naudojamų failams talpinti, skaičiaus,
  • sistemos perkeliamumas parašant pagrindinę jos dalį C,
  • įvairios sąveikos tarp procesų priemonės, įskaitant per tinklą,
  • disko kaupimas talpykloje, kad sumažintų vidutinį failų prieigos laiką.

UNIX System V Release 4 yra nebaigta komercinė operacinės sistemos versija. jos koduose trūksta daugelio sistemos paslaugų, reikalingų sėkmingam OS veikimui, pavyzdžiui, administravimo paslaugų arba GUI tvarkyklės. SVR4 versija yra labiau standartinis branduolio kodo įgyvendinimas, apimantis populiariausius ir efektyviausius sprendimus iš įvairių UNIX branduolio versijų, tokius kaip VFS virtuali failų sistema, atmintimi susieti failai ir pan. SVR4 kodas (iš dalies modifikuotas) sudarė daugelio šiuolaikinių komercinių UNIX versijų, tokių kaip HP-UX, Solaris, AIX ir kt., pagrindą.

UNIX operacinė sistema, daugelio šiuolaikinių operacinių sistemų, tokių kaip Linux, Android, Mac OS X ir daugelio kitų, pirmtakas, buvo sukurta Bell Labs tyrimų centro, AT&T padalinio, sienose. Paprastai tariant, „Bell Labs“ yra tikra terpė mokslininkams, padariusiems atradimus, kurie tiesiogine prasme pakeitė technologijas. Pavyzdžiui, „Bell Labs“ dirbo tokie mokslininkai kaip Williamas Shockley, Johnas Bardeenas ir Walteris Brattainas, kurie pirmą kartą sukūrė bipolinį tranzistorių 1947 m. Galima sakyti, kad būtent Bell Labs buvo išrastas lazeris, nors tuo metu jau buvo sukurti maseriai. Claude'as Shannonas, informacijos teorijos įkūrėjas, taip pat dirbo „Bell Labs“. Ten dirbo C kalbos kūrėjai Kenas Thompsonas ir Denisas Ritchie (juos prisiminsime vėliau), taip pat C ++ autorius – Bjarne'as Stroustrupas.

Pakeliui į UNIX

Prieš kalbėdami apie patį UNIX, prisiminkime tas operacines sistemas, kurios buvo sukurtos prieš jį ir kurios iš esmės nulėmė, kas yra UNIX, o per jį ir daugelis kitų šiuolaikinių operacinių sistemų.

UNIX kūrimas nebuvo pirmasis „Bell Labs“ atliktas darbas operacinių sistemų srityje. 1957 metais laboratorija pradėjo kurti operacinę sistemą, kuri vadinosi BESYS (trumpinys iš Bell Operating System). Projekto vadovas buvo Viktoras Vysotskis, rusų astronomo, emigravusio į Ameriką, sūnus. BESYS buvo vidinis projektas, kuris nebuvo išleistas kaip gatavas komercinis produktas, nors BESYS buvo siunčiamas visiems magnetinėse juostose. Ši sistema buvo sukurta veikti IBM 704 – 709x serijos kompiuteriuose (IBM 7090, 7094). Šiuos dalykus norėčiau vadinti priešpilviniu kompiuteriu, bet, kad nerėžtume ausies, juk ir toliau vadinsime kompiuteriais.

IBM 704

Visų pirma, BESYS buvo skirtas daugelio programų paketiniam vykdymui, tai yra tokiu būdu, kai pateikiamas programų sąrašas, o jų vykdymas suplanuotas taip, kad užimtų maksimalius įmanomus išteklius, kad kompiuteris nestovi be darbo. Tuo pačiu metu BESYS jau turėjo laiko pasidalijimo operacinės sistemos užuomazgas – tai iš esmės tai, kas dabar vadinama daugiafunkcine veikla. Atsiradus visavertėms laiko dalijimosi sistemoms, buvo pasinaudota šia galimybe, kad vienu kompiuteriu vienu metu galėtų dirbti keli žmonės, kiekvienas iš savo terminalo.

1964 m. „Bell Labs“ buvo atnaujintas kompiuteris, dėl kurio BESYS nebegalėjo būti paleistas naujuose IBM kompiuteriuose, o tada nebuvo nė kalbos apie kelių platformų. Kompiuterius tuo metu IBM tiekė be operacinių sistemų. Kūrėjai iš „Bell Labs“ galėjo pradėti rašyti naują operacinę sistemą, tačiau pasielgė kitaip – ​​prisijungė prie „Multics“ operacinės sistemos kūrimo.

Projektą „Multics“ (sutrumpintai iš Multiplexed Information and Computing Service) pasiūlė MIT profesorius Jackas Dennisas. Jis kartu su savo mokiniais 1963 m. sukūrė naujos operacinės sistemos specifikaciją ir sugebėjo sudominti „General Electric“ bendrovės atstovus šiuo projektu. Todėl „Bell Labs“ prisijungė prie MIT ir „General Electric“, kurdama naują operacinę sistemą.

O projekto idėjos buvo labai ambicingos. Pirma, tai turėjo būti operacinė sistema su visu etatu. Antra, „Multics“ buvo parašytas ne asamblieriu, o viena pirmųjų aukšto lygio kalbų - PL / 1, kuri buvo sukurta 1964 m. Trečia, „Multics“ gali veikti kelių procesorių kompiuteriuose. Ta pati operacinė sistema turėjo hierarchinę failų sistemą, failų pavadinimuose galėjo būti bet kokių simbolių ir jie buvo gana ilgi, o failų sistemoje taip pat buvo pateiktos simbolinės nuorodos į katalogus.

Deja, darbas su „Multics“ užsitęsė ilgai, „Bell Labs“ programuotojai nelaukė šio produkto išleidimo ir 1969 m. balandį paliko projektą. Ir išleidimas įvyko tų pačių metų spalį, bet, sakoma, pirmoji versija buvo siaubingai bugi, o dar metus likę kūrėjai taisė klaidas, apie kurias jiems pranešė vartotojai, nors po metų Multics jau buvo patikimesnis. sistema.

„Multics“ buvo kuriamas gana ilgą laiką, paskutinis leidimas buvo 1992 m. ir buvo 12.5 versija, nors tai visiškai kita istorija, tačiau „Multics“ turėjo didžiulę įtaką UNIX ateičiai.

UNIX gimimas

UNIX atsirado beveik atsitiktinai, o dėl to kaltas buvo kompiuterinis žaidimas „Space Travel“ – skraidymo į kosmosą žaidimas, kurį parašė Kenas Thompsonas. Tai buvo toli 1969 m., „Space Travel“ žaidimas pirmiausia buvo sukurtas tai pačiai „Multics“ operacinei sistemai, o po to, kai „Bell Labs“ nutraukė prieigą prie naujų „Multics“ versijų, Kenas perrašė žaidimą „Fortran“ ir perkėlė jį į GECOS operacinę sistemą. buvo su kompiuteriu GE-635. Tačiau čia įsivėlė dvi problemos. Pirma, šis kompiuteris neturėjo labai geros ekrano sistemos, antra, žaisti šiuo kompiuteriu buvo brangu – maždaug 50-75 USD per valandą.

Tačiau vieną dieną Kenas Thompsonas atsitiktinai aptiko DEC PDP-7 kompiuterį, kuris buvo retai naudojamas ir gali būti tinkamas Space Travel, be to, jame buvo geresnis vaizdo procesorius.

Žaidimo perkėlimas į PDP-7 nebuvo lengvas, tiesą sakant, norint jį paleisti, reikėjo parašyti naują operacinę sistemą. Taip nebuvo, į kurį programuotojai nesikreips dėl savo mėgstamo žaislo. Taip gimė UNIX, o tiksliau Unics. Briano Kernighano pasiūlytas vardas yra trumpinys Uniplexed Informacinė ir kompiuterinė sistema. Priminsiu, kad pavadinimas Multics kilęs iš žodžių multipleksuotas Informacijos ir skaičiavimo paslauga, todėl „Unics“ paprastumo požiūriu šiek tiek priešinosi „Multics“. Iš tiesų, „Multics“ jau buvo puolamas dėl savo sudėtingumo. Palyginimui, pirmosios „Unics“ branduolio versijos užėmė tik 12 kB RAM, o „Multics“ – 135 kB.

Kenas Thompsonas

Šį kartą kūrėjai (dar) neeksperimentavo su aukšto lygio kalbomis, o pirmoji Unics versija buvo parašyta assembler. Pats Thompsonas, Denisas Ritchie, dalyvavo kuriant Unics, vėliau prie jų prisijungė Douglas McIlroy, Joey Ossanna ir Rad Kennedy. Iš pradžių OS pavadinimą pasiūlęs Kernighanas teikė tik moralinę paramą.

Kiek vėliau, 1970 m., kai buvo įdiegtas daugiafunkcinis darbas, operacinė sistema buvo pervadinta į UNIX ir nebebuvo laikoma santrumpa. Būtent šie metai laikomi oficialiais UNIX gimimo metais ir būtent nuo 1970 m. sausio pirmosios skaičiuojamas sistemos laikas (sekundžių skaičius nuo šios datos). Ta pati data vadinama patetiškiau – UNIX eros pradžia (angliškai – UNIX Epoch). Prisimeni, mus visus išgąsdino 2000 metų problema? Taigi, panaši problema mūsų laukia dar 2038 metais, kai laikui atvaizduoti nepakaks 32 bitų sveikųjų skaičių, kurie dažnai naudojami datai nustatyti, o laikas su data taps neigiamas. Norėčiau tikėti, kad iki to laiko visa gyvybiškai svarbi programinė įranga tam tikslui naudos 64 bitų kintamuosius, kad ši baisi data būtų atidėta dar 292 milijonais metų, ir tada mes ką nors sugalvosime. 🙂

1971 m. UNIX jau buvo visavertė operacinė sistema, o Bell Labs netgi pasižymėjo UNIX prekės ženklu. Tais pačiais metais UNIX buvo perrašytas, kad veiktų galingesniame PDP-11 kompiuteryje, ir būtent šiais metais buvo išleista pirmoji oficiali UNIX versija (taip pat vadinama First Edition).

Lygiagrečiai su Unics / UNIX kūrimu, Kenas Thompsonas ir Denisas Ritchie, pradedant 1969 m., sukūrė naują kalbą B (Bi), kurios pagrindas buvo BCPL kalba, kuri, savo ruožtu, gali būti laikoma Algol palikuonimi. -60 kalbų. Ritchie pasiūlė UNIX perrašyti į B, kuris buvo nešiojamas, tačiau interpretuojamas, o po to jis toliau keitė kalbą, kad atitiktų naujus poreikius. 1972 m. pasirodė antrasis UNIX leidimas, kuris buvo parašytas beveik visiškai B, o surinkime liko gana mažas modulis, maždaug 1000 eilučių, todėl UNIX perkėlimas į kitus kompiuterius dabar buvo gana paprastas. Taip UNIX tapo nešiojamu.

Kenas Thompsonas ir Dennisas Ritchie

Tada B kalba vystėsi kartu su UNIX, kol pagimdė C – vieną iš labiausiai žinomų programavimo kalbų, kuri dabar yra plačiai smerkiama arba vertinama kaip idealas. 1973 m. buvo išleistas trečiasis UNIX leidimas su įmontuotu C kalbos kompiliatoriumi, o pradedant nuo 5-osios versijos, kuri gimė 1974 m., manoma, kad UNIX buvo visiškai perrašytas C kalba. buvo UNIX 1973 m., kad tokia koncepcija pasirodė kaip vamzdžiai (vamzdžiai).

Nuo 1974–1975 m. UNIX pradėjo plisti už Bell Labs ribų. Thompsonas ir Ritchie paskelbia UNIX aprašą ACM komunikacijose, o AT&T teikia UNIX švietimo įstaigoms kaip mokymosi priemonę. 1976 metais galima sakyti, kad pirmasis UNIX buvo perkeltas į kitą sistemą – į kompiuterį Interdata 8/32. Be to, 1975 metais buvo išleista 6-oji UNIX versija, nuo kurios pasirodė įvairūs šios operacinės sistemos diegimai.

UNIX operacinė sistema buvo tokia sėkminga, kad nuo 70-ųjų pabaigos kiti kūrėjai pradėjo kurti panašias sistemas. Dabar pereikime nuo originalaus UNIX prie jo klonų ir pažiūrėkime, kokios kitos operacinės sistemos išėjo iš jo.

BSD atsiradimas

Šios operacinės sistemos atkūrimą iš esmės palengvino Amerikos pareigūnai, dar prieš gimstant UNIX, 1956 m., įvedę apribojimus AT&T, kuriai priklausė Bell Labs. Faktas yra tas, kad tuo metu Teisingumo departamentas privertė AT & T pasirašyti susitarimą, draudžiantį įmonei užsiimti veikla, nesusijusia su telefono ir telegrafo tinklais bei įranga, tačiau aštuntajame dešimtmetyje AT & T jau suprato, kas sėkmingas projektas pasirodė iš UNIX ir norėjo jį paversti komerciniu. Kad pareigūnai galėtų tai padaryti, AT&T kai kuriems Amerikos universitetams padovanojo UNIX šaltinius.

Vienas iš šių universitetų, kuris turėjo prieigą prie šaltinio kodo, buvo Kalifornijos universitetas Berklyje, o jei yra kitų žmonių šaltinio kodai, tada nevalingai kyla noras kažką pataisyti programoje patiems, juolab kad licencija to nedraudė. Taip po kelerių metų (1978 m.) pasirodė pirmoji su AT&T UNIX nesuderinama sistema. Tai buvo BSD UNIX.

UC Berkeley

BSD yra trumpinys iš „Berkeley Software Distribution“, specialios programinės įrangos platinimo šaltinio kode su labai minkšta licencija. BSD licencija buvo sukurta tik norint platinti naują su UNIX suderinamą sistemą. Ši licencija leidžia pakartotinai naudoti pagal ją platinamą šaltinio kodą, be to, skirtingai nei GPL (kuris dar neegzistavo), nenustato jokių apribojimų išvestinėms programoms. Be to, jis labai trumpas ir neveikia su daugybe nuobodžių teisinių terminų.

Pirmoji BSD versija (1BSD) buvo labiau originalios UNIX 6 versijos papildymas, o ne atskira sistema. 1BSD pridėjo Pascal kompiliatorių ir buvusį teksto rengyklę. Antroji BSD versija, išleista 1979 m., apėmė tokias gerai žinomas programas kaip vi ir C Shell.

Nuo BSD UNIX atsiradimo su UNIX suderinamų sistemų skaičius eksponentiškai išaugo. Jau nuo BSD UNIX pradėjo dygti atskiros operacinių sistemų šakos, skirtingos operacinės sistemos tarpusavyje keitėsi kodu, susipynimas tapo gana painus, todėl ateityje neapsigyvensime ties kiekviena visų UNIX sistemų versija, o pažiūrėkime, kaip pasirodė žinomiausi iš jų.

Bene žinomiausi tiesioginiai BSD UNIX palikuonys yra FreeBSD, OpenBSD ir, kiek mažesniu mastu, NetBSD. Visi jie yra kilę iš vadinamojo 386BSD, išleisto 1992 m. 386BSD, kaip rodo pavadinimas, buvo BSD UNIX prievadas prie procesoriaus Intel 80386. Šią sistemą taip pat sukūrė Berklio universiteto absolventai. Autoriai manė, kad UNIX šaltinio kodas, gautas iš AT&T, buvo pakankamai blogai pakeistas, kad būtų įvertintas AT&T licencija, tačiau pati AT&T taip nemanė, todėl dėl šios operacinės sistemos vyko bylinėjimasis. Sprendžiant iš to, kad pati 386BSD tapo daugelio kitų operacinių sistemų tėvu, viskas jai baigėsi gerai.

FreeBSD projektas (pradžioje jis neturėjo savo pavadinimo) pasirodė kaip pataisų rinkinys 386BSD, tačiau šie pataisymai kažkodėl nebuvo priimti, o tada, kai paaiškėjo, kad 386BSD nebebus kuriamas, 1993 m. projektas buvo panaudotas siekiant sukurti visavertę operacinę sistemą, vadinamą FreeBSD.

Beastie. FreeBSD talismanas

Tuo pačiu metu patys 386BSD kūrėjai sukūrė naują projektą NetBSD, nuo kurio savo ruožtu atsiskyrė OpenBSD. Kaip matote, pasirodo, gana platus operacinių sistemų medis. NetBSD projekto tikslas buvo sukurti UNIX sistemą, kuri galėtų veikti kuo daugiau architektūrų, tai yra pasiekti maksimalų nešiojamumą. Net NetBSD tvarkyklės turi būti kelių platformų.

NetBSD logotipas

Solaris

Tačiau „SunOS“ operacinė sistema buvo pirmoji, kuri atsiskyrė nuo BSD – „Sun Microsystems“, deja, dabar jau mirusio „Sun Microsystems“ sumanymo, kaip suprantate iš pavadinimo. Tai atsitiko 1983 m. „SunOS“ yra operacinė sistema, kuri buvo pateikta su pačios „Sun“ sukurtais kompiuteriais. Apskritai, „Sun“ prieš metus, 1982 m., turėjo „Sun UNIX“ operacinę sistemą, kuri iš esmės buvo pagrįsta „Unisoft Unix v7“ kodų baze („Unisoft“ yra įmonė, įkurta 1981 m., perkėlusi „Unix“ į įvairią aparatinę įrangą), tačiau „SunOS 1.0“ yra pagrįsta 4.1 BSD kodas. SunOS buvo reguliariai atnaujinamas iki 1994 m., kai buvo išleista 4.1.4 versija, o vėliau ji buvo pervadinta į Solaris 2. Iš kur atsirado deuce? Tai šiek tiek paini istorija, nes Solaris pirmą kartą buvo pavadintas SunOS versijomis 4.1.1 – 4.1.4, sukurta 1990–1994 m. Apsvarstykite, kad tai buvo tam tikras prekės ženklo keitimas, kuris įsigalėjo tik nuo Solaris 2 versijos. Tada iki 1997 m. pasirodė Solaris 2.1, 2.2 ir kt. iki 2,6, o vietoj Solaris 2,7 1998 m. buvo išleistas tik Solaris 7, tada tik šis skaičius pradėjo didėti. Šiuo metu naujausia „Solaris“ versija yra 11, išleista 2011 m. lapkričio 9 d.

OpenSolaris logotipas

Solaris istorija taip pat gana sudėtinga, iki 2005 metų Solaris buvo visiškai komercinė operacinė sistema, tačiau 2005 metais Sun nusprendė atidaryti dalį Solaris 10 šaltinio kodo ir sukurti OpenSolaris projektą. Be to, kai „Sun“ buvo gyvas, „Solaris 10“ buvo galima nemokamai naudotis arba įsigyti oficialią paramą. 2010 m. pradžioje, kai „Oracle“ perėmė „Sun“, „Solaris 10“ tapo mokama sistema. Laimei, „Oracle“ dar nesugebėjo nužudyti „OpenSolaris“.

Linux. Kur tu be jo?

O dabar atėjo eilė kalbėti apie žinomiausią UNIX diegimą – Linux. „Linux“ istorija yra nuostabi tuo, kad joje vienu metu susiliejo trys įdomūs projektai. Tačiau prieš kalbant apie Linux kūrėją – Linusą Torvaldsą, reikia paminėti dar du programuotojus, iš kurių vienas – Andrew Tanenbaumas, pats to nežinodamas pastūmėjo Linus kurti Linux, o antrasis – Richardas Stallmanas, kurio įrankiais Linusas kūrė. jo operacinė sistema.

Andrew Tanenbaumas yra Amsterdamo laisvojo universiteto profesorius ir daugiausia užsiima operacinių sistemų kūrimu. Jis kartu su Albertu Woodhullu parašė tokią gerai žinomą knygą kaip „Operacinės sistemos: dizainas ir įgyvendinimas“, kuri įkvėpė Torvaldsą pradėti rašyti „Linux“. Šioje knygoje kalbama apie UNIX tipo sistemas, tokias kaip Minix. Deja, ilgą laiką Tanenbaumas Minix laikė tik projektu, skirtu mokymuisi kurti operacines sistemas, bet ne visavertę veikiančią OS. Minix šaltiniai turėjo gana ribotą licenciją, kai galėjai studijuoti jo kodą, bet negalėjai platinti savo modifikuotų Minix versijų, o pats autorius ilgą laiką nenorėjo taikyti jam atsiųstų pataisų.

Andrius Tanenbaumas

Pirmoji „Minix“ versija pasirodė kartu su pirmuoju knygos leidimu 1987 m., o vėlesnės antrosios ir trečiosios „Minix“ versijos buvo išleistos su atitinkamais knygos apie operacines sistemas leidimais. Trečioji „Minix“ versija, išleista 2005 m., jau gali būti naudojama kaip atskira kompiuterio operacinė sistema (yra „Minix“ LiveCD versijos, kurių nereikia diegti kietajame diske), ir kaip įterptoji operacinė sistema mikrovaldikliams. Naujausia Minix 3.2.0 versija buvo išleista 2011 m. liepos mėn.

Dabar pagalvokime apie Richardą Stallmaną. Pastaruoju metu jis buvo suvokiamas tik kaip laisvos programinės įrangos propaguotojas, nors jo dėka atsirado daug dabar žinomų programų, o Torvaldsas kažkada jo projektas labai palengvino gyvenimą. Įdomiausia tai, kad tiek Linusas, tiek Richardas į operacinės sistemos kūrimą žiūrėjo iš skirtingų pusių ir dėl to projektai susijungė į GNU / Linux. Čia būtina paaiškinti, kas yra GNU ir iš kur jis atsirado.

Ričardas Stallmanas

Galite kalbėti apie Stallmaną gana ilgai, pavyzdžiui, kad jis gavo pagyrimu fizikos laipsnį iš Harvardo universiteto. Be to, Stallmanas dirbo Masačusetso technologijos institute, kur aštuntajame dešimtmetyje pradėjo rašyti savo garsųjį EMACS redaktorių. Tuo pačiu metu redaktoriaus šaltinio kodas buvo prieinamas visiems, o tai nebuvo kažkokia MIT, kur ilgą laiką buvo tam tikra prasme draugiška anarchija, ar, kaip Stephenas Levy, nuostabaus kūrinio autorius, funkcija. knyga „Hakeriai. Kompiuterių revoliucijos herojai“, „hakerių etika“. Tačiau kiek vėliau MIT pradėjo rūpintis kompiuterių saugumu, vartotojams buvo suteikiami slaptažodžiai, neleistini vartotojai negalėjo prieiti prie kompiuterio. Stallmanas griežtai priešinosi šiai praktikai, jis sukūrė programą, kuri leistų kiekvienam sužinoti bet kurio vartotojo slaptažodį, jis pasisakė už tai, kad slaptažodis būtų paliktas tuščias. Pavyzdžiui, jis siuntė tokias žinutes vartotojams: „Matau, kad pasirinkote slaptažodį [tokį ir tokį]. Manau, kad galite pereiti prie „vežimo grąžinimo“ slaptažodžio. Įvesti tekstą yra daug lengviau, be to, tai atitinka principą, kad čia neturėtų būti slaptažodžių“. Tačiau jo pastangos nuėjo perniek. Be to, nauji žmonės, atėję į MIT, jau pradėjo rūpintis teisėmis į savo programą, autorių teisėmis ir panašiomis bjaurybėmis.

Stallmanas vėliau pasakė (cituodamas iš tos pačios Levy knygos): „Negaliu patikėti, kad programinė įranga turi turėti savininkus. Tai, kas įvyko, sabotavo visą žmoniją kaip visumą. Tai neleido žmonėms maksimaliai išnaudoti programų. Arba dar viena jo citata: „Pradėjo gesti automobiliai, o taisyti nebuvo kam. Niekas neatliko reikiamų programinės įrangos pakeitimų. Neįsilaužėliai į tai sureagavo paprastai – ėmė naudotis pirktomis komercinėmis sistemomis, atsinešdami fašizmą ir licencijavimo sutartis.

Dėl to Richardas Stallmanas paliko MIT ir nusprendė sukurti savo nemokamą su UNIX suderinamą operacinę sistemą. Taigi 1983 m. rugsėjo 27 d. pasirodė GNU projektas, kuris verčiamas kaip „Gnu nėra UNIX“. Pirmoji su GNU susijusi programa buvo EMACS. Kaip GNU projekto dalis 1988 m. buvo sukurta nuosava GNU GPL licencija, GNU General Public License, kuri įpareigoja programų, pagrįstų šaltinio kodais, platinamais pagal šią licenciją, autorius taip pat atidaryti šaltinio kodus pagal GPL licenciją.

Iki 1990 metų GNU rėmuose buvo rašoma įvairi programinė įranga būsimai operacinei sistemai (ne tik Stallman), tačiau ši OS neturėjo savo branduolio. Branduolys buvo pradėtas naudoti tik 1990 m., Tai buvo projektas pavadinimu GNU Hurd, bet jis „neiššaudė“, paskutinė jo versija buvo išleista 2009 m. Bet „atleido“ Linux, prie kurio galiausiai priartėjome.

Tada pradeda veikti suomių berniukas Linusas Torvaldsas. Studijuodamas Helsinkio universitete Linus turėjo C kalbos ir UNIX sistemos kursus, laukdamas šio dalyko nusipirko tą pačią Tanenbaumo knygą, kurioje buvo aprašyta Minix. Be to, buvo aprašyta, patį Minix reikėjo pirkti atskirai 16 diskelių, o tada kainavo 169 USD (oi, mūsų Gorbushka tada Suomijoje nebuvo, bet ką padarysi, laukiniai 🙂). Be to, Torvaldsas už 3500 USD už kreditą turėjo nusipirkti patį kompiuterį su 80386 procesoriumi, nes prieš tai jis turėjo tik seną kompiuterį su 68008 procesoriumi, kuriame Minix negalėjo paleisti (laimei, kai jis jau padarė pirmąjį „Linux“ versija, dėkingi vartotojai prisijungė ir sumokėjo jo kompiuterio paskolą).

Linas Torvaldsas

Nepaisant to, kad Torvaldsui apskritai patiko Minix, bet palaipsniui jis pradėjo suprasti, kokie yra jo trūkumai ir trūkumai. Jį ypač erzino su operacine sistema gauta terminalo emuliavimo programa. Dėl to jis nusprendė parašyti savo terminalo emuliatorių ir tuo pačiu suprasti 386-ojo procesoriaus veikimą. Torvaldsas parašė emuliatorių žemu lygiu, tai yra, jis pradėjo nuo BIOS įkrovos, palaipsniui emuliatorius įgijo naujų funkcijų, tada, norėdamas atsisiųsti failus, Linusas turėjo parašyti diskelių įrenginį ir failų sistemos tvarkyklę, ir mes einame. . Taip atsirado Linux operacinė sistema (tuo metu ji dar neturėjo jokio pavadinimo).

Kai operacinė sistema pradėjo daugiau ar mažiau atsirasti, pirmoji programa, kurią Linus paleido, buvo bash. Dar teisingiau būtų sakyti, kad jis pakoregavo savo operacinę sistemą, kad „bash“ pagaliau veiktų. Po to jis pradėjo palaipsniui paleisti kitas programas pagal savo operacinę sistemą. O operacinė sistema apskritai neturėjo vadintis Linux. Štai citata iš Torvaldso autobiografijos, kuri buvo paskelbta pavadinimu „Just for Fun“: „Viduje aš tai pavadinau Linux. Sąžiningai, niekada neketinau jo išleisti pavadinimu Linux, nes man tai atrodė per daug nekuklu. Kokį pavadinimą paruošiau galutinei versijai? pasipiktinimas. (Supratai? Keistuoliai – gerbėjai – ir x pabaigoje iš Unix) “.

1991 m. rugpjūčio 25 d. comp.os.minix konferencijoje pasirodė tokia istorinė žinutė: „Sveiki visiems minix naudotojams! Rašau čia (nemokamą) operacinę sistemą (mėgėjiška versija – nebus tokia didelė ir profesionali kaip gnu) skirta 386 ir 486 AT. Jau nuo balandžio mėn., atrodo, kad jis bus paruoštas. Praneškite, kas jums patinka / nepatinka minix, nes mano OS yra panaši į ją (be kita ko, dėl praktinių priežasčių ji turi tą patį fizinį failų sistemos išdėstymą). Iki šiol į jį perkėliau bash (1.08) ir gcc (1.40) ir atrodo, kad viskas veikia. Taigi ateinančiais mėnesiais turėsiu kažką, kas jau veikia, ir norėčiau sužinoti, kokių funkcijų reikia daugumai žmonių. Visos paraiškos priimamos, tačiau įvykdymas negarantuojamas :-)"

Atkreipkite dėmesį, kad GNU ir gcc programa čia jau paminėti (tuo metu ši santrumpa reiškė GNU C Compiler). Ir prisiminkite Stallmaną ir jo GNU, kurie pradėjo kurti operacinę sistemą iš kito galo. Galiausiai susijungimas įvyko. Todėl Stallmanas įsižeidžia, kai operacinė sistema vadinama tiesiog Linux, o ne GNU / Linux, juk Linux yra būtent branduolys, o daugelis skinų buvo paimti iš GNU projekto.

1991 m. rugsėjo 17 d. Linusas Torvaldsas pirmą kartą paskelbė savo operacinę sistemą viešajame FTP serveryje, kuris tuo metu turėjo 0.01 versiją. Nuo tada visa progresyvi žmonija šią dieną švenčia kaip Linux gimtadienį. Ypač nekantrūs žmonės ją pradeda švęsti rugpjūčio 25 d., kai Linus konferencijoje prisipažino rašantis OS. Tada prasidėjo Linux kūrimas, o pats Linux pavadinimas sustiprėjo, nes adresas, kuriame buvo išdėstyta operacinė sistema, atrodė taip. ftp.funet.fi/pub/OS/Linux. Faktas yra tai, kad Ari Lemke, mokytojas, paskyręs Linusui vietą serveryje, manė, kad Freax neatrodo labai reprezentatyvus, ir pavadino katalogą „Linux“ - kaip autoriaus vardo ir „x“ mišinį. UNIX pabaiga.

Tux. Linux logotipas

Taip pat yra toks dalykas, kad nors Torvaldsas parašė Linux veikiamas Minix, programavimo požiūriu tarp Linux ir Minix yra esminis skirtumas. Faktas yra tas, kad Tanenbaum yra mikrobranduolių operacinių sistemų, ty tų, kai operacinėje sistemoje yra mažas branduolys su nedideliu skaičiumi funkcijų, rėmėjas, o visos operacinės sistemos tvarkyklės ir paslaugos veikia kaip atskiri nepriklausomi moduliai, o Linux. turi monolitinį branduolį, ten yra daug operacinės sistemos funkcijų, todėl Linux sistemoje, jei jums reikia kokios nors specialios funkcijos, gali tekti perkompiliuoti branduolį, atliekant kai kuriuos pakeitimus. Viena vertus, mikrobranduolių architektūra turi privalumų - tai patikimumas ir paprastumas, tuo pačiu, neatsargiai suprojektavus mikrobrandulį, monolitinis branduolys veiks greičiau, nes jam nereikia keistis dideliais duomenų kiekiais su trečiaisiais. vakarėlių moduliai. Po Linux pasirodymo, 1992 metais, konferencijoje comp.os.minix kilo virtualus ginčas tarp Torvaldso ir Tanenbaumo bei jų šalininkų, kuri architektūra geresnė – mikrobranduolys ar monolitinė. Tanenbaumas teigė, kad mikrobranduolių architektūra buvo ateitis, o Linux buvo pasenusi, kol ji pasirodė. Nuo tos dienos praėjo beveik 20 metų... Beje, GNU Hurd, turėjęs tapti GNU operacinės sistemos branduoliu, buvo sukurtas ir kaip mikrobranduolys.

Mobilusis Linux

Taigi, nuo 1991 metų Linux pamažu vystosi, ir nors paprastų vartotojų kompiuteriuose Linux dalis dar nėra didelė, ji jau seniai populiari serveriuose ir superkompiuteriuose, o Windows bando atkirsti savo dalį šioje srityje. Be to, „Linux“ dabar yra gerai išdėstyta telefonuose ir planšetiniuose kompiuteriuose, nes „Android“ taip pat yra „Linux“.

Android logotipas

„Android“ istorija prasidėjo nuo „Android Inc“, kuri pasirodė 2003 m. ir atrodė, kad užsiima mobiliųjų aplikacijų kūrimu (konkretūs šios įmonės pasiekimai pirmaisiais gyvavimo metais vis dar nėra itin reklamuojami). Tačiau mažiau nei po dvejų metų „Android Inc“ perima „Google“. Oficialių detalių apie tai, ką tiksliai veikė Android Inc kūrėjai iki perėmimo, rasti nepavyko, nors jau 2005 m., ją nupirkus Google, sklido kalbos, kad jie jau kuria naują operacinę sistemą telefonams. Tačiau pirmasis „Android“ leidimas įvyko 2008 m. spalio 22 d., po kurio buvo pradėtos reguliariai leisti naujos versijos. Viena iš Android kūrimo ypatybių galima būtų pavadinti tai, kad ši sistema buvo pradėta atakuoti dėl tariamai pažeistų patentų, o Java diegimas nėra aiškus teisiniu požiūriu, bet nesileiskime į šiuos netechninius kivirčus. .

Tačiau „Android“ nėra vienintelis mobilusis „Linux“ atstovas, be jo yra ir „MeeGo“ operacinė sistema. Jei už „Android“ slypi tokia galinga korporacija kaip „Google“, tai „MeeGo“ neturi vieno stipraus patikėtinio, ją kuria bendruomenė, globojama „The Linux Foundation“, kurią remia tokios kompanijos kaip „Intel“, „Nokia“, „AMD“, „Novell“, ASUS, Acer, MSI ir kt. Šiuo metu pagrindinę pagalbą teikia „Intel“, kas nenuostabu, nes pats „MeeGo“ projektas išaugo iš „Intel“ inicijuoto „Moblin“ projekto. „Moblin“ yra „Linux“ platinimas, skirtas veikti nešiojamuose įrenginiuose, maitinamuose „Intel Atom“ procesoriaus. Paminėkime dar vieną mobilųjį Linux – Openmoko. „Linux“ gana sparčiai bando įsitvirtinti telefonuose ir planšetiniuose kompiuteriuose, „Google“ rimtai ėmėsi Android, kitų mobiliųjų Linux versijų perspektyvos dar miglotos.

Kaip matote, šiuo metu „Linux“ gali veikti daugelyje skirtingų procesorių valdomų sistemų, tačiau 1990-ųjų pradžioje Torvaldsas netikėjo, kad „Linux“ gali būti perkeltas ne į 386-ąjį procesorių.

MacOS X

Dabar pereikime prie kitos operacinės sistemos, kuri taip pat yra suderinama su UNIX – „Mac OS X“. Pirmosios „Mac OS“ versijos, iki 9-osios, nebuvo pagrįstos UNIX pagrindu, todėl prie jų neapsiribosime. Įdomiausia mums prasidėjo po Steve'o Jobso pašalinimo iš Apple 1985 metais, po kurio jis įkūrė kompaniją NeXT, kuri kūrė jiems kompiuterius ir programinę įrangą. NeXT gavo programuotoją Avetį Tevanyaną, kuris anksčiau kūrė Mach mikrobrandulį su UNIX suderinamai operacinei sistemai, kuriamai Carnegie Mellon universitete. Mach branduolys turėjo pakeisti BSD UNIX branduolį.

NeXT įmonės logotipas

Avetis Tevanian vadovavo komandai, kuriant naują su UNIX suderinamą operacinę sistemą NeXTSTEP. Kad dviratis nebūtų išradęs iš naujo, „NeXTSTEP“ buvo pagrįstas tuo pačiu „Mach“ branduoliu. Kalbant apie programavimą, NeXTSTEP, skirtingai nei daugelis kitų operacinių sistemų, buvo orientuotas į objektą, didžiulį vaidmenį jame suvaidino Objective-C programavimo kalba, kuri dabar plačiai naudojama Mac OS X. Buvo išleista pirmoji NeXTSTEP versija. 1989 metais. Nepaisant to, kad NeXTSTEP iš pradžių buvo sukurtas Motorola 68000 procesoriams, tačiau 1990-ųjų pradžioje operacinė sistema buvo perkelta į 80386 ir 80486 procesorius. „NeXT“ reikalai klostėsi ne taip gerai, o 1996 m. „Apple“ pasiūlė Jobsui nusipirkti „NeXT“, kad vietoj „Mac OS“ būtų naudojamas „NeXTSTEP“. Čia dar būtų galima kalbėti apie NeXTSTEP ir BeOS operacinių sistemų konkurenciją, pasibaigusią NeXTSTEP pergale, bet ir taip ilgos istorijos neprailginsime, be to, BeOS niekaip nesusijęs su UNIX, todėl šiuo metu tai mūsų nedomina, nors pati savaime ši operacinė sistema buvo labai įdomi ir gaila, kad jos kūrimas nutrūko.

Po metų, kai Jobsas grįžo į Apple, jis tęsė NeXTSTEP pritaikymo Apple kompiuteriams politiką, o po kelerių metų ši operacinė sistema buvo perkelta į PowerPC ir Intel procesorius. Taigi 1999 metais buvo išleista Mac OS X serverio versija (Mac OS X Server 1.0), o 2001 metais – operacinė sistema galutiniams vartotojams – Mac OS X (10.0).

Vėliau, remiantis Mac OS X, buvo sukurta operacinė sistema iPhone telefonams, kuri vadinosi Apple iOS. Pirmoji iOS versija buvo išleista 2007 m. „IPad“ taip pat veikia ta pačia operacine sistema.

Išvada

Po viso to, kas išdėstyta aukščiau, jums gali kilti klausimas, kokią operacinę sistemą galima laikyti UNIX? Tikslaus atsakymo į tai nėra. Formaliu požiūriu yra Single UNIX specifikacija – standartas, kurį turi atitikti operacinė sistema, kad ją būtų galima pavadinti UNIX. Nepainiokite su POSIX standartu, kurį gali atitikti ne UNIX tipo operacinė sistema. Beje, pavadinimą POSIX pasiūlė tas pats Richardas Stallmanas, o formaliai POSIX standartas turi numerį ISO / IEC 9945. Vienos specifikacijos gavimas yra brangus ir daug laiko reikalaujantis verslas, todėl su juo nėra siejama daug operacinių sistemų. . Šį sertifikatą gavusios operacinės sistemos yra „Mac OS X“, „Solaris“, SCO ir kelios kitos mažiau žinomos operacinės sistemos. Tai neapima Linux ar *BSD, bet niekas neabejoja jų „uniksiškumu“. Todėl, pavyzdžiui, programuotojas ir rašytojas Ericas Raymondas pasiūlė dar du ženklus, leidžiančius nustatyti, ar ta ar kita operacinė sistema yra UNIX tipo. Pirmoji iš šių savybių yra AT&T ir Bell Labs sukurto originalaus UNIX šaltinio kodo „nenuoseklumas“. Tai apima BSD sistemas. Antrasis ženklas yra „UNIX funkcionalumas“. Tai apima operacines sistemas, kurios veikia taip pat, kaip aprašyta UNIX specifikacijoje, bet negavo oficialaus sertifikato ir, be to, niekaip nesusijusios su originalaus UNIX šaltiniais. Tai apima Linux, Minix, QNX.

Dėl to mes galbūt sustosime, kitaip paaiškėjo, kad yra per daug raidžių. Šioje apžvalgoje daugiausia buvo apžvelgta garsiausių operacinių sistemų atsiradimo istorija – už borto liko BSD, Linux, Mac OS X, Solaris variacijos, dar kai kurie UNIX, tokie kaip QNX, Plan 9, Plan B ir kai kurie kiti. Kas žino, gal ateityje vėl juos prisiminsime.

RUSIJOS ŠVIETIMO IR MOKSLO MINISTERIJA

FEDERACIJA

FEDERALINĖ ŠVIETIMO AGENTŪRA

VALSTYBINĖ UGDYMO ĮSTAIGA

AUKŠTESIS PROFESINIS IŠSILAVINIMAS

Taganrogo valstybinis radijo inžinerijos universitetas

„Informatikos“ disciplina

"UNIX operacinė sistema"

Užbaigė: Orda-Žigulina D.V., gr. E-25

Patikrinta: Vishnevetsky V.Yu.

Taganrogas 2006 m


Įvadas

Kas yra Unix 3

Kur nemokamai gauti unix 7

Pagrindinė dalis. (Unix aprašymas)

1. Pagrindinės Unix 8 sąvokos

2. Failų sistema 9

2.1 Failų tipai 9

3. Komandų vertėjas 11

4. UNIX 12 branduolys

4.1 Bendra tradicinio UNIX branduolio struktūra 13

4.2 Pagrindinės branduolio funkcijos 14

4.3 Sąveikos su branduoliu principai 15

4.4 Pertraukimų valdymo principai 17

5. I/O valdymas 18

5.1 Sistemos I/O buferio sudarymo principai 19

5. 2 Sistema reikalauja įvesties/išvesties valdymo 21

6. Tvarkyklių sąsajos ir įvesties taškai 23

6.1 Blokuoti tvarkykles 23

6.2 Simbolių tvarkyklės 24

6. 3 srauto tvarkyklės 25

7. Komandos ir priemonės 25

7. 1 Komandos organizavimas UNIX OS 26

7.2 I/O peradresavimas ir vamzdynas 26

7. 3 Integruotos, bibliotekos ir vartotojo komandos 26

7.4 Programavimas komandų kalba 27

8. GUI įrankiai 27

8.1 Vartotojų ID ir vartotojų grupės 30

8.2 Failų apsauga 32

8.3 Perspektyvios operacinės sistemos, palaikančios UNIX OS aplinką 33

Išvada

Pagrindiniai Unix ir kitos OS 36 skirtumai

Unix 37 programos


Įvadas

Kas yra Unix

Terminas Unix ir ne visai lygiavertis UNIX vartojami su skirtingomis reikšmėmis. Pradėkime nuo antrojo termino, kaip paprastesnio. Trumpai tariant, UNIX (tokia forma) yra registruotas prekės ženklas, iš pradžių priklausęs AT&T Corporation, kuris per daugelį metų pakeitė savininkus ir dabar yra organizacijos, vadinamos Open Group, nuosavybė. Teisė naudoti pavadinimą UNIX įgyjama savotišku „utėlių patikrinimu“ – išlaikant atitikties tam tikros etaloninės OS (Single Unix Standard – kuris šiuo atveju gali būti išverstas kaip Unix standartas) specifikacijas. Ši procedūra yra ne tik sudėtinga, bet ir labai brangi, todėl iš dabartinių operacinių sistemų ją atliko tik kelios, ir visos jos yra patentuotos, tai yra yra tam tikrų korporacijų nuosavybė.

Tarp korporacijų, užsitarnavusių teisę į UNIX pavadinimą, tada kūrėjai / bandytojai ir savininkų kraują (tiksliau, dolerį), galime įvardyti:

Saulė su savo SunOS (pasauliui geriau žinoma kaip Solaris);

IBM, kuri sukūrė AIX sistemą;

„Hewlett-Packard“ yra HP-UX sistemos savininkas;

IRIX yra SGI operacinė sistema.

Be to, tinkamas UNIX pavadinimas taikomas sistemoms:

DEC sukurtas „True64 Unix“, kurį likvidavus atiteko „Compaq“, o dabar kartu su pastaruoju tapo tos pačios „Hewlett-Packard“ nuosavybe;

UnixWare priklauso SCO (Caldera ir Santa Cruz Operation susijungimo produktas).

Kadangi visos šios sistemos yra patentuotos, jos parduodamos už didelius pinigus (net pagal amerikietiškus standartus). Tačiau tai nėra pagrindinė kliūtis paties UNIX plitimui, nes jų bendras bruožas yra privalomas tam tikroms aparatinės įrangos platformoms: AIX veikia IBM serveriuose ir darbo stotyse su Power procesoriais, HP-UX – su savo HP-PA (Precision Architecture) mašinos , IRIX - SGI grafinėse stotyse, kuriose yra MIPS procesoriai, True64 Unix - skirtas Alpha procesoriams (deja, Bose mirus) Tik UnixWare yra orientuotas į "demokratinę" kompiuterio platformą, o Solaris yra dviejų architektūrų versijose - savo, Sparc, ir vis tiek tas pats PC, kuris, tiesa, nelabai prisidėjo prie jų paplitimo – dėl gana silpno naujų kompiuterių periferinių įrenginių palaikymo.

Taigi UNIX pirmiausia yra teisinė sąvoka. Tačiau terminas „Unix“ turi technologinį aiškinimą. Tai yra įprastas pavadinimas, kurį IT pramonė naudoja visai operacinių sistemų šeimai, kilusiam iš „originalios“ UNIX įmonės AT & T arba atkuriančios jos funkcijas „nuo nulio“, įskaitant nemokamas operacines sistemas, tokias kaip Linux, FreeBSD ir kitų BSD, niekada nebuvo patvirtinta, kad ji atitiktų vieną Unix standartą. Štai kodėl jie dažnai vadinami „Unix“ tipo.

Taip pat plačiai vartojamas artimas savo prasme terminas „su POSIX suderinamos sistemos“, jungiantis operacinių sistemų šeimą, atitinkančią to paties pavadinimo standartų rinkinį. Patys POSIX (nešiojamosios operacinės sistemos sąsaja, pagrįsta uniX) standartai buvo sukurti remiantis Unix sistemose priimta praktika, todėl pastarosios pagal apibrėžimą yra suderinamos su POSIX. Tačiau tai nėra visiškai sinonimai: suderinamumą su POSIX standartais tvirtina operacinės sistemos, kurios yra tik netiesiogiai susijusios su Unix (QNX, Syllable) arba visai nesusijusios (iki Windows NT/2000/XP).

Norėdami išsiaiškinti UNIX, Unix ir POSIX santykių klausimą, turime šiek tiek pasigilinti į istoriją. Tiesą sakant, šio klausimo istorija yra išsamiai aptarta atitinkamame knygos „Nemokamas Unix: Linux, FreeBSD ir kiti“ (netrukus pasirodys BHV-Petersburg) skyriuje ir straipsniuose apie Linux ir BSD sistemų istoriją.

„Unix“ operacinę sistemą (tiksliau, pirmąją jos versiją) kūrė „Bell Labs“ (AT & T padalinys) darbuotojai 1969–1971 m. Pirmieji jo autoriai – Kenas Thompsonas ir Dennisas Ritchie – tai padarė tik savo tikslams, ypač tam, kad galėtų smagiai praleisti laiką su savo mėgstamu „StarTravel“ žaidimu. Ir dėl daugelio teisinių priežasčių pati įmonė negalėjo jo naudoti kaip komercinio produkto. Tačiau praktinis Unix pritaikymas buvo rastas gana greitai. Pirma, jis buvo naudojamas Bell Labs rengiant įvairius techninius (įskaitant patentinius) dokumentus. Antra, UUCP (Unix to Unix Copy Program) ryšio sistema buvo pagrįsta Unix.

Kita sritis, kurioje Unix buvo naudojamas praėjusio amžiaus 70-aisiais ir 80-ųjų pradžioje, pasirodė gana neįprasta. Būtent šaltiniuose jis buvo išplatintas tarp mokslo institucijų, dirbančių informatikos srityje. Tokios sklaidos tikslas (ji nebuvo visiškai nemokama dabartine prasme, o iš tikrųjų pasirodė labai liberali) buvo: švietimas ir moksliniai tyrimai minėtoje žinių srityje.

Garsiausia yra BSD Unix sistema, sukurta Berklio universitete, Kalifornijoje. Kuris, palaipsniui išsivaduodamas iš patentuoto originalaus Unix kodo, galiausiai po dramatiškų pakilimų ir nuosmukių (išsamiai aprašyta čia) davė pradžią modernioms nemokamoms BSD sistemoms – FreeBSD, NetBSD ir kt.

Vienas iš svarbiausių universiteto įsilaužėlių darbo rezultatų buvo (1983 m.) TCP / IP protokolo palaikymo įvedimas Unix, kuriuo buvo pagrįstas tuometinis ARPANET (ir kuris tapo šiuolaikinio interneto pagrindu). Tai buvo būtina Unix dominavimo visose srityse, susijusiose su pasauliniu tinklu, sąlyga. Ir tai pasirodė esąs kitas praktinis šios operacinių sistemų šeimos pritaikymas – tuo metu jau nebereikėjo kalbėti apie vieną Unix. Nes ji, kaip minėta anksčiau, atskyrė dvi savo šakas – kilusią iš originalaus UNIX (laikui bėgant ji gavo System V pavadinimą) ir Berkeley kilmės sistemą. Kita vertus, V sistema sudarė tų įvairių patentuotų UNIX, kurie iš tikrųjų turėjo teisinę teisę reikalauti šio pavadinimo, pagrindą.

Pastaroji aplinkybė – kadaise buvusios vienos OS išsišakojimas į kelias linijas, kurios pamažu praranda suderinamumą – susikirto su vienu iš kertinių Unix ideologijos akmenų: sistemos perkeliamumu tarp skirtingų platformų, o programomis iš vienos Unix sistemos į kitas. Kas atgaivino įvairaus pobūdžio standartizacijos organizacijų veiklą, kuri galiausiai baigėsi jau anksčiau minėto POSIX standartų rinkinio sukūrimu.

Būtent POSIX standartais rėmėsi Linusas Torvaldsas, kurdamas „nuo nulio“ (ty nenaudodamas jau egzistuojančio kodo) savo operacinę sistemą – „Linux“. O ji, greitai ir sėkmingai įvaldžiusi tradicines Unix sistemų taikymo sritis (programinės įrangos kūrimas, komunikacijos, internetas), ilgainiui joms atvėrė naują – bendros paskirties darbastalio vartotojų platformas. Dėl to jis tapo populiarus tarp žmonių – populiarumas pranoksta visas kitas Unix sistemas, tiek patentuotas, tiek nemokamas.

Toliau kalbėsime apie darbą su Unix sistemomis plačiąja to žodžio prasme, neatsižvelgdami į jokius prekių ženklus ir kitus teisinius nesklandumus. Nors pagrindiniai su darbo metodais susiję pavyzdžiai bus paimti iš nemokamų jų diegimų srities – Linux, kiek mažiau – FreeBSD, o dar mažiau – iš kitų BSD sistemų.

Kur gauti nemokamą Unix?

FreeBSD duomenų bazė – www.freebsd.org;

Galite apsilankyti www.sco.com


Pagrindinė dalis. (Unix aprašymas)

1. Pagrindinės Unix sąvokos

„Unix“ yra pagrįsta dviem pagrindinėmis sąvokomis: „procesas“ ir „failas“. Procesai yra dinaminė sistemos pusė, jie yra subjektai; ir failai – statiniai, tai yra procesų objektai. Beveik visa sąsaja tarp procesų, sąveikaujančių su branduoliu ir tarpusavyje, atrodo kaip failų rašymas / skaitymas. Nors reikia pridėti signalų, bendros atminties ir semaforų.

Apytiksliai procesus galima suskirstyti į du tipus – užduotis ir demonus. Užduotis – tai procesas, kuris atlieka savo darbą, stengdamasis ją kuo greičiau užbaigti ir užbaigti. Demonas laukia įvykių, kuriuos jam reikia apdoroti, apdoroja įvykusius įvykius ir vėl laukia; dažniausiai baigiasi kito proceso tvarka, dažniausiai jį nužudo vartotojas duodamas komandą "nužudyti proceso_numeris". Šia prasme paaiškėja, kad interaktyvi užduotis, kuri apdoroja vartotojo įvestį, labiau primena demoną nei užduotį.

2. Failų sistema

Senajame Unix "s pavadinimui buvo priskirta 14 raidžių, naujuose šis apribojimas buvo pašalintas. Be failo pavadinimo, kataloge yra jo inode identifikatorius - sveikasis skaičius, kuris nustato bloko, kuriame įrašomi failo atributai Tarp jų: ​​vartotojo numeris – failo savininkas, skaičių grupės Nuorodų į failą skaičius (žr. toliau) Sukūrimo data ir laikas, paskutinis modifikavimas ir paskutinė prieiga prie failo Prieigos atributai Prieigos atributuose yra failas tipas (žr. toliau), teisės keisti atributus paleidžiant (žr. toliau) ir leidimų prieiga prie jo savininkui, klasės draugui ir kitiems skaitymui, rašymui ir vykdymui. Teisę ištrinti failą lemia teisė rašyti į viršutinį. katalogas.

Kiekvienas failas (bet ne katalogas) gali būti žinomas keliais pavadinimais, tačiau jie turi būti tame pačiame skaidinyje. Visos nuorodos į failą yra vienodos; failas ištrinamas, kai pašalinama paskutinė nuoroda į failą. Jei failas atidarytas (skaitymui ir/ar rašymui), nuorodų į jį skaičius padidėja dar vienu; Štai kaip daugelis programų, kurios atidaro laikinąjį failą, iš karto jį ištrina, kad sugedus operacinei sistemai uždarius proceso atidarytus failus, šis laikinasis failas būtų ištrintas operacinės sistemos.

Yra dar viena įdomi failų sistemos savybė: jei po failo sukūrimo į jį buvo rašoma ne iš eilės, o dideliais intervalais, tai šiems intervalams vietos diske neskiriama. Taigi bendras failų kiekis skaidinyje gali būti didesnis nei skaidinio tūris, o ištrynus tokį failą, atlaisvinama mažiau vietos nei jos dydis.

2.1 Failų tipai

Failai yra šių tipų:

įprastos tiesioginės prieigos failas;

katalogas (failas, kuriame yra kitų failų pavadinimai ir identifikatoriai);

simbolinė nuoroda (eilutė su kito failo pavadinimu);

blokavimo įtaisas (diskas arba magnetinė juosta);

nuoseklusis įrenginys (gnybtai, nuoseklieji ir lygiagrečiai prievadai; diskai ir juostos taip pat turi nuosekliojo įrenginio sąsają)

pavadintas kanalas.

Specialūs failai, skirti dirbti su įrenginiais, paprastai yra „/dev“ kataloge. Štai keletas iš jų (FreeBSD nominacijoje):

tty* - terminalai, įskaitant: ttyv - virtualioji konsolė;

ttyd – DialIn terminalas (dažniausiai nuoseklusis prievadas);

cuaa – DialOut linija

ttyp - tinklo pseudoterminalas;

tty – terminalas, su kuriuo susieta užduotis;

wd* – kietieji diskai ir jų poskyriai, įskaitant: wd – kietasis diskas;

wds - šio disko skaidinys (čia vadinamas "slice");

wds - skaidinio skyrius;

fd - diskelis;

rwd*, rfd* – tas pats kaip wd* ir fd*, bet su nuoseklia prieiga;

Kartais reikalaujama, kad vartotojo paleista programa turėtų ne ją paleidusio vartotojo teises, o kažkokias kitas. Šiuo atveju keitimo teisių atributas nustatomas į vartotojo – programos savininko – teises. (Kaip pavyzdį pateiksiu programą, kuri nuskaito failą su klausimais ir atsakymais ir pagal tai, ką perskaitė, testuoja studentą, kuris paleido šią programą. Programa turi turėti teisę skaityti failą su atsakymais, tačiau mokinys kuris jį paleido, neturėtų.) Pavyzdžiui, veikia programa passwd, su kuria vartotojas gali pakeisti slaptažodį. Vartotojas gali paleisti passwd programą, ji gali keisti sistemos duomenų bazę, bet vartotojas negali.

Skirtingai nuo DOS, kurios visiškai kvalifikuotas failo pavadinimas yra "diskas: kelio pavadinimas" ir RISC-OS, kurios jis yra "-failų sistemos diskas: $.path.name" (kuris paprastai turi savo privalumų), Unix naudoja skaidrią žymėjimą forma „/kelias/vardas“. Šaknis matuojamas iš skaidinio, iš kurio buvo įkeltas Unix branduolys. Jei reikia naudoti kitą skaidinį (o įkrovos skaidinyje paprastai yra tik tai, ko reikia paleisti), naudojama komanda `mount /dev/partitionfile dir`. Tuo pačiu metu failai ir pakatalogiai, kurie anksčiau buvo šiame kataloge, tampa nepasiekiami tol, kol skaidinys nebus atjungtas (natūralu, kad visi įprasti žmonės skaidiniams prijungti naudoja tuščius katalogus). Tik prižiūrėtojas turi teisę montuoti ir numontuoti.

Paleidžiant kiekvieną procesą gali būti atidaryti trys failai, kuriuos jis žino kaip standartinį įvesties stdin deskriptoriuje 0; standartinis išvesties stdout deskriptoriuje 1; ir standartinė išvestis stderr ant deskriptoriaus 2. Prisijungus, kai vartotojas įveda vartotojo vardą ir slaptažodį ir paleidžiamas apvalkalas, visi trys nukreipiami į /dev/tty; vėliau bet kuris iš jų gali būti nukreiptas į bet kurį failą.

3. Komandų vertėjas

„Unix“ beveik visada pateikiama su dviem apvalkalais: sh (apvalkalas) ir csh (panašus į C apvalkalas). Be jų, dar yra bash (Bourne), ksh (Korn) ir kt. Nesileidžiant į detales, pateikiame bendruosius principus:

Visos komandos, išskyrus esamo katalogo keitimą, aplinkos kintamųjų (aplinkos) nustatymą ir struktūrinio programavimo teiginius yra išorinės programos. Šios programos paprastai yra /bin ir /usr/bin kataloguose. Sistemos administravimo programos – /sbin ir /usr/sbin kataloguose.

Komanda susideda iš paleistinos programos pavadinimo ir argumentų. Argumentai nuo komandos pavadinimo ir vienas nuo kito atskiriami tarpais ir skirtukais. Kai kuriuos specialiuosius simbolius interpretuoja pats apvalkalas. Specialieji simboliai yra " " ` ! $ ^ * ? | & ; (kas dar?).

Toje pačioje komandų eilutėje galite duoti kelias komandas. Komandos gali būti suskirstytos; (nuoseklus komandos vykdymas), & (asinchroninis vienalaikis komandų vykdymas), | (sinchroninis vykdymas, pirmosios komandos stdout bus tiekiamas antrosios komandos stdin).

Taip pat galite naudoti standartinę įvestį iš failo, kaip vieną iš argumentų įtraukdami "file" (failas bus nulinis) arba ">>failas" (įrašas bus įrašytas į failo pabaigą).

Jei jums reikia informacijos apie kurią nors komandą, išduokite komandą „man komandos_pavadinimas“. Tai bus rodoma ekrane per programą „daugiau“ – pažiūrėkite, kaip tai valdyti „Unix“ su komanda „man more“.

4. UNIX branduolys

Kaip ir bet kuri kita kelių vartotojų operacinė sistema, apsauganti vartotojus vienas nuo kito ir sistemos duomenis nuo bet kurio neprivilegijuoto vartotojo, UNIX turi saugų branduolį, kuris valdo kompiuterio išteklius ir teikia vartotojams pagrindinį paslaugų rinkinį.

Šiuolaikinių UNIX operacinės sistemos versijų patogumas ir efektyvumas nereiškia, kad visa sistema, įskaitant branduolį, yra suprojektuota ir struktūrizuota geriausiu įmanomu būdu. UNIX operacinė sistema vystėsi bėgant metams (tai pirmoji operacinė sistema istorijoje, kuri ir toliau populiarėja sulaukus tokio brandaus amžiaus – daugiau nei 25 metus). Natūralu, kad sistemos galimybės augo ir, kaip dažnai nutinka didelėse sistemose, kokybiniai UNIX OS struktūros patobulinimai neatsiliko nuo jos galimybių augimo.

Dėl to daugumos šiuolaikinių komercinių UNIX operacinės sistemos versijų branduolys yra didelis, ne itin geros struktūros monolitas. Dėl šios priežasties programavimas UNIX branduolio lygiu ir toliau yra menas (išskyrus nusistovėjusią ir suprantamą išorinių įrenginių tvarkyklių kūrimo technologiją). Daugelio netenkina tai, kad UNIX branduolio organizacijoje trūksta gamybos galimybių. Iš čia ir kyla noras visiškai atkurti UNIX OS aplinką su visiškai kitokia sistemos organizacija.

Dėl didžiausio paplitimo dažnai kalbama apie UNIX System V branduolį (jį galima laikyti tradiciniu).

4.1 Bendra tradicinio UNIX branduolio struktūra

Vienas iš pagrindinių UNIX OS pasiekimų yra tai, kad sistema pasižymi dideliu mobilumu. Šios kokybės reikšmė yra ta, kad visą operacinę sistemą, įskaitant jos branduolį, gana lengva perkelti į skirtingas aparatinės įrangos platformas. Visos sistemos dalys, išskyrus branduolį, yra visiškai nepriklausomos nuo mašinos. Šie komponentai yra tvarkingai parašyti C, o norint juos perkelti į naują platformą (bent jau 32 bitų kompiuterių klasėje), reikia tik iš naujo kompiliuoti šaltinio kodą į tikslinio kompiuterio kodus.

Žinoma, didžiausios problemos yra susijusios su sistemos branduoliu, kuris visiškai paslepia naudojamo kompiuterio specifiką, tačiau pats priklauso nuo šios specifikos. Dėl apgalvoto nuo mašinos priklausomų ir nuo mašinos nepriklausomų branduolio komponentų atskyrimo (matyt, operacinės sistemos kūrėjų požiūriu tai yra aukščiausias tradicinio UNIX OS branduolio kūrėjų pasiekimas), įmanoma pasiekti, kad pagrindinė branduolio dalis nepriklausytų nuo tikslinės platformos architektūrinių ypatybių, būtų visiškai parašyta C kalba ir tereikia perkompiliuoti, kad ją būtų galima perkelti į naują platformą.

Tačiau palyginti nedidelė branduolio dalis priklauso nuo mašinos ir yra parašyta C ir tikslinio procesoriaus surinkimo kalbos mišiniu. Perkeliant sistemą į naują platformą, ši branduolio dalis turi būti perrašyta naudojant asamblėjos kalbą ir atsižvelgiant į specifines tikslinės aparatūros ypatybes. Nuo mašinos priklausomos branduolio dalys yra gerai izoliuotos nuo pagrindinės nuo mašinos nepriklausomos dalies, o gerai suprantant kiekvieno nuo mašinos priklausančio komponento paskirtį, konkrečios mašinos dalies perrašymas dažniausiai yra techninė užduotis (nors tam reikia daug programavimo įgūdžius).

Įrenginiams būdingą tradicinio UNIX branduolio dalį sudaro šie komponentai:

sistemos skatinimas ir inicijavimas žemu lygiu (kol kas tai priklauso nuo aparatinės įrangos savybių);

pirminis vidinių ir išorinių pertraukimų apdorojimas;

atminties valdymas (dalyje, susijusioje su virtualios atminties techninės įrangos palaikymo ypatybėmis);

proceso konteksto perjungimas tarp vartotojo ir branduolio režimų;

tikslinės platformos konkrečias įrenginių tvarkyklių dalis.

4.2 Pagrindinės branduolio funkcijos

Pagrindinės UNIX OS branduolio funkcijos yra šios:

a) Sistemos inicijavimas – paleidimo ir paleidimo funkcija. Branduolys suteikia įkrovos įrankį, kuris įkelia visą branduolį į kompiuterio atmintį ir paleidžia branduolį.

b) Procesų ir gijų valdymas – esamų procesų ir gijų („procesų“, veikiančių bendroje virtualioje atmintyje) kūrimo, užbaigimo ir stebėjimo funkcija. Kadangi UNIX yra kelių procesų operacinė sistema, branduolys numato procesoriaus laiko (arba kelių procesorių sistemose procesorių) ir kitų kompiuterio išteklių dalijimąsi tarp vykdomų procesų, kad atrodytų, jog procesai iš tikrųjų veikia lygiagrečiai.

c) Atminties valdymas yra funkcija, skirta praktiškai neribotai virtualiajai procesų atminčiai susieti kompiuterio fizinę RAM, kurios dydis yra ribotas. Atitinkamas branduolio komponentas leidžia bendrai naudoti tas pačias RAM sritis keliuose procesuose, naudojant išorinę atmintį.

(d) Failų valdymas – funkcija, įgyvendinanti failų sistemos abstrakciją – katalogų ir failų hierarchijas. UNIX failų sistemos palaiko kelių tipų failus. Kai kuriuose failuose gali būti ASCII duomenų, kiti atitiks išorinius įrenginius. Failų sistema saugo objektų failus, vykdomuosius failus ir pan. Failai dažniausiai saugomi išoriniuose saugojimo įrenginiuose; prieiga prie jų suteikiama branduolio pagalba. UNIX pasaulyje yra keletas failų sistemų organizavimo tipų. Šiuolaikinės UNIX operacinės sistemos versijos vienu metu palaiko daugumą failų sistemų tipų.

e) Ryšio priemonės – funkcija, suteikianti galimybę keistis duomenimis tarp tame pačiame kompiuteryje veikiančių procesų (IPC – Inter-Process Communications), tarp procesų, veikiančių skirtinguose vietinio ar plataus duomenų tinklo mazguose, taip pat tarp procesų. ir išorinių įrenginių tvarkyklės.

(f) Programavimo sąsaja – funkcija, suteikianti prieigą prie branduolio galimybių iš vartotojo procesų pusės, remiantis sistemos iškvietimų mechanizmu, išdėstyta funkcijų bibliotekos pavidalu.

4.3 Sąveikos su šerdimi principai

Bet kurioje operacinėje sistemoje palaikomas tam tikras mechanizmas, leidžiantis vartotojo programoms pasiekti OS branduolio paslaugas. Žymiausio sovietinio kompiuterio BESM-6 operacinėse sistemose atitinkamos ryšio su branduoliu priemonės buvo vadinamos ekstrakodais, IBM operacinėse sistemose – sistemos makrokomandomis ir pan. UNIX sistemoje šios priemonės vadinamos sistemos skambučiais.

Pavadinimas nekeičia reikšmės, tai yra tai, kad norint pasiekti OS branduolio funkcijas, naudojamos procesoriaus „specialios instrukcijos“, kurias vykdant įvyksta specialus vidinis procesoriaus pertraukimas, perkeliamas į branduolio režimą (daugumoje šiuolaikinių OS tokio tipo pertraukimas vadinamas trap – trap). Apdorodamas tokius pertraukimus (iššifravimą), OS branduolys atpažįsta, kad pertraukimas iš tikrųjų yra vartotojo programos užklausa branduoliui atlikti tam tikrus veiksmus, pasirenka iškvietimo parametrus ir jį apdoroja, o tada atlieka „grįžimą iš pertraukimo“. “, atnaujinant įprastą vartotojo programos vykdymą.

Akivaizdu, kad specifiniai vartotojo programos inicijuotų vidinių pertraukimų pakėlimo mechanizmai skiriasi skirtingose ​​aparatinės įrangos architektūrose. Kadangi UNIX OS siekia sukurti aplinką, kurioje vartotojo programos gali būti visiškai mobilios, reikėjo papildomo sluoksnio, kad paslėptų konkretaus vidinių pertraukimų didinimo mechanizmo specifiką. Šį mechanizmą užtikrina vadinamoji sistemos skambučių biblioteka.

Vartotojui sistemos skambučių biblioteka yra įprasta iš anksto įdiegtų C programavimo sistemos funkcijų biblioteka. Kai programuojate C, bet kurios funkcijos iš sistemos skambučių bibliotekos naudojimas nesiskiria nuo bet kurios savosios arba bibliotekos C funkcijos. Tačiau bet kurioje konkrečios sistemos skambučių bibliotekos funkcijoje yra kodas, kuris paprastai yra būdingas konkrečiai aparatinės įrangos platformai.

4.4 Pertraukimų valdymo principai

Žinoma, operacinėse sistemose naudojamas vidinių ir išorinių pertraukimų apdorojimo mechanizmas daugiausia priklauso nuo to, kokią techninės įrangos palaikymą pertraukimams valdyti teikia konkreti aparatinės įrangos platforma. Laimei, iki šiol (ir jau ilgą laiką) pagrindiniai kompiuterių gamintojai de facto susitarė dėl pagrindinių pertraukimo mechanizmų.

Kalbant ne itin tiksliai ir konkrečiai, šiandien priimto mechanizmo esmė ta, kad kiekvienas galimas procesoriaus pertraukimas (ar tai būtų vidinis, ar išorinis pertraukimas) atitinka kokį nors fiksuotą fizinės RAM adresą. Tuo metu, kai procesoriui leidžiama pertraukti dėl vidinio ar išorinio pertraukimo užklausos, įvyksta aparatinės įrangos valdymo perdavimas į fizinį RAM elementą su atitinkamu adresu – paprastai šio langelio adresas vadinamas „pertraukimu“. vektorius“ (dažniausiai užklausos dėl vidinio pertraukimo, ty tiesiogiai iš procesoriaus gaunamos užklausos patenkinamos iš karto).

Operacinės sistemos reikalas yra įdėti į atitinkamas RAM langelius programos kodą, kuris užtikrina pradinį pertraukimo apdorojimą ir inicijuoja visą apdorojimą.

Iš esmės UNIX operacinė sistema laikosi bendro požiūrio. Pertraukimo vektoriuje, atitinkančiame išorinį pertraukimą, t.y. pertraukti iš kokio nors išorinio įrenginio, yra instrukcijos, kurios nustato procesoriaus paleidimo lygį (paleidimo lygis nustato, į kuriuos išorinius pertraukimus procesorius turi reaguoti nedelsiant) ir pereina į pilną pertraukų tvarkyklę atitinkamoje įrenginio tvarkyklėje. Vidiniam pertraukimui (pavyzdžiui, vartotojo programos inicijuotam pertraukimui, kai pagrindinėje atmintyje trūksta reikiamo virtualios atminties puslapio, kai vartotojo programoje įvyksta išimtis ir pan.) arba laikmačio pertraukimui, pertraukimo vektoriuje yra pereikite prie atitinkamos UNIX branduolio programos.

5. I/O valdymas

Tradiciškai UNIX OS išskiria tris I/O organizavimo tipus ir atitinkamai tris tvarkyklių tipus. Blokas I/O daugiausia skirtas darbui su katalogais ir įprastais failų sistemos failais, kurie pagrindiniame lygmenyje turi blokų struktūrą. Vartotojo lygiu dabar galima dirbti su failais tiesiogiai susiejant juos su virtualios atminties segmentais. Ši galimybė laikoma aukščiausiu bloko I/O lygiu. Žemesniame lygyje bloko I/O palaiko blokų tvarkyklės. Bloko įvestis/išvestis taip pat palaikoma sistemos buferio funkcija.

Simbolių įvestis/išvestis naudojama tiesioginiams (be buferio) mainams tarp vartotojo adresų erdvės ir atitinkamo įrenginio. Branduolio palaikymas, bendras visoms simbolių tvarkyklėms, yra duomenų perdavimo tarp vartotojo ir branduolio adresų erdvių funkcijos.

Galiausiai, srauto įvestis / išvestis yra panaši į simbolių įvesties / išvesties, tačiau dėl galimybės į srautą įtraukti tarpinius apdorojimo modulius, jis turi daug daugiau lankstumo.

5.1 Sistemos I/O buferio sudarymo principai

Tradicinis būdas sumažinti pridėtines išlaidas, kai keičiamasi su išoriniais atminties įrenginiais, turinčiais blokų struktūrą, yra blokinis įvesties / išvesties buferis. Tai reiškia, kad bet koks išorinės atminties įrenginio blokas pirmiausia nuskaitomas į tam tikrą pagrindinės atminties srities buferį, UNIX OS vadinamą sistemos talpykla, ir iš ten visiškai arba iš dalies (priklausomai nuo mainų tipo) nukopijuojamas į atitinkamą vartotojo erdvę.

Tradicinio buferio mechanizmo organizavimo principai yra, pirma, kad bloko turinio kopija saugoma sistemos buferyje tol, kol prireiks ją pakeisti dėl buferių trūkumo (naudojamas LRU algoritmo variantas organizuoti pakeitimo politiką). Antra, rašant bet kurį išorinės atminties įrenginio bloką faktiškai atliekamas tik talpyklos buferio atnaujinimas (arba formavimas ir užpildymas). Faktinis keitimasis su įrenginiu vyksta arba išskleidžiant buferį, nes jo turinys pakeičiamas, arba išleidžiant specialų sinchronizavimo (arba fsync) sistemos iškvietimą, palaikomą specialiai atnaujintam talpyklos buferiui priverstinai perkelti į išorinę atmintį.

Ši tradicinė buferio schema susidūrė su virtualios atminties valdymo įrankiais, sukurtais šiuolaikinėse UNIX OS versijose, ir ypač su failų susiejimo su virtualiosios atminties segmentais mechanizmu. Todėl System V Release 4 pristatė naują buferio schemą, kuri šiuo metu naudojama lygiagrečiai su senąja schema.

Naujos schemos esmė yra ta, kad branduolio lygyje iš tikrųjų atkuriamas failų susiejimo su virtualios atminties segmentais mechanizmas. Pirma, atminkite, kad UNIX branduolys iš tikrųjų veikia savo virtualioje atmintyje. Ši atmintis turi sudėtingesnę, bet iš esmės tokią pačią struktūrą kaip ir vartotojo virtualioji atmintis. Kitaip tariant, branduolio virtualioji atmintis yra segmentinio puslapio ir kartu su virtualia vartotojo procesų atmintimi palaikoma bendru virtualios atminties valdymo posistemiu. Antra, iš to išplaukia, kad beveik bet kokią funkciją, kurią branduolys teikia vartotojams, kai kurie branduolio komponentai gali suteikti kitiems branduolio komponentams. Visų pirma, tai taip pat taikoma galimybei susieti failus su virtualios atminties segmentais.

Naujoji UNIX branduolio buferio schema daugiausia pagrįsta tuo, kad jūs negalite padaryti beveik nieko ypatingo, kad organizuotumėte buferį. Kai vienas iš vartotojo procesų atidaro failą, kuris nebuvo atidarytas iki tol, branduolys suformuoja naują segmentą ir atidaromą failą sujungia su šiuo segmentu. Po to (neatsižvelgiant į tai, ar vartotojo procesas veiks su failu tradiciniu režimu, naudodamas skaitymo ir rašymo sistemos iškvietimus, ar prijungs failą prie jo virtualios atminties segmento), branduolio lygiu bus atliktas darbas su branduolio segmentu. prie kurių failas pridedamas branduolių lygiu. Pagrindinė naujojo požiūrio idėja yra ta, kad būtų pašalintas atotrūkis tarp virtualios atminties valdymo ir visos sistemos buferio (tai turėjo būti padaryta seniai, nes akivaizdu, kad pagrindinį buferį operacinėje sistemoje turėtų atlikti virtualios atminties valdymo komponentas).

Kodėl neatsisakius senojo buferio mechanizmo? Reikalas tas, kad naujoji schema daro prielaidą, kad išorinės atminties objekto viduje yra tam tikras nuolatinis adresavimas (tarp susietų ir susietų objektų turi būti izomorfizmas). Tačiau tvarkant failų sistemas, UNIX OS gana sunku skirti išorinę atmintį, kas ypač aktualu i-node. Todėl kai kurie išorinės atminties blokai turi būti laikomi izoliuotais ir jiems naudingiau naudoti seną buferio schemą (nors rytojaus UNIX versijose gali būti įmanoma visiškai pereiti prie vieningos naujos schemos).

5. 2 Sistema reikalauja įvesties/išvesties valdymo

Kad pasiektų (ty, kad būtų galima atlikti paskesnes įvesties/išvesties operacijas) bet kokio tipo failuose (įskaitant specialius failus), vartotojo procesas pirmiausia turi prisijungti prie failo naudodamas vieną iš atvirų, kūrimo, dup ar vamzdžių sistemų. skambučių.

Atviro (kelio pavadinimas, režimas) sistemos iškvietimo veiksmų seka yra tokia:

analizuojamas įvesties parametrų (daugiausia susijusių su failų prieigos režimo vėliavėlėmis) nuoseklumas;

paskirstykite arba suraskite vietą failo deskriptoriui sistemos proceso duomenų srityje (u-sritis);

visos sistemos plote esama erdvė yra skirta arba išdėstyta, kad tilptų sistemos failo deskriptorius (failo struktūra);

failų sistemos archyve ieškoma objekto pavadinimu „kelio pavadinimas“ ir sugeneruojamas arba randamas failų sistemos lygio failo deskriptorius (vnode UNIX V System 4 sąlygomis);

vnode yra susietas su anksčiau suformuota failo struktūra.

Atviros ir kūrimo sistemos iškvietimai yra (beveik) funkciškai lygiaverčiai. Bet koks esamas failas gali būti atidarytas naudojant creat sistemos iškvietimą, o bet koks naujas failas gali būti sukurtas naudojant atvirą sistemos iškvietimą. Tačiau kalbant apie creat sistemos iškvietimą, svarbu pabrėžti, kad natūraliai naudojant (kuriant failą), šis sistemos iškvietimas sukuria naują įrašą atitinkamame kataloge (pagal nurodytą kelio pavadinimą), taip pat sukuria ir tinkamai inicijuoja naują i-mazgą.

Galiausiai dup sistemos iškvietimas (dublikatas - kopija) veda prie naujo jau atidaryto failo aprašo formavimo. Šis UNIX specifinis sistemos iškvietimas yra skirtas tik įvesties / išvesties peradresavimui.) Jo vykdymas susideda iš naujo atviro failo deskriptoriaus sukūrimo vartotojo proceso sistemos erdvės u-regione, kuriame yra naujai suformuotas failo deskriptorius (sveikasis skaičius), bet nurodantis jau esamą visos sistemos failo struktūrą ir turintis tuos pačius ženklus ir vėliavėles. kurie atitinka atidarytą pavyzdinį failą.

Kiti svarbūs sistemos iškvietimai yra skaitymo ir rašymo sistemos skambučiai. Skaitymo sistemos iškvietimas vykdomas taip:

nurodyto failo aprašas yra visos sistemos failų lentelėje ir nustatoma, ar teisėta prieiga iš duoto proceso prie nurodyto failo nurodytu režimu;

tam tikrą (trumpą) laiką šio failo vnode yra nustatytas sinchronizacijos užraktas (kritiniais skaitymo operacijos momentais deskriptoriaus turinys neturėtų keistis);

tikrasis nuskaitymas atliekamas naudojant seną arba naują buferio mechanizmą, po kurio duomenys nukopijuojami, kad būtų prieinami vartotojo adresų erdvėje.

Rašymo operacija veikia taip pat, tačiau keičia buferio telkinio buferio turinį.

Uždarius sistemos iškvietimą, vairuotojas nutraukia ryšį su atitinkamu vartotojo procesu ir (jei įrenginys uždarytas paskutinis) nustato visos sistemos vėliavėlę „Vairuotojas laisvas“.

Galiausiai, specialiems failams palaikomas kitas „specialus“ ioctl sistemos iškvietimas. Tai vienintelis sistemos iškvietimas, skirtas specialiems failams, o ne kitų tipų failams. Tiesą sakant, ioctl sistemos iškvietimas leidžia savavališkai išplėsti bet kurios tvarkyklės sąsają. Ioctl parametrai apima opcode ir žymeklį į tam tikrą vartotojo proceso atminties sritį. Visą operacijos kodo ir susijusių specifinių parametrų interpretavimą tvarko tvarkyklė.

Natūralu, kad kadangi tvarkyklės pirmiausia skirtos valdyti išorinius įrenginius, tvarkyklės kode turi būti atitinkamos priemonės, leidžiančios valdyti įrenginio trikdžius. Skambutis į atskirą tvarkyklės pertraukimų tvarkyklę gaunamas iš operacinės sistemos branduolio. Panašiai vairuotojas gali paskelbti „laikainio laiko“ įvestį, kurią branduolys pasiekia, kai baigiasi anksčiau vairuotojo nurodytas laikas (toks laiko valdymas būtinas valdant mažiau išmaniuosius įrenginius).

Bendra tvarkyklių sąsajos organizavimo schema parodyta 3.5 pav. Kaip rodo šis paveikslas, sąsajų ir visos sistemos valdymo požiūriu yra dviejų tipų tvarkyklės - simbolių ir blokų. Vidinės organizavimo požiūriu išsiskiria dar vienas vairuotojų tipas – srauto tvarkyklės. Tačiau išorinės sąsajos požiūriu srauto tvarkyklės nesiskiria nuo simbolių tvarkyklių.

6. Tvarkyklių sąsajos ir įvesties taškai

6.1 Blokuoti tvarkykles

Blokų tvarkyklės skirtos aptarnauti išorinius blokinės struktūros įrenginius (magnetinius diskus, juostas ir kt.) ir skiriasi nuo kitų tuo, kad yra kuriamos ir vykdomos naudojant sistemos buferį. Kitaip tariant, tokios tvarkyklės visada veikia per sistemos buferio telkinį. Kaip matote 3.5 pav., bet kokia skaitymo arba rašymo prieiga prie bloko tvarkyklės visada yra apdorojama, kurią sudaro bandymas rasti norimo bloko kopiją buferio telkinyje.

Jei reikiamo bloko kopijos nėra buferio telkinyje arba jei dėl kokių nors priežasčių reikia pakeisti kurio nors atnaujinto buferio turinį, UNIX branduolys iškviečia atitinkamo bloko tvarkyklės strategijos procedūrą. Strategija suteikia standartinę sąsają tarp branduolio ir tvarkyklės. Naudojant bibliotekos paprogrames, skirtas rašyti tvarkykles, strategijos procedūra gali organizuoti mainų su įrenginiu eiles, pavyzdžiui, siekiant optimizuoti magnetinių galvučių judėjimą diske. Visi mainai, kuriuos atlieka bloko tvarkyklė, atliekami su buferine atmintimi. Reikiamos informacijos perrašymą į atitinkamo vartotojo proceso atmintį atlieka branduolio programos, valdančios buferius

6.2 Simbolių tvarkyklės

Simbolių tvarkyklės pirmiausia skirtos aptarnauti įrenginius, kurie perduoda po vieną simbolį arba kintamo ilgio simbolių eilutes. Tipiškas simbolių įrenginio pavyzdys yra paprastas spausdintuvas, kuris priima vieną simbolį per vieną mainą.

Simbolių tvarkyklės nenaudoja sistemos buferio. Jie tiesiogiai kopijuoja duomenis iš vartotojo proceso atminties rašymo operacijoms arba į vartotojo proceso atmintį skaitymo operacijoms, naudodami savo buferius.

Reikėtų pažymėti, kad blokiniam įrenginiui galima pateikti simbolių sąsają. Šiuo atveju bloko tvarkyklė naudoja papildomas strategijos procedūros ypatybes, kurios leidžia keistis nenaudojant sistemos buferio. Tvarkyklei, kuri turi ir blokų, ir simbolių sąsajas, failų sistemoje sukuriami du specialūs failai – blokas ir simbolis. Su kiekvienu skambučiu vairuotojas gauna informaciją apie režimą, kuriuo jis naudojamas.

6. 3 srauto tvarkyklės

Pagrindinis srautų mechanizmo tikslas yra padidinti tvarkyklių, turinčių sudėtingą vidinę logiką, moduliškumo ir lankstumo lygį (tai labiausiai taikoma tvarkyklėms, diegiančioms pažangius tinklo protokolus). Tokių tvarkyklių specifika yra ta, kad dauguma programos kodo nepriklauso nuo aparatūros įrenginio savybių. Be to, dažnai naudinga įvairiai derinti programos kodo dalis.

Visa tai paskatino tvarkyklių, kurios yra dvikryptis apdorojimo modulių vamzdynas, srautinio perdavimo architektūrą. Konvejerio pradžioje (arčiausiai vartotojo proceso) yra srauto antraštė, kurią pirmiausia pasiekia vartotojas. Dujotiekio gale (arčiausiai įrenginio) yra įprasta įrenginio tvarkyklė. Tarpe gali būti savavališkas skaičius apdorojimo modulių, kurių kiekvienas yra suprojektuotas pagal reikiamą srautinio perdavimo sąsają.

7. Komandos ir paslaugos

Interaktyviai dirbdami UNIX OS aplinkoje, jie naudoja įvairias programas arba išorines apvalkalo kalbos komandas. Daugelis šių paslaugų yra tokios pat sudėtingos kaip ir pats apvalkalas (beje, pats apvalkalo apvalkalas yra viena iš paslaugų, kurias galima iškviesti iš komandinės eilutės).

7. 1 Komandos organizavimas UNIX OS

Norint sukurti naują komandą, tereikia laikytis C programavimo taisyklių. Kiekviena gerai suformuota C programa pradeda vykdyti nuo pagrindinės funkcijos. Ši „pusiau sistemos“ funkcija turi standartinę sąsają, kuri yra pagrindas organizuoti komandas, kurias galima iškviesti apvalkalo aplinkoje. Išorines komandas vykdo apvalkalo interpretatorius, naudodamas šakutės sistemos iškvietimus ir vieną iš exec parinkčių. „Exec“ sistemos iškvietimo parametrai apima teksto eilučių rinkinį. Šis teksto eilučių rinkinys perduodamas kaip pagrindinės vykdomos programos funkcijos įvestis.

Tiksliau, pagrindinė funkcija užima du parametrus – argc (teksto eilučių, kurias reikia perduoti, skaičius) ir argv (rodyklė į teksto eilučių rodyklių masyvą). Programa, kuri teigia, kad ją naudoja kaip apvalkalo komandą, turi turėti aiškiai apibrėžtą išorinę sąsają (parametrai dažniausiai įvedami iš terminalo) ir turi valdyti bei teisingai analizuoti įvesties parametrus.

Be to, kad atitiktų apvalkalo stilių, tokia programa pati neturėtų nepaisyti failų, atitinkančių standartinę įvestį, standartinę išvestį ir standartinę klaidą. Tada komanda gali būti peradresuota įvesties / išvesties įprastu būdu ir gali būti įtraukta į konvejerius.

7.2 I/O peradresavimas ir vamzdynas

Kaip matote iš paskutinio ankstesnės pastraipos sakinio, jums nereikia daryti nieko ypatingo, kad įjungtumėte įvesties / išvesties peradresavimą ir konvejerines programas programuodami instrukcijas. Pakanka tiesiog palikti nepaliestus tris pradinius failų deskriptorius ir teisingai dirbti su šiais failais, ty išvesti į failą su deskriptoriumi stdout, įvesti duomenis iš stdin failo ir išspausdinti klaidų pranešimus į stderror failą.

7. 3 Integruotos, bibliotekos ir vartotojo komandos

Integruotos komandos yra apvalkalo programos kodo dalis. Jos veikia kaip vertėjo paprogramės ir negali būti pakeistos ar iš naujo apibrėžtos. Integruotų komandų sintaksė ir semantika apibrėžiama atitinkama komandų kalba.

Bibliotekos komandos yra sistemos programinės įrangos dalis. Tai vykdomųjų programų (paslaugų) rinkinys, tiekiamas kartu su operacine sistema. Dauguma šių programų (pvz., vi, emacs, grep, find, make ir kt.) yra itin naudingos praktikoje, tačiau jų aptarimas nepatenka į šio kurso sritį (yra atskiros storos knygos).

Vartotojo komanda yra bet kokia vykdomoji programa, organizuota pagal nustatytus reikalavimus. Taigi bet kuris UNIX OS vartotojas gali neribotą laiką išplėsti savo komandų kalbos išorinių komandų repertuarą (pavyzdžiui, galite parašyti savo komandų interpretatorių).

7.4 Komandų kalbos programavimas

Bet kuris iš minėtų apvalkalo kalbos variantų iš esmės gali būti naudojamas kaip programavimo kalba. Tarp UNIX vartotojų yra daug žmonių, kurie ant apvalkalo rašo gana rimtas programas. Programavimui geriau naudoti programavimo kalbas (C, C++, Pascal ir kt.), o ne komandų kalbas.


8. GUI įrankiai

Nors daugelis profesionalių UNIX programuotojų šiandien mieliau naudojasi tradicinėmis linijinėmis sąveikos su sistema priemones, plačiai paplitęs santykinai nebrangių, didelės raiškos spalvotų grafinių terminalų naudojimas lėmė tai, kad visos šiuolaikinės UNIX OS versijos palaiko grafinį vartotoją. sąsajos su sistema. , o vartotojams suteikiami įrankiai, skirti kurti grafines sąsajas su jų kuriamomis programomis. Galutinio vartotojo požiūriu grafinės sąsajos įrankiai, palaikomi įvairiose UNIX OS versijose ir kitose sistemose (pavyzdžiui, MS Windows ar Windows NT), yra maždaug vienodo stiliaus.

Pirma, visais atvejais palaikomas kelių langų veikimo režimas su terminalo ekranu. Bet kuriuo metu vartotojas gali sukurti naują langą ir susieti jį su norima programa, kuri su šiuo langu dirba kaip su atskiru terminalu. Langus galima perkelti, keisti dydį, laikinai uždaryti ir pan.

Antra, visose šiuolaikinėse grafinės sąsajos versijose palaikomas pelės valdymas. UNIX atveju dažnai paaiškėja, kad įprasta terminalo klaviatūra naudojama tik pereinant prie tradicinės linijos sąsajos (nors dažniausiai bent viename terminalo lange veikia vienas iš apvalkalo šeimos apvalkalų).

Trečia, toks „pelytės“ darbo stiliaus sklaida įmanomas naudojant sąsajos įrankius, paremtus piktogramomis (piktogramomis) ir meniu. Dažniausiai tam tikrame lange veikianti programa paragina vartotoją pasirinkti bet kurią jos atliekamą funkciją, lange parodydama simbolinių galimų funkcijų vaizdų (piktogramų) rinkinį arba pasiūlydama kelių lygių meniu. . Bet kokiu atveju tolimesniam pasirinkimui pakanka pele valdyti atitinkamo lango žymeklį.

Galiausiai, šiuolaikinės grafinės sąsajos yra „patogios vartotojui“, suteikiančios galimybę iš karto gauti interaktyvią pagalbą bet kokiai progai. (Galbūt teisingiau būtų sakyti, kad geras programavimo su GUI stilius yra tas, kuris iš tikrųjų pateikia tokias užuominas.)

Išvardinus visas šias bendrąsias šiuolaikinių GUI įrankių savybes, gali kilti natūralus klausimas: jeigu grafinių sąsajų srityje yra toks vienodumas, kuo ypatingos grafinės sąsajos UNIX aplinkoje? Atsakymas pakankamai paprastas. Taip, galutinis vartotojas iš tikrųjų bet kurioje šiuolaikinėje sistemoje naudoja maždaug tuos pačius sąsajos funkcijų rinkinius, tačiau skirtingose ​​sistemose šios funkcijos pasiekiamos skirtingais būdais. Kaip įprasta, UNIX pranašumas yra standartizuotų technologijų prieinamumas, leidžiantis kurti mobiliąsias programas su grafinėmis sąsajomis.

8. Apsaugos principai

Kadangi UNIX OS nuo pat įkūrimo buvo sumanyta kaip kelių vartotojų operacinė sistema, joje visada buvo aktuali įvairių vartotojų prieigos prie failų sistemos failų leidimo problema. Prieigos leidimas reiškia sistemos veiksmus, kurie leidžia arba užkerta kelią tam tikram vartotojui prieiti prie tam tikro failo, atsižvelgiant į vartotojo prieigos teises ir failui nustatytus prieigos apribojimus. Prieigos autorizavimo schema, naudojama UNIX OS, yra tokia paprasta ir patogi ir tuo pačiu tokia galinga, kad tapo de facto šiuolaikinių operacinių sistemų (kurios nepretenduoja į sistemas su kelių lygių apsauga) standartu.

8.1 Vartotojų ID ir vartotojų grupės

Kiekvienas UNIX veikiantis procesas yra susietas su tikru vartotojo ID, efektyviu vartotojo ID ir išsaugotu vartotojo ID. Visi šie identifikatoriai nustatomi naudojant setuid sistemos iškvietimą, kuris gali būti vykdomas tik supervartotojo režimu. Panašiai kiekvienas procesas turi tris su juo susietus vartotojų grupės ID – tikrąjį grupės ID, galiojantį grupės ID ir išsaugotą grupės ID. Šiuos identifikatorius nustato privilegijuotas setgid sistemos iškvietimas.

Kai vartotojas prisijungia prie sistemos, prisijungimo programa patikrina, ar vartotojas yra prisijungęs ir žino teisingą slaptažodį (jei jis nustatytas), sukuria naują procesą ir jame paleidžia šiam vartotojui reikalingą apvalkalą. Tačiau prieš tai darydami prisijungimas nustato vartotojo ir grupės ID naujai sukurtam procesui, naudodamas informaciją, saugomą failuose /etc/passwd ir /etc/group. Kai vartotojo ir grupės ID susiejami su procesu, tam procesui taikomi prieigos prie failų apribojimai. Procesas gali pasiekti failą arba jį vykdyti (jei faile yra vykdomoji programa) tik tuo atveju, jei tai leidžia failo prieigos apribojimai. Su procesu susieti identifikatoriai perduodami jo kuriamiems procesams, laikantis tų pačių apribojimų. Tačiau kai kuriais atvejais procesas gali pakeisti savo leidimus naudodamas setuid ir setgid sistemos iškvietimus, o kartais sistema gali pakeisti proceso leidimus automatiškai.

Apsvarstykite, pavyzdžiui, tokią situaciją. Failo /etc/passwd negali įrašyti niekas, išskyrus supervartotoją (supervartotojas gali rašyti į bet kurį failą). Šiame faile, be kita ko, yra vartotojo slaptažodžiai ir kiekvienas vartotojas gali pakeisti savo slaptažodį. Yra speciali programa /bin/passwd, kuri keičia slaptažodžius. Tačiau vartotojas negali to padaryti net su šia programa, nes neleidžiama įrašyti /etc/passwd failo. UNIX sistemoje ši problema išspręsta taip. Vykdomajame faile gali būti nurodyta, kad jį paleidžiant turi būti nustatyti vartotojo ir (arba) grupės identifikatoriai. Jei vartotojas prašo vykdyti tokią programą (naudodamas exec sistemos iškvietimą), atitinkamo proceso vartotojo ID nustatomas į vykdomosios failo savininko ID ir (arba) to savininko grupės ID. Visų pirma, kai paleista /bin/passwd programa, procesas turės šakninį ID ir programa galės rašyti į /etc/passwd failą.

Tiek vartotojo ID, tiek grupės ID tikrasis ID yra tikrasis ID, o galiojantis ID yra dabartinės vykdymo ID. Jei dabartinis vartotojo ID sutampa su supervartotoju, tada tą ID ir grupės ID galima iš naujo nustatyti į bet kokią reikšmę naudojant setuid ir setgid sistemos iškvietimus. Jei dabartinis vartotojo ID skiriasi nuo supervartotojo ID, tada, vykdant setuid ir setgid sistemos iškvietimus, dabartinis ID pakeičiamas tikruoju ID (atitinkamai naudotojo arba grupės).

8.2 Failų apsauga

Kaip įprasta kelių vartotojų operacinėje sistemoje, UNIX palaiko vienodą prieigos prie failų ir failų sistemos katalogų valdymo mechanizmą. Bet kuris procesas gali pasiekti tam tikrą failą tada ir tik tada, kai su failu aprašytos prieigos teisės atitinka šio proceso galimybes.

Failų apsauga nuo neteisėtos prieigos UNIX sistemoje pagrįsta trimis faktais. Pirma, bet koks failą (arba katalogą) sukuriantis procesas sistemoje yra susietas su tam tikru unikaliu vartotojo identifikatoriumi (UID – vartotojo identifikatorius), kuris toliau gali būti traktuojamas kaip naujai sukurto failo savininko identifikatorius. Antra, kiekvienas procesas, bandantis pasiekti failą, turi porą su juo susietų identifikatorių, dabartinio vartotojo ir grupės identifikatorius. Trečia, kiekvienas failas unikaliai atitinka jo aprašą – i-node.

Bet kuris failų sistemoje naudojamas i-mazgas visada unikaliai atitinka vieną ir tik vieną failą. I mazge yra gana daug įvairios informacijos (didžioji jos dalis vartotojams pasiekiama per stat ir fstat sistemos iškvietimus), o tarp šios informacijos yra dalis, leidžianti failų sistemai įvertinti tam tikro proceso prieigos teises. į nurodytą failą reikiamu režimu.

Bendrieji apsaugos principai yra vienodi visiems esamiems sistemos variantams: „i-node“ informacija apima dabartinio failo savininko UID ir GID (iš karto po failo sukūrimo jo dabartinio savininko identifikatoriai nustatomi į atitinkamą dabartinį kūrėjo proceso identifikatorių, bet vėliau jį gali pakeisti chown ir chgrp sistemos iškvietimai). Be to, failo i-mazge yra skalė, nurodanti, ką vartotojas – jo savininkas gali daryti su failu, ką naudotojai, priklausantys tai pačiai vartotojų grupei kaip ir savininkas, ir ką kiti gali daryti su failu. failų naudotojai. Smulkios įgyvendinimo detalės įvairiose sistemos versijose skiriasi.

8.3 Būsimos operacinės sistemos, palaikančios UNIX OS aplinką

Mikrobranduolis yra mažiausia pagrindinė operacinės sistemos dalis, naudojama kaip modulinių ir nešiojamų plėtinių pagrindas. Atrodo, kad dauguma naujos kartos operacinių sistemų turės mikrobranduolius. Tačiau yra daug skirtingų nuomonių apie tai, kaip turėtų būti organizuojamos operacinės sistemos paslaugos mikrobranduolių atžvilgiu: kaip suprojektuoti įrenginių tvarkykles taip, kad jos būtų kuo efektyvesnės, tačiau tvarkyklės funkcijos kuo labiau nepriklauso nuo aparatinės įrangos; ar ne branduolio operacijos turi būti atliekamos branduolio ar vartotojo erdvėje; ar verta pasilikti esamų posistemių programas (pvz. UNIX), ar geriau viską išmesti ir pradėti nuo nulio.

Mikrobranduolių koncepciją plačiai pradėjo naudoti „Next“, kurios operacinėje sistemoje buvo naudojamas „Mach“ mikrobranduolys. Mažas privilegijuotas šios operacinės sistemos branduolys, aplink kurį posistemiai veikė vartotojo režimu, teoriškai turėjo suteikti precedento neturintį sistemos lankstumą ir moduliškumą. Tačiau praktiškai šį pranašumą šiek tiek atmetė monolitinis serveris, kuriame įdiegta UNIX BSD 4.3 operacinė sistema, kurią Next pasirinko apvynioti Mach mikrobranduoliu. Tačiau pasitikėjimas Mach leido į sistemą įtraukti pranešimų siuntimo įrankius ir daugybę objektinių paslaugų funkcijų, kurių pagrindu buvo galima sukurti elegantišką galutinio vartotojo sąsają su grafiniais tinklo konfigūravimo, sistemos administravimo įrankiais. ir programinės įrangos kūrimas.

Kita mikrobranduolių operacinė sistema buvo Microsoft Windows NT, kur pagrindinis mikrobranduolių privalumas buvo ne tik moduliškumas, bet ir perkeliamumas. (Atkreipkite dėmesį, kad nėra bendro sutarimo, ar NT iš tikrųjų turėtų būti laikoma mikrobranduolių OS.) NT buvo sukurta naudoti vieno ir kelių procesorių sistemose, pagrįstose Intel, Mips ir Alpha procesoriais. (ir tose, kurios ateina po jų) . Kadangi programos, parašytos DOS, Windows, OS/2 ir Posix suderinamoms sistemoms, turėjo veikti NT, Microsoft naudojo būdingą mikrobranduolių metodo moduliškumą, kad sukurtų bendrą NT struktūrą, kuri nemėgdžiotų jokios esamos operacinės sistemos. Kiekviena operacinė sistema yra emuliuojama kaip atskiras modulis arba posistemis.

Visai neseniai apie mikrobranduolių operacinių sistemų architektūras paskelbė Novell/USL, Open Software Foundation (OSF), IBM, Apple ir kt. Vienas iš pagrindinių NT konkurentų mikrobranduolių operacinių sistemų srityje yra Mach 3.0, Carnegie Mellon universitete sukurta sistema, kurią tiek IBM, tiek OSF įsipareigojo komercializuoti. (Next šiuo metu naudoja Mach 2.5 kaip NextStep pagrindą, bet taip pat atidžiai žiūri į Mach 3.0.) Kitas konkurentas yra Chorus Systems Chorus 3.0 mikrobranduolys, kurį USL pasirinko kaip naujų UNIX diegimų pagrindą. Kai kurie mikrobranduoliai bus naudojami „Sun“ SpringOS, į objektą orientuotoje „Solaris“ įpėdinėje (jei, žinoma, „Sun“ užbaigs SpringOS). Pastebima akivaizdi tendencija pereiti nuo monolitinių prie mikrobranduolių sistemų (šis procesas nėra paprastas: IBM žengė žingsnį atgal ir atsisakė perėjimo prie mikrobranduolių technologijos). Beje, tai visai ne naujiena „QNX Software Systems“ ir „Unisys“, jau keletą metų išleidžiantiems sėkmingas mikrobranduolių operacines sistemas. QNX OS yra paklausi realaus laiko rinkoje, o Unisys CTOS yra populiari bankininkystėje. Abi sistemos sėkmingai naudoja mikrobranduolių operacinėms sistemoms būdingą moduliškumą.


Išvada

Pagrindiniai Unix ir kitų OS skirtumai

„Unix“ susideda iš branduolio su įtrauktomis tvarkyklėmis ir programomis (ne branduolio programomis). Jei reikia pakeisti konfigūraciją (pridėti įrenginį, pakeisti prievadą ar pertraukti), tada branduolys yra atkuriamas (perjungiamas) iš objektų modulių arba (pavyzdžiui, FreeBSD) iš šaltinių. Tai nėra visiškai tiesa. Kai kuriuos parametrus galima pataisyti nepermontuojant. Taip pat yra įkeliamų branduolio modulių.

Priešingai nei Unix, sistemoje Windows (jei nenurodyta, kuri, tada turime omenyje 3.11, 95 ir NT) ir OS / 2, įkeliant, jie iš tikrųjų susieja tvarkykles kelyje. Tuo pačiu metu kompaktiškumas surinktas branduolys ir pakartotinis bendro kodo naudojimas yra eilės tvarka mažesnis nei Be to, jei sistemos konfigūracija išlieka nepakitusi, Unix branduolys gali būti įrašytas į ROM ir vykdomas _not_booted_ į RAM be pakeitimų (reikės pakeisti tik pradinę BIOS dalis). atmintis nekeičiama į diską.

„Unix“ yra pati kelių platformų OS. WindowsNT bando tai imituoti, bet kol kas nepavyksta – atsisakius MIPS ir POWER-PC, W "NT liko tik dviejose platformose - tradicinėje i * 86 ir DEC Alpha. Programų perkeliamumas iš vienos Unix versijos Netinkamai parašyta programa , kurioje neatsižvelgiama į „Unix“ diegimo skirtumus, daromos nepagrįstos prielaidos, pvz., „sveikasis skaičius turi būti keturių baitų ilgio“, gali prireikti didelių pertvarkymų, tačiau tai vis tiek daug lengviau nei perkelti iš Pavyzdžiui, OS/2 į NT.

Unix programos

Unix naudojamas ir kaip serveris, ir kaip darbo stotis. Serverio nominacijoje su juo konkuruoja MS WindowsNT, Novell Netware, IBM OS/2 Warp Connect, DEC VMS ir mainframe operacinės sistemos. Kiekviena sistema turi savo taikymo sritį, kurioje ji yra geresnė už kitas.

WindowsNT skirta administratoriams, kurie renkasi patogią sąsają, o ne išteklių taupymą ir didelį našumą.

Netware – tinklams, kuriuose reikalingos didelio našumo failų ir spausdintuvų paslaugos, o kitos paslaugos nėra tokios svarbios. Pagrindinis trūkumas yra tai, kad sunku paleisti programas Netware serveryje.

OS / 2 tinka ten, kur reikia „lengvo“ programų serverio. Jis reikalauja mažiau išteklių nei NT, yra lankstesnis valdymas (nors gali būti sunkiau nustatyti), o kelių užduočių atlikimas yra labai geras. Prieigos teisių autorizavimas ir diferencijavimas nėra įgyvendinamas OS lygiu, o tai daugiau nei atsiperka įdiegus programų serverių lygiu. (Tačiau dažnai tą patį daro kitos OS). Daugelis FIDOnet ir BBS stočių yra pagrįstos OS/2.

VMS yra galingas, jokiu būdu ne prastesnis už Unix (ir daugeliu atžvilgių pranašesnis už jį) taikomųjų programų serverį, tačiau skirtas tik DEC VAX ir Alpha platformoms.

Pagrindiniai kompiuteriai – aptarnauti labai didelį vartotojų skaičių (keleto tūkstančių). Tačiau šių vartotojų darbas paprastai organizuojamas ne kliento ir serverio sąveikos, o pagrindinio kompiuterio ir terminalo sąveikos forma. Šios poros terminalas veikiau yra ne klientas, o serveris (Internet World, N3, 1996). Pagrindinių kompiuterių privalumai – didesnis saugumas ir atsparumas gedimams, o trūkumai – šias savybes atitinkanti kaina.

„Unix“ tinka kvalifikuotam (ar norinčiam būti) administratoriui, nes reikalauja žinoti joje vykstančių procesų veikimo principus. Tikras daugiafunkcinis darbas ir kietosios atminties dalijimasis užtikrina aukštą sistemos patikimumą, nors Unix failų ir spausdinimo paslaugų našumas yra prastesnis nei Netware.

Lankstumas suteikiant vartotojo prieigos teises prie failų, palyginti su WindowsNT, apsunkina _failų_sistemos_ lygio grupės prieigą prie duomenų (tiksliau, prie failų), o tai, mano nuomone, atsveria diegimo paprastumas, o tai reiškia mažiau aparatinės įrangos. reikalavimus. Tačiau tokios programos kaip SQL Server pačios išsprendžia grupinės prieigos prie duomenų problemą, todėl Unix galimybės neleisti konkrečiam vartotojui prieiti prie _failo_, mano nuomone, yra akivaizdžiai nereikalingas.

Beveik visi protokolai, kuriais grindžiamas internetas, buvo sukurti naudojant Unix, ypač TCP / IP protokolų rinkinys buvo išrastas Berklio universitete.

„Unix“ saugumas, kai jis tinkamai administruojamas (o kai ne?), jokiu būdu nėra prastesnis nei „Novell“, nei „WindowsNT“.

Svarbi Unix savybė, priartinanti jį prie pagrindinių kompiuterių, yra daugiafunkcis terminalas, daugelis vartotojų gali vienu metu paleisti programas tame pačiame Unix įrenginyje. Jei jums nereikia naudoti grafikos, galite išsiversti su pigiais tekstiniais terminalais (specializuotais arba pigiais kompiuteriais), prijungtais lėtomis linijomis. Šiuo atveju su juo konkuruoja tik VMS. Grafiniai X terminalai taip pat gali būti naudojami, kai tame pačiame ekrane yra skirtingose ​​mašinose veikiančių procesų langai.

Darbo stočių nominacijoje Unix konkuruoja su MS Windows*, IBM OS/2, Macintosh ir Acorn RISC-OS.

Windows – tiems, kurie vertina suderinamumą, o ne efektyvumą; tiems, kurie yra pasirengę pirkti daug atminties, vietos diske ir megahercų; mėgstantiems nesigilinti į esmę, spauskite lange esančius mygtukus. Tiesa, anksčiau ar vėliau vis tiek teks išstudijuoti sistemos ir protokolų principus, bet tada jau bus per vėlu – pasirinkimas padarytas. Svarbus „Windows“ pranašumas taip pat turi būti pripažintas kaip galimybė pavogti daugybę programinės įrangos.

OS/2 – OS/2 gerbėjams. :-) Nors, remiantis kai kuriomis ataskaitomis, OS / 2 geriau nei kiti sąveikauja su pagrindiniais kompiuteriais ir IBM tinklais.

Macintosh – grafikos, leidybos ir muzikos kūriniams, taip pat tiems, kurie mėgsta aiškią, gražią sąsają ir nenori (negali) suprasti sistemos detalių.

RISC-OS, įdiegta ROM, leidžia negaišti laiko diegiant operacinę sistemą ir atkuriant ją po gedimų. Be to, beveik visos programos pagal jį naudoja išteklius labai ekonomiškai, todėl jų nereikia keisti ir veikia labai greitai.

„Unix“ veikia tiek asmeniniuose kompiuteriuose, tiek galingose ​​darbo vietose su RISC procesoriais, „Unix“ parašytos tikrai galingos CAD sistemos ir geografinės informacijos sistemos. Pasak kai kurių autorių, „Unix“ mastelio keitimas dėl daugiaplatforminio pobūdžio yra daug didesnis už bet kurią kitą operacinę sistemą.


Bibliografija

1. Vadovėlis Kuznecova S.D. "UNIX operacinė sistema" 2003;

2. Poliakovas A.D. „UNIX 5th Edition x86, arba nepamiršk istorijos“;

3. Karpovas D.Yu. "UNIX" 2005;

4. Fedorčukas A.V. „Unix Mastery“, 2006 m

5. Svetainės medžiaga http://www.citforum.ru/operating_systems/1-16;

RUSIJOS FEDERACIJOS ŠVIETIMO IR MOKSLO MINISTERIJA FEDERALINĖ ŠVIETIMO AGENTŪRA VALSTYBINĖ AUKŠTOJO PROFESINIO MOKYMO ĮSTAIGA

Jūsų dėmesiui pristatau straipsnį apie internetinės kameros. Šis prietaisas, žinoma, nebėra naujiena šiuolaikiniame pasaulyje ir daugelis žmonių naudojasi šiuo nuostabiu įrenginiu, kurio dėka galite ne tik pamatyti jus dominantį žmogų kitame pasaulio krašte, bet ir stebėti bet kurį kampelį. mūsų planetos, kurioje yra internetinė kamera. Bet pirmiausia pirmiausia. Taigi…

Internetinė kamera , arba Internetinė kamera , arba internetinė kamera (Anglų) internetinė kamera ) - mažo dydžio skaitmeninis vaizdo įrašas arba kamera, galinti fiksuoti vaizdus realiu laiku, kad būtų galima toliau perduoti internetu (pvz., Skype, Instant Messenger ar bet kurioje kitoje vaizdo programoje, leidžiančioje vaizdo ryšį). Pastaruoju metu kai kuriuose socialiniuose tinkluose, pavyzdžiui, „Odnoklassniki“, netgi galite bendrauti naudodami internetinę kamerą.

Interneto kamerų istorija

Viskas prasidėjo vienoje iš kompiuterių laboratorijų Kembridže dar praėjusio amžiaus 90-ųjų pradžioje, kai pasaulinis žiniatinklis (internetas) tik pradėjo pergalingą žygį visoje planetoje.

Prie tinklo technologijų srities projekto dirbo 15-20 žmonių mokslininkų grupė. Darbo sąlygos buvo spartiškos – visa komanda turėjo tik vieną kavos virimo aparatą, kuris negalėjo patenkinti visos komandos poreikių. Pagrindinis darbas buvo atliktas laboratorijoje, darbuotojai gyveno tame pačiame pastate, bet kitoje jo dalyje. Siekdami pagyvinti mintis su gaivinančio gėrimo puodeliu, mokslinio projekto dalyviai buvo priversti eiti į koridorių, esantį aukščiau esančiame aukšte, kur buvo kavos virimo aparatas. Neretai tokios kelionės nepavykdavo, nes kai kurie kolegos jau spėdavo ištuštinti trokštamą konteinerį. Situacija reikalavo nestandartinio sprendimo, ir jis buvo rastas.

Viename iš laboratorijos kompiuterių buvo vaizdo stebėjimo įrenginys (rėmo griebtuvas). Prie jo buvo prijungta kamera, kuri buvo nukreipta į stebimą objektą. Tas pats kompiuteris per specialiai parašytą programinę įrangą atliko žiniatinklio serverio vaidmenį. Tie, kurie norėjo sužinoti, ar yra kavos, turėjo paleisti kliento programinę įrangą savo kompiuteryje, kuris prisijungė prie serverio. Dėl to mažame nuotolinio kompiuterio lange buvo rodomas nespalvotas vaizdas, atnaujinamas tris kartus per minutę. Pastaba apie šį įdomų kompleksą buvo paskelbta žurnale „Comm-Week“ 1992 m. sausio 27 d.

Nuo pirmųjų IP kamerų prototipų pasirodymo nepraėjo daug laiko, tačiau jie jau virto visiškai suformuota, atskira įrenginių klase, palengvinančia, patogesnėmis ir linksmesnėmis kasdienybę.

Šviesos jutiklis yra bet kurio skaitmeninio fotoaparato širdis. Būtent jis leidžia paversti šviesą elektriniais signalais, skirtais tolesniam elektroniniam apdorojimui.

Pagrindinis CCD ir CMOS jutiklių veikimo principas yra tas pats: veikiant šviesai, puslaidininkinėse medžiagose gimsta krūvininkai, kurie vėliau paverčiami įtampa.

Skirtumas tarp CCD ir CMOS jutiklių pirmiausia slypi įkrovimo saugojimo ir perdavimo būdu, taip pat technologijoje, kaip jį paversti analogine įtampa. Nesigilindami į įvairių tipų jutiklių konstrukciją, atkreipiame dėmesį tik į tai, kad CMOS jutikliai yra daug pigesni gaminti, bet ir „triukšmingesni“.

Internetinės kameros veikimo principas yra panašus į bet kurios arba. Be optinio objektyvo ir šviesai jautraus CCD arba CMOS jutiklio, būtina turėti analoginį-skaitmeninį keitiklį (ADC), kurio pagrindinė paskirtis – konvertuoti šviesai jautraus jutiklio analoginius signalus, tai yra įtampą. , į skaitmeninį kodą. Be to, reikalinga spalvų formavimo sistema. Kitas svarbus kameros elementas yra grandinė, atsakinga už duomenų suspaudimą ir paruošimą perduoti norimu formatu. Interneto kamerose vaizdo duomenys perduodami į kompiuterį per USB sąsają, tai yra, galutinė kameros grandinė turi būti USB sąsajos valdiklis.

A/D keitiklis yra susijęs su nuolatinio analoginio signalo atranka. Tokie keitikliai pasižymi tiek diskretizavimo dažniu, kuris nulemia laiko intervalus, kuriais matuojamas analoginis signalas, tiek bitų gyliu. ADC bitų plotis yra bitų, naudojamų signalui pavaizduoti, skaičius. Pavyzdžiui, jei naudojamas 8 bitų ADC, tada signalui atvaizduoti yra 8 bitai, kurie leidžia nustatyti 256 skirtingas reikšmes. Naudojant 10 bitų ADC, galima diskretiškai nustatyti 1024 skirtingus signalo lygius.

Atsižvelgiant į mažą USB magistralės pralaidumą (tik 12 Mb/s, iš kurių interneto kamera naudoja ne daugiau kaip 8 Mb/s), prieš perkeliant tiesiai į kompiuterį duomenys turi būti suspausti. Tai įrodo paprastas skaičiavimas. Kai kadrų skiriamoji geba yra 320 × 240 pikselių, o spalvų gylis - 24 bitai, nesuspausto kadro dydis bus 1,76 Mbit. Nesuspaustas 8 Mbps USB pralaidumas gali būti perduodamas maksimaliu 4,5 kadrų per sekundę greičiu. Tačiau norint gauti aukštos kokybės vaizdo įrašą, reikalingas 24 kadrų per sekundę arba didesnis bitų greitis. Taigi tampa aišku, kad be aparatinio perduodamos informacijos suspaudimo kameros veikimas būtų neįmanomas. Todėl bet kuris fotoaparato valdiklis turi užtikrinti reikiamą duomenų suspaudimą, kad juos perkeltų per USB sąsają. Pats suspaudimas yra pagrindinis USB valdiklio tikslas. Teikdamas reikiamą suspaudimą realiuoju laiku, valdiklis, kaip taisyklė, leidžia perduoti vaizdo srautą 10-15 kadrų/s greičiu 640×480 raiška ir 30 kadrų/s greičiu. 320 × 240 ir mažesnė skiriamoji geba.

Mėgėjiškos internetinės kameros.Šio tipo internetinės kameros daugiausia skirtos vaizdo komunikacijai, vaizdo konferencijoms, vaizdo įrašymui ir fotografavimui. Šios kameros yra palyginti nebrangios ir jas paprasta naudoti. Išsamias mėgėjiškų internetinių kamerų charakteristikas su jumis susipažinsime šiek tiek vėliau.

Profesionalios internetinės kameros(Tinklo internetinės kameros arba IP kameros). Šio tipo internetinės kameros daugiausia naudojamos saugomų objektų vaizdo stebėjimui ar kitiems panašiems tikslams. Šiuolaikinė IP kamera – tai skaitmeninis įrenginys, fiksuojantis vaizdo įrašą, skaitmenizuojantis, suglaudinantis ir perduodantis vaizdo vaizdus kompiuterių tinklu. Skirtingai nuo įprastos internetinės kameros, tinklo kamera veikia kaip žiniatinklio serveris ir turi savo IP adresą. Taigi galima tiesiogiai prijungti kamerą prie interneto, be kompiuterio, kas leidžia priimti vaizdo ir garso signalus bei valdyti kamerą internetu per naršyklę.

Dabar mes sužinojome, mieli skaitytojai, kas yra internetinė kamera, jos veikimo principas, istorija, tipai. Pereikime prie internetinės kameros pasirinkimo klausimo. Taigi, Į ką turėčiau atkreipti dėmesį perkant internetinę kamerą?

Jutiklio tipas

Visų pirma, į šį parametrą reikia atkreipti dėmesį, jei renkatės nebiudžetinę internetinę kamerą sau, pavyzdžiui, komerciniais tikslais. Taip yra dėl to, kad iš esmės visos mėgėjiškos internetinės kameros turi vieną iš dviejų pagrindinių matricų tipų – CMOS. Šios matricos gamyba nėra brangi, ji sunaudoja mažai energijos ir turi pagrindines būtinas technines charakteristikas patogiam internetinės kameros naudojimui.

Kitas matricos tipas yra CCD. Jis pagerino vaizdo kokybės charakteristikas, todėl CCD matricos internetinės kameros turi didesnę kainą.

Kalbant apie mane, galite pasiimti CMOS kamerą ir mėgautis gyvenimu nepermokėdami papildomų šimto dviejų dolerių. Nors, jei neturite kur jų dėti, pirmyn!

Kadrai per sekundę (Fps)

Šis parametras iš tikrųjų tiesiogiai veikia internetinės kameros perduodamo vaizdo sklandumą. Kuo daugiau kadrų per sekundę perduos internetinė kamera, tuo mažiau būsite nusiminęs vaizdo komunikacijoje su priešininku.

Interneto kameros randamos su 8, 15, 30 kadrų per sekundę ar daugiau indikatoriumi. Optimalus greitis yra 30 kadrų per sekundę.

Svarbu! Kuo daugiau kadrų per sekundę turi vaizdo signalas, tuo didesnis jo dydis, todėl normaliam vaizdo ryšiui reikalingas greitesnis internetas.

Vaizdo raiška

Vaizdo įrašams skiriamoji geba svyruoja nuo 0,1 iki 2 megapikselių. Pažymėtina, kad optimaliausias, o kartu ir populiariausias yra VGA formatas (640 × 480 pikselių, 0,3 MP). Būtent šias kameras rekomenduojama įsigyti įprastam, namų interneto ryšiui.

320×240 (0,1 MP) raiškos visiškai užteks, pavyzdžiui, internetinėms vaizdo konferencijoms, o šį skaičių jau reikėtų didinti, kai itin svarbi galimybė kokybiškai apžvelgti pašnekovą.

Svarbu! Kuo didesnė vaizdo signalo skiriamoji geba, tuo didesnis jo dydis, todėl normaliam vaizdo ryšiui reikalingas greitesnis interneto ryšys.

Noriu pažymėti, kad šiuo metu internetas turi vis didesnį ryšio greitį ir atitinkamai atsirado internetinės kameros su Full HD 1080p (1920 × 1080) raiška, leidžiančia žiūrėti vaizdo signalą didelės raiškos ir puikios kokybės. didelės raiškos.

Tiesą sakant, dėl technologinės pažangos jie gali pasiūlyti, kad po metų ar dvejų atsiras internetinės kameros su galimybe įrašyti vaizdo įrašą 3D formatu. Nors, galbūt, jis jau egzistuoja dabar, o aš tiesiog kažkur pamečiau šią naujovę iš akių.

Optika

Yra internetinės kameros su plastikiniais ir stikliniais lęšiais.

Biudžetinėse mėgėjiškose internetinėse kamerose daugiausia montuojama plastikinė optika, kuri atitinkamai ne visada perduoda vaizdą natūraliomis spalvomis.

Stiklo optika turi natūralesnį spalvų atkūrimą. Nesu tikras, kad visi pardavėjai parduotuvėse turi žinių apie šį parametrą, bet jei jums viskas patinka maksimaliai, atkreipkite dėmesį į internetinės kameros optiką.

Parduodama pamačiau internetinę kamerą su Carl Zeiss optika, kurią Sony naudoja fotoaparatuose ir vaizdo kamerose.

Matricos jautrumas

Svarbus parametras, nulemiantis minimalų objekto apšvietimo laipsnį, kuriam esant interneto kamera gali fotografuoti priimtinos kokybės nuotraukas. Internetinės kameros matricos jautrumas matuojamas liuksais (liuksais).

Svarbu! Esant silpnam apšvietimui, net brangi internetinė kamera su CCD matrica sukuria triukšmingą vaizdą.

Mikrofonas

Nusprendžiau paminėti, nes Neseniai ieškojau nebrangios internetinės kameros ir net negalėjau įsivaizduoti, kad jos vis dar egzistuoja be įmontuotų mikrofonų. Jei atvirai, tai nėra labai patogu, jei galite bendrauti be ausinių su mikrofonu, naudokitės mikrofonu. Taigi, aš prijungiau vieną įrenginį, o jūs sakote sau neprisirišę papildomų laidų 🙂 .

Dar vienas niuansas. Mikrofoną galima prijungti per tą pačią USB jungtį, per kurią prijungta pati internetinė kamera, arba per lygiagretų mikrofono kištuką. Patogu, kai visas įrenginys veikia per vieną laidą, be papildomų kištukų.

Beje, garso įrašą galima įrašyti tiek mono režimu, tiek stereo. Tavo pasirinkimas.

Tvirtinimas

Prašome atkreipti dėmesį į šią smulkmeną. Faktas yra tas, kad yra internetinių kamerų, kurias įsigijus reikia priklijuoti prie monitoriaus ar kur nors kitur juostele, pakeisti visokius popieriukus, gumines juosteles ir pan. Jei įmanoma, paprašykite pardavėjo parodyti internetinės kameros laikiklį. Pabandykite ir pritvirtinkite jį prie ko nors vietoje.

Fokusavimas

Fokusavimas lemia, koks ryškus bus perduodamas vaizdas.

Interneto kameros yra tiek rankinio, tiek automatinio fokusavimo. Patogu, kai viename įrenginyje yra ir vienas, ir kitas. Kodėl? Apie tai sužinosite pradėję naudotis žiniatinklio kamera.

Galimybė fotografuoti

Daugelyje internetinių kamerų tipų yra funkcija - nuotrauka. Ant internetinės kameros korpuso yra mygtukas, kurį paspaudus gaunama nuotrauka. Iš karto pasakysiu, kad kokybė prastesnė nei fotoaparato, todėl per daug neskaičiuokite. Bet nuotraukai profilio nuotraukoje – viskas. Nors kai kas sako, kad nuotrauka su dideliu skaičiumi megapikselių yra graži.

Jei norite sužinoti, kas turi įtakos nuotraukos kokybei fotoaparate, skaitykite .

Ryšio tipas

Iš esmės visos internetinės kameros yra prijungtos naudojant USB jungtį.

Ši jungtis turi 3 standartus: USB 1.1, USB 2.0, USB 3.0.

Įprastai interneto kamerai geriausia pasirinkti USB 2.0. Jei perkate įrenginį su galimybe perduoti vaizdą Full HD 1080p raiška, tuomet pageidautina, kad fotoaparatas turėtų USB 3.0 jungtį. Nors gamintojai stengiasi viską padaryti optimaliai, bet kaip sakoma: „Geriau persistengti, nei nedaryti“.

Taip pat, kaip minėjau aukščiau, atkreipkite dėmesį, kad fotoaparatas su įmontuotu mikrofonu neturi papildomo kištuko, kad jį prijungtų.

Taip pat yra internetinių kamerų, dažniausiai profesionalių, su galimybe perduoti vaizdą belaidžiu Wi-Fi kanalu. Labai patogiai.

Papildomos internetinės kameros funkcijos

Interneto kamera gali turėti nemažai papildomų funkcijų: informacijos redagavimo funkcijas, ryškumo ir kontrasto valdymą, spalvų gamos korekciją, kadrų dažnį, apsaugą slaptažodžiu.

Profesionalioje internetinėje kameroje gali būti įrengtas judesio jutiklis ir pasukamas mechanizmas, leidžiantis naudoti vaizdo stebėjimui.

Prekės ženklas

Į gamintoją kreipdavau dėmesį beveik visada, ypač kalbant apie elektroniką.

Pirma, tai kokybė ir garantija pačiam įrenginiui. Galų gale, tokiu atveju jūs nenorite ieškoti paslaugų centro, kad jis, kaip toks, neegzistuoja šalyje, kurioje gyvenate, nes. tai tik Kinijoje, kuri gamina liūto dalį elektronikos.

Antra, tai jūsų ir jūsų artimųjų saugumas. Dabar yra naujienų, kai net lėlė sprogsta vaiko rankose, jau nekalbant apie sudėtingesnę techniką.

Kas žino, kas ir kokia vieta galvojo, kai sukūrė to ar kito įrenginio klastotę.

Populiariausi internetinių kamerų prekės ženklai yra: Logitech, Creative, A4 Tech, Genius, Sven, Microsoft, Trust, Canyon.

Pirkčiau sau Logitech. Atleiskite man šio prekės ženklo konkurentai :-).

Svarbu! Prašau jūsų, mieli skaitytojai, nepirkite kamerų įtartinos vietose, kur parduodama elektronika, pavyzdžiui, turguje iš automobilio. Ačiū!

Pigiausią internetinę kamerą su minimaliu funkcijų rinkiniu galima įsigyti už 8 USD.

Standartinę internetinę kamerą su įmontuotu mikrofonu ir 640×480 raiška galima įsigyti už maždaug 20 USD.

Internetinę kamerą su visais varpais ir švilpukais galima įsigyti už maždaug 120 USD.

Vaizdo įrašas: kaip pasirinkti internetinę kamerą

Nauja vietoje

>

Populiariausias