Предполага се, че Microsoft наема най-добрите специалисти в света. Защо обаче не ги пита, дали знаят за многозадачните алгоритми, преди да ги назначи?
Категория: Софтуер за персонални компютри
Джон Дворак
четвъртък, 23 Ноември 2006 16:20ч
Преди около петнадесет години аз казах на хората, че ако искат многозадачна работа, трябва да си намерят два компютъра и да ги пуснат едновременно. И се оказах прав! Впоследствие постепенно се отказах от това мое убеждение, но напоследък съм на път пак (за кой ли път) да се окажа прав.
Проблемът всъщност е прост: Microsoft никога не осъществява правилно многозадачната работа. Нейната операционна система не знае какви приоритети да постави и винаги греши, когато взема решение. Това си личи във всичко, което правите в Windows.
Най-яркият пример е преносът на папка от диск на диск, по мрежа. Изберете три папки и след това ги привлачете едновременно до устройството-цел по мрежата (или до някое друго устройство в самия компютър). Засечете времето за изпълнение на задачата, и след това го сравнете с времето, нужно за копиране на същите три папки едновременно, но поотделно, на същото устройство-цел. За да копирате папките поотделно, ще ви е нужно с 50 процента повече време! Защо е така? Нали карате компютъра да извърши същата работа?
Windows вижда трите отделни преноса на папки като отделни задачи, и решава да ги изпълни „многозадачно”, но по характерния за него глупав начин. Затова една подобна операция, свързана с пренос на по-големи файлове, може да ви отнеме цяла нощ.
Когато подготвях тази статия, аз проведох няколко експеримента на тази тема, и забелязах някои други странности в този иначе прост процес на прехвърляне на нещо от точка А в точка Б. Да вземем например прогнозното време за изпълнение на операцията. Защо се задълбочавам на тази тема, ще попитате вие? Ами защото Windows на моменти се държи толкова странно, че е направо смешна, а вие се чудите, какво не е в ред с нея. Може да й са нужни няколко минути само „да се подготви” за пренос на файлове. Дали пък през това време Windows не оценява размера на файловете? Всъщност, така и не разбрах какво точно „оценява” Windows по време на „подготовката за пренос на файлове”, защото се оказва, че тя така и не обръща внимание на всичко, което е важно за потребителя.
По време на моя тест, аз изпратих едновременно три файла. Когато Windows най-после стигна до третия файл, той спря напълно работа, само за да ме предупреди, че файл със същото име вече има на устройството-цел. Така че ако за прехвърлянето им например бяха нужни два часа, и аз бях излязъл от стаята, с надеждата, че като се върна, Windows ще е приключила със задачата, след завръщането си щях да се натъкна на това съобщение за грешка, което на практика е блокирало целия процес. Защо този проблем не бе открит още в началото, по време на „подготовката за копиране”, така че аз да съм спокоен докато си пия кафето, че Windows ще прехвърли файловете?
Оплаквания от този сорт просто нямат край. Не вярвам Бил Гейтс, Стийв Балмър или някой друг от Microsoft, да не е забелязал подобни глупости. Всъщност, дали хората от ръководството на софтуерния гигант изобщо ползват компютри?
Но многозадачната работа на Windows, свързана с пренос на файлове, е само „върхът на айсберга”, когато става въпрос за „увисванията” на Windows. В нея има толкова много неща, които могат да спират работата й върху текущата задача, че човек почва да се чуди, дали в Microsoft изобщо са чували за многозадачната работа? В това отношение OS/2 се справяше по-добре, а Amiga работеше къде-къде по-успешно. Предполага се, че Microsoft наема най-добрите специалисти в света. Защо обаче не ги пита, дали знаят за многозадачните алгоритми, преди да ги назначи?
Защо това, което потребителят иска да направи, не е с най-висок приоритет? Ето един пример: опитвате се да въведете нещо от клавиатурата, но машината неочаквано получава заявка от някоя програма – например да зареди flash-анимация в минимизиран браузър. Та както си пишете, изведнъж установявате, че символите, които въвеждате, се появяват на екрана в чудноват, анимиран вид. Оказва се, че системата на Windows за многозадачна работа е дала приоритет на процеси, които могат да почакат! Кога в Microsoft ще проумеят, че ТЕ НЕ СА ВАЖНИ!? ПОТРЕБИТЕЛЯТ Е НАЙ-ВАЖЕН!
Подобни комични случки стават ежедневно. Една от тези, които са ми най-забавни, е свързана с различните фотографски приложения, които „завземат” вашия компютър. Например аз имах един огромен JPEG-файл, който исках да обърна, защото бе сниман „с краката на горе”. Докато Windows свърши тази работа, аз си легнах, и изкарах осем часа сън. Разбира се, легнах си с надеждата, Windows да не спре по средата, за да ми зададе някой глупав въпрос, блокирайки целия процес, докато не получи отговор. Този проблем е признак за нарушена система за многозадачност в Windows.
Познайте как реших този проблем? Ами купих си още един компютър. Сега вече просто оставям едната машина да свърши тежката работа, докато другата ми служи за по-прости задачи. Така е много по-лесно, отколкото да си имаш работа с калпав код. Слава богу, всички тези дразнещи недостатъци ще бъдат отстранени във Vista. Ще попитате, откъде съм толкова сигурен? Отговорът ми е кратък: „Дано”!

