ПредишенСледващото

Почти всички приложения на Linux Ubuntu 10.04 LTS използват всяка операция IO. Дори и такива на пръв поглед прост дейност като сърфиране в интернет води до голям брой малки файлове, които са написани на диск. Без разписание, всеки път, когато има искане за вход-изход взаимодействие ще се случи с ядрото и такива операции се извършват веднага. Освен това, може да има ситуация, в която можете да получите голям брой молби за вход и изход, който (да отговарят на всички искания от потребители) ще доведе до главата на диск буквално се втурне върху него наляво-надясно. Още по-важен е фактът, че с течение на времето разликата между изпълнението на твърди дискове и останалата част от системата е нараснал много бързо, което означава, че представянето на още по-големи изисквания за вход-изход, за да се гарантира цялостното изпълнение на системата. Така че, ядрото трябва да служи прекъсване - за спиране на изпълнението на всички други приложения. Ето защо, от външната страна може да изглежда, намаляване на обратната връзка или дори забавя работата си.

Планиране IO събитие води до необходимостта да се даде отговор на много въпроси. Например, исканията за планировчика получени в специална опашка, за да бъдат съхранени. Как ще се съхранява тези събития, независимо дали това е възможно да промените реда на събития, колко време ще се съхраняват тези събития, дали може да отговори на всички записани събития за постигането на определени условия или с определена честота - това е всички важни аспекти на планировчика. На това как тя изпълнява тези аспекти на планировчика зависи от общата производителност на входно-изходна система, и как това се възприема от потребителите на системата.

Един от най-важните ползи, които IO планиране дават на системата - е да се съхранява на различни събития в опашката, а дори и за възможността да го (Turn) промени да извърши индивидуална IO по-бързо от други. Тъй като скоростта на входно-изходни операции може да бъде много по-бавно, отколкото в други части на системата, преразпределението на искания за достъп до диск, така че да се сведе до минимум движението на главите на устройството може да се подобри общата производителност на системата. Нова файлова система може да работи, като се вземат предвид някои от тези понятия, така че те може да направите, за да се оптимизира IO работа по отношение на скоростта на устройството за съхранение. Можете дори да се конфигурира като планира по-ефективно да се адаптира системата към необичайните свойства на SSD (твърдотелни дискове не разполагат с четене и запис в сравнение с конвенционалните твърди дискове глави).
Има някои общи методи, които се използват от проектанти Йо:
заявки за сливане: В рамките на тази техника, искания за четене и запис подобна цел се комбинират, за да се намали броят на дисковите операции и да се увеличи продължителността на разговорите на входно-изходна система (която обикновено води до по-добра производителност на вход-изход).

"Вдигнете Алгоритъм": искания IO са подредени в зависимост от физическото разположение на данните на диска, така че главата на диск, доколкото е възможно се премества в една посока и подреден, колкото е възможно.

Преподреждане на искания: Тази техника пренарежда искания въз основа на техния приоритет. Алгоритъмът за прилагане на тази техника зависи от планировчика.

Освен това, почти всички IO проектанти вземат предвид коефициента на "ресурс глад", в резултат на което ще се погрижат за всички нужди.


В момента има четири IO разписание в Linux Ubuntu 10.04 LTS там:

- CFQ (Напълно панаир Queuing - алгоритъмът е напълно справедлив опашката)

NOOP планировчика (никой не работи) е най-лесният. Той поставя всички входящи заявки IO по прост буфер като FIFO (първи-In, First-Out - първи, първи изход), и след това просто да ги пуска за изпълнение. Имайте предвид, че това се случва с всички процеси, които съществуват в системата, независимо от вида на входно-изходни заявки (четене, писане, да търсите желаната песен и т.н.). Той също така изпълнява нещо подобни заявки за сливане.

NOOP разписание използва минималният брой инструкции процесор на входно-изходна операция да се извърши проста функционалност: сливане и сортиране на заявка. Това разписание предполага, че самите устройства за съхранение на данни, ще оптимизира работата на входно-изходни операции.

Потенциално, NOOP разписание ще работи добре с устройства за съхранение, които нямат механични части за четене на данни (т.е., ръководител на диск). Причината е, че разработчикът не прави опит да се оптимизира движението на главите, извършване на прости заявки за сливане, което също помага за увеличаване на капацитета пропускателна способност на диска.

Изпреварващо IO Scheduler (предполагаемата схема за планиране), както подсказва името, се опитва да предложи как ще бъде изпълнено блокове на диска следните искания. Той се слива заявката, само еднопосочен алгоритъм лифт асоциация да четат и пишат молби. След като разработчикът е обслужван прочетете влизането на заявката, това предполага, че следващото искане ще бъде за последващото блок, спирайки за кратък период от време. Ако не се получи такова искане, то тогава се сервира много бързо, тъй като главата с кола на правилното място. Този подход се въвежда лек за вход-изход забавяне на операции поради налага да чакат за следващия искането. Въпреки това, този недостатък може да се компенсира с увеличаване на ефективността на заявките от околностите на диска.

Краен срок IO Scheduler (срокове планировчика) е написана Йенс Aksbo широко известен ядрото разработчик.

