Mi az unix (kezdőknek), unix, operációs rendszerek, cikkek
Dmitrij Y. Karpov
Ez az opus nem teljes leírást jelent. Ráadásul az egyszerűség kedvéért bizonyos részleteket szándékosan elhagynak. Kezdetben a ciklust GYIK-ként (FAQ - gyakran feltett kérdések) fogalmazták meg, de nyilvánvalóan kiderül, hogy a "fiatal harcos tanfolyam" vagy az "őrmesteriskola".
Megpróbáltam összehasonlítani a különböző operációs rendszereket - ez véleményem szerint hiányzik a legtöbb tankönyvből és technikai segítségből.
A tapasztalt Unix'oidok kitettségének várakozása nélkül önkéntes elismerést teszek - nem tudok úgy tenni, mintha nagyszerű Unix szakértő lennék, és a tudásom elsősorban a FreeBSD körül van. Remélem, ez nem fáj.
Ez a fájl hosszú ideje "építés alatt" áll. -)
A Unix egy teljes, kezdetben többfelhasználós, többfeladatos és több terminálos operációs rendszer. Pontosabban, ez egy olyan rendszerek egész családja, amelyek szinte teljesen kompatibilisek egymással a programok forráskódjain.
Mi a Unix és milyen gépeken futnak?
SCO Unix (Santa Cruz üzemeltetés)
Novell UnixWare (megvásárolta az SCO)
Interaktív Unix (Sun megvásárolta)
i * 86, Motorolla 680 * 0, DEC Alpha, IBM POWER-PC, Sun Sparc.
A BSD család: BSDI, FreeBSD, NetBSD, OpenBSD
i * 86, Acorn ARM, Sun Sparc.
IBM RS / 6000 és AS / 400 a POWER-PC-n
Digitális Unix (korábban Unix OSF / 1)
Ez a lista nem teljes, mert a felsoroltakon kívül sok kevésbé gyakori Unix és Unix-szerű rendszer létezik, nem is beszélve az ősi Unix-ról az elavult gépekről.
Hagyományosan meg lehet különböztetni a V és Berkeley rendszer családjait. A System V ("System Five") számos lehetőséggel rendelkezik, ez utóbbi a System V Release 4 információim szerint. A Berkeley Egyetem nem csak a BSD fejlesztésére, hanem a legtöbb internetes protokollra is híres. Azonban sok Unix kombinálja mindkét rendszer tulajdonságait.
Hol kaphatok szabad Unixot?
Mik a fő különbségek a Unix és más operációs rendszerek között?
A Unix magában foglal egy rendszermagot, amely tartalmazza az illesztőprogramokat és a segédprogramokat (a rendszermag programokon kívül). Ha módosítani szeretné a konfigurációt (eszköz hozzáadása, port módosítása vagy megszakítása), akkor a rendszermag újra összeáll (újracsatlakoztatva) az objektummodulokból vagy (pl. A FreeBSD-ben) a forrásokból. / * Ez nem teljesen igaz. Bizonyos paraméterek újraképítés nélkül javíthatók. Vannak is betölthető rendszermag modulok. * /
A Unix-tól eltérően a Windows (ha nem határozza meg, melyik, 3,11, 95 és NT), és az OS / 2 valóban betöltődik a mozdulatokon. Ugyanakkor az összeszerelt mag tömörsége és a közös kód újrafelhasználása kisebb, mint a Unixé. Ezenkívül, ha a rendszer konfigurációja változatlan, a Unix magja átdolgozás nélkül (csak a BIOS kezdeti részét kell megváltoztatnia) írható a ROM-ba, és a RAM-ba töltés nélkül végrehajtható. A kód tömörsége különösen fontos, mert a rendszermag és a meghajtók soha nem hagyják el a fizikai RAM-ot, nem cserélik le a lemezt.
A Unix a legtöbb multiplatform operációs rendszer. Windows NT megpróbálta utánozni őt, de eddig ez nem sikerül - elutasítása után a MIPS, és a POWER-PC, W'NT csak két állványok - a hagyományos i * 86 és DEC Alpha. Természetesen a programok hordozhatósága a Unix egyik változatától a másikig korlátozott. Hanyagul megírt program nem veszi figyelembe különbségek megvalósítások Unix, így megalapozatlan feltevések, például „változó értéke kellene négy bájt”, szükség lehet egy nagyobb átalakítást. De még mindig sok nagyságrenddel könnyebb, mint például perenesti OS / 2 az NT-n.
A Unix jó egy képzett (vagy egyszemélyes) rendszergazdának, mert megköveteli a benne rejlő folyamatok működésének elveit. A valódi multitasking és a kemény memóriaelosztás nagy megbízhatóságot biztosít a rendszer számára, bár a fájl- és nyomtatási szolgáltatások teljesítménye a Unix alacsonyabb a Netware-nél.
A rugalmasság hiánya a felhasználói hozzáférési jogokat a fájlokat képest WindowsNT nehéz szervezet _na_urovne_faylovoy_sistemy_ csoport az adatokhoz való hozzáférés (vagy pontosabban, a fájlok), amely véleményem kompenzálja az egyszerűség a végrehajtás, ami azt jelenti, kevesebb kereslet a berendezések. Azonban alkalmazások, mint például az SQL-szerver dönt a csoport az adatokhoz való hozzáférést a saját problémája, így a lehetőségek hiánya a Unix _faylu_ megtagadja a hozzáférést egy adott felhasználó véleményem nyilvánvalóan túlzott.
Gyakorlatilag az összes olyan protokoll, amelyen az internet alapul, Unix alatt fejlesztették ki, különösen a TCP / IP protokollcsomagot a Berkeley Egyetemen.
Unix biztonság megfelelő adminisztrációval (és mikor nem?) Nem rosszabb a Novell vagy a WindowsNT-nél.
A Unix egyik fontos tulajdonsága, amely közelebb hozza a mainframe-ot, többéves befejezése, sok felhasználó egyszerre futtathat programokat ugyanazon a Unix gépen. Ha nem kell grafikusan használni, olcsó szöveges terminálokat (speciális vagy olcsó PC-t) használhat lassú sorokkal. Ebben az esetben csak a VMS versenyez vele. Grafikus X-terminálokat is használhat, ha az egyik képernyőn különböző gépeken futó folyamatok ablakai vannak.
A Unix versengő MS Windows *, az IBM OS / 2, a Macintosh és az Acorn RISC-OS munkaállomások jelölésére.A Unix mind a PC-ken, mind pedig a nagy teljesítményű munkaállomásokon RISC processzorokkal működik, a Unix alatt nagyon hatékony CAD és geoinformációs rendszerek készülnek. A többplatformra épülő Unix skálázhatósága nagyságrendileg jobb, mint bármely más ismert operációs rendszer.
Unix fogalmak
A Unix két alapkoncepcióra épül: "folyamat" és "fájl". A folyamatok a rendszer dinamikus oldala, ezek a témák; és a fájlok statikusak, ezek a folyamatok működésének tárgyai. A folyamatok szinte teljes interfésze a rendszermaggal és egymással való interakcióval úgy néz ki, mint a fájlok írása / olvasása. / * Bár hozzá kell adnia olyan dolgokat, mint a jelek, a megosztott memória és a szemaforák. * /
A folyamatokat nem lehet összetéveszteni a programokkal - egy program (általában különböző adatokkal) végrehajtható különböző folyamatokban. A folyamatokat feltételesen kétféleképpen lehet felosztani: feladatok és démonok. A feladat egy olyan folyamat, amely elvégzi a munkáját, megpróbálja befejezni és gyorsan befejezni. A démon várakozik az eseményekre, amelyeket kezelnie kell, feldolgozza az eseményeket, és ismét vár; általában egy másik folyamat sorrendjével fejeződik be, leggyakrabban a felhasználó megöli, és a "kill process number" parancsot adja. / * Ebben az értelemben kiderül, hogy az interaktív feladat-feldolgozó felhasználói bevitel több mint egy démon, mint egy feladat. -) * /
A régi Unixban 14 betűt rendeltek el a névhez, az újban ez a korlátozás el lett távolítva. A fájlnévtől eltérő könyvtárban az inode azonosítója, egy egész szám, amely megadja a blokkszámot, amelyben a fájlattribútumok íródnak. Ezek közül: a felhasználó száma - a fájl tulajdonosa; csoport száma; a fájlhoz tartozó hivatkozások száma (lásd még) a létrehozás dátumát és időpontját, az utolsó módosításokat és az utolsó hozzáférést a fájlhoz; hozzáférési attribútumok. Access attribútumok tartalmazzák a fájl típusát (lásd alább) tulajdonítja a változás jogát induláskor (lásd alább) és a hozzáférési jogosultságokat a tulajdonos, zenésztársai és mások is olvasni, írni és végrehajtani. A fájl törléséhez a jogot a magasabb szintű könyvtárba való íráshoz való jog határozza meg.
A fájlrendszer még egy érdekes tulajdonsága: ha a fájl létrehozása után nem egy sorban, hanem nagy időközönként írtunk egy rekordot, akkor ezekre az intervallumokra a lemezterületet nem osztottuk fel. Így a partícióban lévő fájlok teljes mennyisége több lehet, mint egy partíció köre, és egy ilyen fájl törlésekor kevesebb helyet szabadít fel, mint a méretét.
A fájlok az alábbi típusúak:- normál közvetlen hozzáférési fájl;
- Egy könyvtár (egy fájl, amely más fájlok nevét és azonosítóit tartalmazza);
- egy szimbolikus link (egy másik fájl nevével rendelkező karakterlánc);
- blokkeszköz (lemez vagy mágnesszalag);
- soros eszköz (terminálok, soros és párhuzamos portok, lemezek és mágneses szalagok is tartalmaznak egy soros eszköztárat)
- nevű csatornát.
- tty * - terminálok, beleértve
- ttyv - virtuális konzol;
- ttyd - DialIn terminál (általában soros port);
- cuaa - DialOut vonal
- ttyp - hálózati pszeudo terminál;
- tty - terminál, amellyel a feladat társul;
- wd * - merevlemezek és azok alszekciói, beleértve a
- wd - merevlemez;
- wd s a lemez partíciója (a továbbiakban "szelet");
- wd s - partíció partíció;
- fd [] - hajlékonylemez;
- rwd *, rfd * - ugyanaz, mint a wd * és fd *, de egymást követő hozzáféréssel;
Ellentétben DOS, akkor a teljes fájl neve megjelenik a „meghajtó: \ útvonal \ fájlnév” és a RISC-OS, amelyben úgy néz ki „-faylovaya_sistema meghajtó :. $ Put.imya” (ami általában megvannak az előnyei) , A Unix átlátszó jelölést használ az "/ elérési út / név" formában. A gyökér számít a partíciótól, ahonnan a Unix rendszermag betöltésre került. Ha egy másik partíciót fogunk használni (és a boot partíció általában csak a letöltéshez szükséges legfontosabbakat tartalmazza), használjuk a `mount / dev / partition_file_ directory 'parancsot. Ebben az esetben az ebben a könyvtárban korábban található fájlok és alkönyvtárak elérhetetlenné válnak mindaddig, amíg a partíciót eltávolítják (természetesen minden normális ember üres könyvtárakat használ a partíciók telepítéséhez). Csak a felügyelő engedélyezhető a szereléshez és a leválasztáshoz.
Indításkor mindegyik folyamat feltételezheti, hogy már három fájl van nyitva, amelyek a 0 descriptor stdin szabványos bemenetként ismertek; szabványos kimeneti stdout az 1. leíró szerint; és a szabványos kimenet stderr a 2. leíró alapján. Amikor bejelentkezik a rendszerbe, amikor a felhasználó megad egy nevet és jelszót, és elindítja a shell-et, mind a három a / dev / tty felé irányul; Később bármelyikük átirányítható bármely fájlra.
A Unix szinte mindig két héjértelmezőt tartalmaz - sh (shell) és csh (C-szerű héj). Ezen kívül vannak bash (Bourne), ksh (Korn) és mások. Anélkül, hogy részletesen elmennék, általános alapelveket fogok adni:
Minden parancs, kivéve az aktuális könyvtár megváltoztatását, a környezeti változók és a strukturált programozási operátorok beállítását külső programok. Ezek a programok általában a / bin és a / usr / bin könyvtárakban találhatók. A rendszeradminisztrációs programok a / sbin és / usr / sbin könyvtárakban találhatók.
A parancs az indítandó program nevét és az argumentumokat tartalmazza. Az argumentumokat elválasztják a csapat nevétől, és egymástól elválasztják egymástól lapokat. Néhány speciális karaktert maga a shell is értelmez. A speciális karakterek "` `\. $ ^ *. | ; (Mégis mit?).
Ugyanabban a parancssorban több parancs is megadható. A csapatok elválaszthatók; (parancsok sorozatos végrehajtása), (aszinkron párhuzamos parancsok végrehajtása), | (szinkron végrehajtás, az első parancs stdout standard kimenete a stdin szabványos bemenethez kerül).
Ezenkívül a szabványos bemenetet a fájlból is kiválaszthatja, beleértve az "<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">file „(Fájl vissza lesznek állítva) vagy a” >> file „(a felvétel kerül sor végén file) A program maga nem kap ez az érv ;., hogy milyen bemeneti és kimeneti visszaszármaztatták, maga a szoftver kell venni néhány nagyon triviális gesztusok.
Ha bármilyen parancsra vonatkozó információt szeretne kapni, adja meg a "man command_name" parancsot. Ez megjelenik a képernyőn a "több" program segítségével - nézze meg, hogyan kezelheti a Unix-ot a `man more` paranccsal.