|
Хардуерът потъва в море от софтуер (10-3-2005)
HARDWARE'S SINKING BENEATH A SOFTWARE SEA
Джон Карол1, специално за ZDNet
23 септември 2004
Библиотека на ЛинуксЦентър
© 2005 превод през руски – Николай Ангелов
КОМЕНТАР
До момента, в света на програмното осигуряване имаше две доминиращи направления – Unix и Windows. Двата лагера имаха собствени специалисти, стандартни инструменти, правила на програмиране и действаха в свят, населен с OEM2 производители с най-различни бизнес модели
От едната страна стоят производителите на хардуер (WINDOWS OEM), използващи операционна система, доставяна от една компания (Microsoft). Този модел осигурява висока степен на съвместимост на различния хардуер и така вдъхновеното от софтуера съперничество изпълнява ролята на сила, заставяща производителите, лишени от възможността да изпъкнат с хардуер, да се конкурират един с друг.
От другата страна са тези производители (Unix OEM), които нямат един единствен доставчик на операционна система. Исторически, хардуерът за Unix се доставя с несъвместими варианти на операционната система. Тази несъвместимост отчасти е предизвикана от разликите в архитектурата на машините (Solaris работи върху процесори SPARC, докато HP-UX – не), както и от различията в програмния интерфейс3, което затруднява написването на универсален софтуер за Unix.
Но поради взривното увеличаване на популярността на Linux ситуацията се променя. Ако съществуващите тенденции се задържат, имаме всички основания да очакваме, че Linux може да настигне своите родственици от Unix и дефакто да стане център на света на Unix програмирането. Операционната система Linux не е обвързана с някаква специфична търговска марка хардуер и в този смисъл тя запълва тази пазарна ниша, която запълва и Windows, афиширайки се като сила, уеднаквяваща хардуера, тъй като става стандарт за създаване на софтуер в Unix стил.
ЕВОЛЮЦИЯТА НА СТАНДАРТИТЕ НА ПРОГРАМИРАНЕ
През голяма част от историята на изчислителната техника, стандартите на програмиране се определяха от хардуера. Операционните системи съществуваха, но осигуряваха много по-малко възможности от съвременните операционни системи и, което е по-важно, се създаваха за конкретен хардуер от една или друга търговска марка. Макар че, COBOL в някакво отношение беше стандарт, нямаше гаранция, че програма на COBOL, написана за мейнфрейм на IBM ще се компилира нормално от компилатор Burroughs и можеше да се каже със сигурност, че Job Control Language (JCL)4 няма да работи върху различни платформи.
Причина за това беше донякъде и най-обикновеният прагматизъм. Скоростта на обработка беше значително по-малка, отколкото е сега, така че от гледна точка на бързодействието имаше смисъл да се „настройва“ операционната система към конкретната конфигурация на хардуера. Разбира се, друга причина бяха и опитите за диференциация на хардуера, тъй като всички големи компютърни компании бяха и доставчици на хардуер, и софтуера играеше второстепенна роля в сравнение с хардуера и се разглеждаше по-скоро като диференциатор, а не като източник на доход.
С увеличаване на обема на продажби на компютри, относителната стойност на софтуера в стойността на една машина се намаляваше, тъй като разходите за неговото създаване са относително фиксирани. Това означава, че субектите на икономиката – клиентите, които се стараят да икономисат пари и търговците на програмни продукти, стремящи се да увеличат своите доходи, са заинтересовани от създаването на колкото е възможно по-голям пазар. По този начин, в свят, в който средата на програмиране се определя от хардуера, съществува естествена тенденция към доминация на един доставчик, който да унифицира пазара за сметка на масовостта.
С други думи, IBM започна да доминира в света на информационните технологии по силата на стремежа към икономии. В края на краищата, продуктите на IBM създадоха тази платформа, върху която беше построена икономиката на унифицирания софтуер, която позволи на IBM да колонизира света със своите мейнфрейм машини и периферия.
Но хардуера е лоша основа за стандартизация. Ако се наложеше подмяна на някакво програмно осигуряване с друго, работещо върху компютър от друга марка, тогава трябваше да изхвърлим вече съществуващия хардуер5. С повишаване на бързодействието се появи възможност за преминаване към по-гъвкава платформа, основана на софтуера, който притежава практически неограничени възможности за разнообразие, което го прави много по-добра платформа за стандартизация, основана на определена конфигурация на хардуера.
Естественото място за такава универсална програмна платформа е операционната система. Тя може да осигури общ външен програмен интерфейс (API) за произволни приложни програми, независим от хардуера, върху който работи. Когато по-голямата част от програмите започнаха да се разработват под операционната система, а не под хардуера (по-точно, под хардуер със специализирана операционна система), икономиката на мащаба започна да се развива около базовото програмно осигуряване.
WINDOWS КАТО СТАНДАРТ ЗА ПРОГРАМНО ОСИГУРЯВАНЕ
Както често се случва, решаваща роля в успеха на Gates & Co изигра факта, че те се оказаха в нужното време на нужното място. Microsoft беше компанията, избрана от IBM за доставчик на операционна система за техния нов персонален компютър.
През 1980 г., компанията, към която цял свят се обръщаше за решения в областта на информационните технологии, все още беше IBM. Но този свят се променяше – експоненциалният ръст на бързодействие на процесорите позволи да се заложи на програмно осигуряване от междинно ниво. Но промените рядко се забелязват навреме и има много свидетелства, че IBM ги пропусна. Как да си обясним решението на IBM да не обвърже Microsoft с договор за ексклузивна доставка? Това даде на Microsoft свободата да лицензира своята операционна система на всеки производител на хардуер, готов да си плати за нея, което в свят, движещ се в посока на софтуерни стандарти, стана съдбоносна стратегическа грешка.
Разбира се, Microsoft не пропусна да се възползва от нея, превръщайки операционната система, закупена от нея за 50000$ в основа на софтуерен пазар за милиарди долари. Унификацията около програмните стандарти доведе до ожесточена конкуренция при производителите на хардуер за Windows, които се надпреварваха да намаляват цените на пазар с ограничени възможности за диференциация. В резултат на това се появи пазарът на персонални компютри, които може да се купят едва ли не за 500$ и които работят по-бързо, отколкото само преди 5 години работеха много сървъри.
ЗА СТАНДАРТА НА UNIX
Unix се появи на бял свят през 1969 г. като резултат от работата, извършена в Bell Labs, научното подразделение на AT&T. През по-голямата част от своята история, Unix остана собственическа операционна система, правата върху която принадлежаха на AT&T (по-късно те бяха продадени на Novell, след това на SCO и накрая попаднаха в ръцете на Caldera6). Но контрола върху нея не беше запазен, най-вече за това, че AT&T охотно и почти безплатно лицензираше изходния код на Unix на различни университети.
Резултатът от това беше иновационен взрив около Unix. Unix предизвика първата истинска революция на софтуера с открит изходен код, тъй като програмисти от цял свят имаха достъп до изходния код за неговото разпространение в нови области на изчислителната техника. Най-известна от цялата тази дейност, стана BSD (Berkeley Standard Distribution7) – операционната система, станала основа на Apple Mac OS X8.
За съжаление, създаването на софтуерен стандарт на основата на Unix се натъкна на подводни камъни. Unix се раздели9 на няколко клона, което доведе до появата на множество мини-стандарти, приличащи помежду си, но и достатъчно различни за да има нужда от допълнителна работа за осигуряване на съвместимост между тях. Вина за това носи отчасти и AT&T, чиито съдебни искове срещу клоновете на Unix принудиха много разработчици да преработят изходния код. Липсата на централизиран контролиращ орган също не беше от полза (такъв можеше да стане AT&T, ако не беше заета с други важни дела), а не съществуваха и такива мрежи, каквито има в момента, което значително затрудняваше сътрудничеството.
Така или иначе, Unix се превърна в операционна система, силно обвързана с хардуера, с който се продава, което спомогна за запазване на бизнес модела на IBM и позволи на ориентираният към Unix хардуер да избегне комодизацията10, която разтърси индустрията на персонални компютри. Това е познато на всеки, който е следил дълги години високите цени на базираните на Unix сървъри.
LINUX, СЛЕДВАЩАТА СТЪПКА В ЕВОЛЮЦИЯТА НА UNIX
Linux се появи като средство да се направят Unix-подобните операционни системи достъпни на пазар, запълнен със скъпи продукти, които не са по джоба на обикновения потребител11. От толкова скромно начало той се превърна в операционна система, осигуряваща тази унификация, която обещаваше Unix. Програмите, работещи под Red Hat, обикновено ще работят и на аналогична конфигурация на Mandrake (ако се използва един и същ процесор). Но даже и там, където няма съвместимост, вече се появи лидер сред дистрибуциите на Linux в лицето на Red Hat, предлагащ същата гаранция за съвместимост от името на една компания, като гаранцията, предлагана от Microsoft на клиентите на Windows.
Днес, същите тези сили за комодизация на хардуера, които преобърнаха индустрията на настолните персонални компютри (и практически изхвърлиха IBM от нея), се разпореждат на пазара на Unix сървъри. Все повече производители доставят сървъри с Linux, намалявайки значително цените. Нещо повече, ниската цена на разработване на Linux, го направи съвместим с хардуера от висококонкурентния бизнес с персонални компютри (с хардуер, който беше поевтинен от унификацията под Windows). Linux сървърите могат да работят с процесори на Intel и имат достъп до широк спектър от хардуерни средства, съществуващи в системите Wintel.
Това е сериозно изпитание за бизнес-моделите на тези компании, които са свикнали да изпъкват за сметка на специализираните варианти на Unix. Преходът към Linux е свързан с ниски печалби и яростна конкуренция на стандартната платформа на Linux, характерни за пазара на хардуер на Wintel. Но това е изгодно за клиентите, поради което засилването на Linux трябва да бъде приветствано от всички, които предпочитат стила на програмиране на Unix.
ДОПЪЛНЕНИЕ
Макар, че всички мои разсъждения са основани на софтуерните стандартите, съществува компания, обединила де-факто индустрията със стандартите, имащи отношение към повечето компютри – това е Intel. Докато Windows и Linux се борят за ума и сърцето на разработчиците и потребителите, Intel знае, че ще може да прави пари, независимо от това кой ще е победител в тази борба (ако въобще има победител), тъй като и двете страни ще имат нужда от процесорите на Intel (да, от техническа гледна точка, Linux поддържа и други процесори, но масовият пазар се асоциира с чиповете на Intel).
Ако историята може да ни научи на нещо, то трябва и Intel да не се отпуска. По-бързите процесори направиха ориентацията към софтуерна стандартизация по-изгодна отколкото хардуерната стандартизация. Но ролята на процесора като последна крепост на хардуерно стандартизация ще се запази дотогава, докато не се появи възможност във всички случаи да използваме абстрактна виртуална машина.
Java и .NET създават основата за изоставяне на стандарта за един тип процесор. Засега е трудно да си представим реализация на Java или .NET на нещо от рода на игри, които изискват огромна производителност. Но не е далеч денят, когато тези среди ще станат достатъчно добри и за най-ненаситния, виртуалния свят. Тогава даже и Intel ще трябва да се замисли.
----------------------------
1 Джон Карол е инженер-программист от Ирландия, специализирал се в проектирането и разработването на разпределени системи с използване на Java и .Net. Основател на компанията Turtleneck Software.
2 OEM - original equipment manufacturer (The Free On-line Dictionary of Computing)
3 API – application program interface (The Free On-line Dictionary of Computing)
4 или тук dictionary.reference.com/search?q=job%20control%20language
5 И съответно да се купува нов – Н.А.
6 А продължението на историята с правата върху Unix е общоизвестна.
7 За повече информация за Berkely Standard Distribution може да се използва връзката:
www.google.com/search?num=100&hl=en&lr=&q=%22Berkeley+Standard+Distribution%22&btnG=Search
8 Повече за историята на Unix може да се прочете в статията на Йън Ф. Дарвин (Ian F. Darwin) и в книгата на Ник Мофит (Nick Moffitt) „История Unix за 7 $“.
9 Чудесно представяне на клоновете на Unix има на страницата на Eric Levenez.
10 в смисъл, че unix не тръгна да се развива в посока на по-удобен интерфейс, а продължи да се развива като работещ софтуер.
11 да се чете „физическо лице“
(CC)
Тези статии (но само тези, които са собствено производство на Portal.bg или са от други сайтове със същия лиценз) могат
да се използват при условията на Криейтив комънс.
Прочетете лиценза за повече информация.
За нас | Реклами | Интернет - новини | Статии | Архив
Към главната страница
|
|
|