Основният принцип на работата му е гарантирано начален час входно-изходни заявки за обслужване. Той съчетава функции, като например сливане иска еднопосочен алгоритъм асансьор и определя срок за връчване на всички заявки (оттук и името). Той поддържа два "крайни срокове на опашки» (срок опашки), в допълнение към две отделни "специално сортиран опашка" четат и пишат (сортирани опашки). Работа в сроковете за прилагане на опашката са подредени времето за изпълнение на заявка на принципа на "по-малко време - по-рано услуга -. По-близо до върха на опашката" Опашка за четене и писане са подредени въз основа на броя искания сектор (асансьор алгоритъм).
Това наистина помага на честотната лента разписание в случай на четене сектор с голям блок номер. Прочетете операции понякога могат да блокират заявлението, при условие че те се извършват, в очакване на приключване на тяхното прилагане. От друга страна, операцията за запис може да се извършва много по-бързо, защото те са произведени в кеша на диска. По-бавно операция за четене от външните региони на диска, се преместват в края на опашката, както и по-бързо се чете операцията от по-тесни области ще отиде в сервиз преди. Такъв алгоритъм разписание позволява по-бързо, за да служи на всички искания за четене и запис, дори ако има искания да се чете от далечните райони на диска.

CFQ предоставя на потребителите (процеси) специфичното устройство за съхранение на необходимото количество заявки IO за определен период от време. Това се прави, за системи с много потребители като всички потребители на такива системи ще имат същото ниво на отговор. Освен това, CFQ достигне някои от характеристиките на добро предвиждане на планировчика трафик, тъй като позволява на обслужваното опашка празен ход за известно време, за да изпълним заявката изпълнение вход-изход чакаща заявка, че може да бъде в близост до просто запитването.

В Windows Seven за I / O организация използва I / O мениджър, а в CFQ планировчика Linux Ubuntu. Задълженията на мениджъра на I / O включва много функции, като например създаване, четене, писане, както и много други операции на файлове, за изпълнението на I / O и др. Докато планировчика CFQ е отговорен само за организацията на системата за I / O. Това му дава редица предимства пред мениджъра на I / O, тъй като тя е по-на това, което не се разсейва, а да / O организация аз. Също така, програматорът достигне доста добра пропускателна способност с помощта слеят искания и алгоритъма асансьор. Въз основа на тези аргументи, можем да заключим, че е за организацията на I / O CFQ по-добре от / O мениджър аз. Но управителят на I / O е масата на допълнителните функции, които не са в CFQ, което му позволява да се работи с по-широк кръг от задачи.

В хода на това проучване, ние сравнение на двете операционни системи Windows Седем и Linux Ubuntu 10.04 LTS на редица критерии.

Операционната система Windows Седем и Linux Ubuntu 10.04 LTS са доста различни в изпълнението на различни услуги, както и услуги. В съответствие с темите, разгледани в тази статия, може да се отбележи, на няколко глобални различия.

В Linux Ubuntu 10.04 LTS графична система е отделена от ядрото и функции като нормално приложение. операционни системи Windows Seven графична система е вграден в ядрото. В случай на операционна система на работната станция, особено когато започнете grafikoemkih приложения могат да бъдат по-добри, когато системата графики и е част от ядрото - в този случай, тя може да работи по-бързо. И по време на работата на сървъра Предпочитан браншови графична система от ядрото като тя зарежда паметта и процесора. В случай на Linux графична система, можете просто да изключите, в допълнение, ако системния администратор той все още иска да използва, Linux има няколко работни среди от които да избирате, някои от тях доста слабо натоварен автомобил. Същата тази функция Unix-образна операционни системи ви позволява да стартирате операционната система на машините с незначително количество RAM и т.н. В случай на Windows Seven е графична система е твърде тясно интегрирана в операционната система, така че би трябвало да работи дори и на тези сървъри, на които не е необходимо.

Имайте предвид също, метода на разделяне на права за достъп в Windows Seven и Linux Ubuntu 10.04 LTS. В първата - разделянето на правата за достъп на базата на ACL (списъци за контрол на достъпа), която е, например, можете да конфигурирате системата, така че администраторът не са в състояние да управляват потребителски файлове. В Linux винаги има супер - корен, който има достъп до абсолютно всичко. Това е, теоретично, моделът на сигурността в Windows Seven е по-добре: да напълно да се възползва от добре настроена система, прозорци, нападателят ще трябва да се прекъсне повече, Linux е достатъчно, за да се справи достъпа до корен. Но теорията на множествена смазани практика на страната, че Windows не е толкова бързо, колкото на Linux, запечатан с "дупки", които вече се отнася за предимствата на отворения модел на развитие. Резултатът е, че в Windows, статистиката повече дупки, през които един хакер може да получите в системата. Но отново, само за броя на дупки в Linux и Windows може да се каже само, когато броят на потребителите на двата вида OS ще бъде едно и също.

Linux поддържа няколко файлови системи, най-напредналите - е Ext2, Ext3, Ext4. OS Windows Seven е свързано до голяма степен с файлова система - NTFS. Ext4 файловата система е по-бързо в резултат на използването на блокове и степен механизъм "отложено разпределение." Въпреки че NTFS файловата система по-надеждни. Така че изборът на файловата система зависи от конкретните цели на потребителите, но и за обикновен персонален компютър е по-предпочитан ext4.

Мога да спомена богат набор от софтуер, който може да бъде доставен заедно с Linux, междувременно, Windows също се развива в тази посока. Във всичко това е безопасно да се каже, че за обикновения потребител използва персонален компютър, за предпочитане е да Windows Seven.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!