A linux ubuntu lts
A Linux Ubuntu 10.04 LTS alkalmazásainak szinte minden alkalmazása bármilyen I / O műveletet használ. Még az ilyen látszólag egyszerű foglalkozás, mint a webes szörfözés, nagyszámú apró fájlt hoz létre, amelyet lemezre írtak. Nélkül ütemező nélkül, minden egyes alkalommal, amikor I / O kérés történik, akkor a rendszermaggal kölcsönhatásba kerülne, és az ilyen műveletek azonnal végrehajtásra kerülnének. Ezenkívül van olyan helyzet is, ahol nagy számú I / O kérést kaphatunk, amely (az összes felhasználói kérés kielégítése érdekében) a lemezfejeket szó szerint rohanja felfelé oldalról oldalra. Még ennél is fontosabb, hogy a merevlemezek és a rendszer többi része közötti különbség az idő múlásával nagyon gyorsan nőtt, ami még nagyobb igényeket támaszt az I / O-re a teljes rendszer teljesítményének biztosítására. Tehát, amikor a rendszermagnak meg kell adnia a megszakítást, minden más alkalmazás leáll. Ezért kívülről úgy tűnhet, hogy csökken a rendszer reakciókészsége, vagy akár működésének lassulása.
Az I / O események ütemezésével sok probléma megoldására van szükség. Például az ütemező a bejövő kéréseket egy speciális sorban tárolja. Hogyan tárolja ezeket az eseményeket, hogy lehetséges-e változtatni az események sorrendjét, mennyi időt kell tárolni ezeket az eseményeket, hogy meg tud felelni az összes tárolt esemény eléréséhez bizonyos feltételek vagy bizonyos gyakorisággal - ez mind nagyon fontos szempontok az ütemező. Az ütemező fenti szempontjainak pontosítása alapján az I / O rendszer általános teljesítménye attól függ, hogy a rendszer hogyan érzékeli a rendszert a felhasználók.
Az egyik fontos előnye, hogy az IO tervezés adja a rendszer -, hogy tárolja a különböző események a sorban, és még a lehetőségét is (viszont) változások elkövetésére egyéni IO gyorsabban, mint mások. Mivel a sebesség az input-output műveletek sokkal lassabb, mint más részein a rendszer, az újraelosztás iránti kérelmek lemez hozzáférés érdekében, hogy minimalizálják a mozgás a meghajtó fejek javíthatja a teljesítményét a rendszer. Az új fájlrendszerek ezen fogalmak egy részével is együttműködhetnek, így könnyedén optimalizálhatják az I / O műveleteket a tárolóeszköz sebességével kapcsolatban. Az ütemezőt még hatékonyabban is beállíthatja, hogy a rendszert az SSD szokatlan tulajdonságaihoz igazítsa (a szilárdtest-meghajtóknak nincs olvasási-írási fejezete a hagyományos merevlemezekkel összehasonlítva).
Számos tipikus módszer létezik, amelyet az I / O ütemezők használnak:
Fúziós kérések: E technika iránti kérelmek író-olvasó hasonló célra kombináljuk számának csökkentése lemez műveletek és időtartamának növelése az input-output rendszer hívásokat (általában jobb teljesítményt eredményez az input-output).
"Lift algoritmus": Az I / O kéréseket a lemezen lévő adatok fizikai elhelyezése alapján rendezzük el úgy, hogy a lemezfejek a lehető legnagyobb mértékben mozogjanak az egyik irányba és a rendezettekhez.
A lekérdezések átrendezése: Ez a módszer a prioritások alapján újraszervezi a lekérdezéseket. A módszer végrehajtására szolgáló algoritmus az adott ütemezőtől függ.
Ráadásul szinte minden I / O ütemező figyelembe veszi az "erőforrás éhezés" tényezőt, ezért ennek eredményeképpen minden kérés kiszolgálásra kerül.
Jelenleg négy I / O ütemező van Linux Ubuntu 10.04 LTS-ben:
- CFQ (Teljesen Fair Queuing)
A NOOP (nem működő) ütemező a legegyszerűbb. Minden bejövő I / O kérést egy egyszerű FIFO pufferbe helyezi (First-In, First-Out, először ki, majd kimenet), majd csak végrehajtásra kerül. Ne felejtsük el, hogy ez történik minden olyan folyamatban, amely a rendszerben létezik, tekintet nélkül az I / O kérések típusára (olvasni, írni, keresni a kívánt számot stb.). Hasonlóan hasonlít a lekérdezések egyesítéséhez.
A NOOP ütemező az I / O műveletek minimális számú processzorinformációját használja a legegyszerűbb funkcionalitás végrehajtásához: egyesítés és rendezés kérései. Ez az ütemező feltételezi, hogy maguk a tárolóeszközök optimalizálják az I / O műveletek teljesítményét.
Lehetséges, hogy a NOOP ütemező jól működik olyan tárolóeszközökkel, amelyek nem rendelkeznek mechanikai alkatrészekkel az adatok olvasásához (azaz a lemezfejekhez). Ennek oka abban a tényben rejlik, hogy ez az ütemező nem tesz kísérletet a fejek mozgásának optimalizálására, a lekérdezések legegyszerűbb összeolvadásával, ami szintén hozzájárul a lemezek áteresztéséhez.
Az Előzetes IO Scheduler, amint azt a név is sugallja, megpróbálja kitalálni, hogy mely lemez blokkjai hajtják végre a következő kéréseket. A lekérdezés egyesítése, a legegyszerűbb egyirányú lift algoritmus, az olvasási és írási kérelmek kombinációja. Miután az ütemező szolgáltatta az olvasás-írási kérelmet, feltételezi, hogy a következő kérés a következő blokkra lesz állítva, kis időre szünetel. Ha ilyen kérés érkezik, akkor nagyon gyorsan szervizelhető, mivel a lemezfejek a megfelelő helyen vannak. Ez a megközelítés enyhe lassulást idéz elő az I / O rendszerben, mivel meg kell várnia a következő kérést. Ez a hátrány azonban kompenzálható a lekérdezés teljesítményének növelésével a lemez szomszédos területeire.
A határidő IO Scheduler (a határidők ütemezője) Jens Axbo, egy jól ismert kernelfejlesztő írta.
Működésének alapelve a garancia az indítási I / O igények fenntartására. Kombinálja az olyan funkciókat, mint a lekérdezés egyesítése, egyirányú lift algoritmus, és határidőt állapít meg az összes kérés (nevezetesen a név) karbantartására. Támogatja két külön "határidő sorát", két külön "sorba rendezett sorhoz" olvasás és írás mellett. A végrehajtási idősor feladatait a "rövidebb idő - korábbi karbantartás - közelebb a sor tetejéhez" elv alapján rendezi a lekérdezések végrehajtási ideje szerint. Az olvasási és írási sorok sorrendje a kért szektorszám (lift algoritmus) alapján történik.
Ez az ütemező valóban segíti a sávszélességet olyan esetekben, amikor egy nagy blokkszámú szektorokból olvas. Az olvasási műveletek néha blokkolják az alkalmazásokat, mivel végrehajtás közben az alkalmazások készen állnak a végrehajtásra. Másrészt az írási műveletek sokkal gyorsabban végrehajthatók, mivel lemezgyorsítótárban készülnek. A lemez külsõ területeirõl származó lassabb olvasás a sor vége felé kerül, és a legközelebbi területek gyorsabb olvasása korábban javításra kerül. Az ilyen ütemezõ algoritmus lehetõvé teszi az összes írás-olvasási kérelem gyorsabb kiszolgálását, még akkor is, ha vannak olvasási kérelmek a lemez távolabbi területeirõl.
A CFQ biztosítja egy adott tárolóeszköz felhasználóinak (folyamatait) az előírt számú I / O-kéréssel egy bizonyos ideig. Ez többfelhasználós rendszerek esetében történik, mivel az ilyen rendszerek összes felhasználója ugyanazt a szintet kapja. Továbbá CFQ eléri néhány jellemzője a jó megelőző ütemező sávszélesség, mert lehetővé teszi a kiszolgált sorban tétlen egy ideig a teljes végrehajtási kérelem input-output kérelem függőben, amely közel csak a lekérdezés.
A Windows 7-ben az I / O Manager az I / O szervezésére, valamint a Linux Ubuntu-ra, a CFQ ütemezőre szolgál. Az I / O Manager feladatok számos funkciót tartalmaznak, mint például a fájlok létrehozása, olvasása, írása és sok más művelet a fájlokban, az I / O alrendszer megvalósítása és még sok más. Míg a CFQ ütemező csak az I / O rendszer szervezéséért felelős. Ez számos előnyt biztosít az I / O Manager számára, mivel nem zavarja semmi más, mint bemeneti / kimeneti szervezet. Ez az ütemező elég jó áteresztőképességet eredményez a lekérdezés egyesítésének és a felvonó algoritmának köszönhetően. Ezen érvek alapján azt a következtetést vonhatjuk le, hogy a bemeneti / kimeneti CFQ szervezése jobb, mint az I / O Manager. Az I / O Managernek azonban számos olyan funkciója van, amelyek nem tartoznak a CFQ-hoz, ami lehetővé teszi, hogy szélesebb körű feladatokkal dolgozzon.
Ebben a kurzusban két operációs rendszert hasonlítottunk össze a Windows Seven és Linux Ubuntu 10.04 LTS rendszerek között számos kritérium alapján.
Operációs rendszerek A Windows Seven és a Linux Ubuntu 10.04 LTS egészen más a különböző szolgáltatások és szolgáltatások megvalósításában. Az ebben a cikkben tárgyalt témákkal összhangban számos globális különbség van.
A Linux Ubuntu 10.04 LTS rendszerben a grafikus rendszer külön-külön létezik a rendszermagtól, és normál alkalmazásként működik. A Windows 7 operációs rendszerben a grafikus rendszer beépül a magba. Ha operációs rendszert használ egy munkaállomáson, különösen akkor, ha grafikus intenzív alkalmazások futnak, akkor valószínűleg a legjobb, ha a grafikus rendszer belép a magba - ebben az esetben gyorsabban tud dolgozni. És ha szerveren dolgozik, akkor előnyösebb a grafikus rendszert elkülöníteni az operációs rendszermagtól, mivel betölti a memóriát és a processzort. A Linux esetében a grafikus rendszer egyszerűen ki lesz kapcsolva, emellett, ha a rendszergazda továbbra is használni akarja, a Linuxnak számos grafikus shellja van, közülük néhány nagyon rosszul terheli a gépet. A Unix-szerű operációs rendszerek ugyanolyan tulajdonsága lehetővé teszi, hogy ezeket az operációs rendszereket olyan gépekre futtassuk, amelyek nagyon szerény RAM-kötetekkel rendelkeznek. A Windows Seven esetében a grafikus rendszer túlságosan szorosan illeszkedik az operációs rendszerbe, ezért olyan kiszolgálókon is fut, amelyeknek egyáltalán nincs szüksége.
Megjegyezzük továbbá a hozzáférési jogok megosztásának módját a Windows Seven és a Linux Ubuntu 10.04 LTS-ben. Az első - a szétválasztás a hozzáférési jogok alapján az ACL (hozzáférés-vezérlési listák), hogy van, például beállíthatja a rendszert úgy, hogy az adminisztrátor nem képes kezelni a felhasználó fájlokat. A Linuxnak mindig van egy superuser-rootja, amely mindent elérhet. Azaz, elvileg a biztonsági modell a Windows Seven, annál jobb: a legteljesebb mértékben kihasználja a jól hangolt rendszer, a Windows, a támadónak kell törni több, a Linux elég, hogy kiváló a hozzáférés gyökér. De az elmélet több kent gyakorlat az oldalán, hogy a Windows nem olyan gyors, mint a Linux, lezárt „lyukak”, akik már alkalmazzák az előnye a nyílt fejlesztési modell. Ennek eredményeképpen kiderül, hogy a Windowsban a statisztikák szerint több lyuk van, amellyel a támadó beléphet a rendszerbe. De ismét, pontosan a lyukak számát a Linux és a Windows csak akkor lehet mondani, ha a felhasználók száma mindkét fajta operációs lesz közel azonos.
A Linux számos fájlrendszert támogat, a legfejlettebbek az Ext2, Ext3, Ext4. A Windows Seven nagyrészt egyetlen fájlrendszerhez van kötve - NTFS. Az Ext4 fájlrendszer gyorsabban működik, blokkok, kiterjesztések és a "halasztott terjesztés" mechanizmus segítségével. Bár az NTFS FS megbízhatóbb. Tehát a fájlrendszer választása a felhasználó konkrét céljaitól függ, de az egyszerű személyi számítógépek esetében az ext4 előnyösebb.
Megemlíthetnénk egy gazdag szoftvercsomagot, amelyet a Linux segítségével lehet szállítani, ugyanakkor a Windows is ebben az irányban fejlődik. Mindezekkel biztos lehet mondani, hogy egy rendszeres, rendszeres személyi számítógépet használó felhasználó számára a Windows Seven előnyben részesül.