Читаем Техника сетевых атак полностью

В отличие от пользователей, для программистов Windows оказалась настоящим кошмаром, - продираясь сквозь дебри запутанной документации, они не раз жалели, что родились на свет, вспоминая Microsoft и лично ее президента очень крепким словом. Программирование под Windows концептуально отличается от программирования под MS-DOS. Операционная система MS-DOS «прозрачна» для разработчиков, вольных писать любой код, какой им заблагорассудиться, лишь временами обращаясь к системным вызовам, наподобие функции «открыть файл» или «запустить процесс». Любое приложение, предназначенное для запуска в среде Windows, должно следовать множеству соглашений и ограниченней, налагаемых этой операционной системой. В частности: непрерывно опрашивать очередь сообщений, реагировать на десятки происходящих событий, наконец, сложным образом манипулировать с окнами и другими элементами графического интерфейса, выполняя работу, которую по всем понятием должна брать на себя сама операционная система.

Нарушение или игнорирование любого из этих требований приводит к неустойчивой работе приложения и зависанию Windows. Но обиднее всего, что до трех четвертей усилий уходило на поддержку пользовательского интерфейса, и лишь небольшая толика кода занималась непосредственными вычислениями.

Решив не сходить с ума, программисты как могли затягивали переход на Windows, продолжая разрабатывать приложения для старушки MS-DOS. Вероятно, Microsoft предвидела такой поворот событий, поскольку не прекращала работу над MS-DOS, и 2 апреля 1990 года выпустила очередную, четвертую версию, поддерживающую уже до восьми мегабайт оперативной памяти. Усилиями трех компаний - Lotus, IBM, Microsoft был разработан новый стандарт расширенной памяти EMS, худо-бедно позволяющий приложениями использовать новые аппаратные возможности.

Тем временем, Microsoft создала Excel и Word для Windows, нанося сокрушительный удар конкурентам и упрочняя свои позиции на рынке операционных систем. Многие пользователи устанавливали Windows лишь ради возможности запускать на своем компьютере Microsoft Word, который стал стандартом де-факто на рынке текстовых редакторов.

В мае 1991 года вышла инструментальная система быстрого программирования - Microsoft Visual Basic, а сама Windows была локализована на двенадцать языков двадцати четырех стран мира. Бейсик, вызывая презрение профессионалов, все еще раздумывающих переходить им на Windows или нет, дал возможность начинающим программистам самостоятельно создавать необходимые приложения, поэтому, количество программ под Windows медленной, но неуклонно росло.

Годом позже Microsoft начала свою первую телевизионную рекламную компанию. Рынок пользователей персональных компьютеров к тому времени стал столь многочисленным, что подобная акция оказалась отнюдь не лишней и внесла не малую лепту в усилении позиции Windows.

В апреле 1992 года на свет появилась Windows 3.1, которая не вносила ничего принципиально нового, но отличалась от своей предшественницы тысячами «косметических» улучшений. Мир сходил с ума, пользователи штурмовали магазины, и за первые два месяца продаж в общей сложности разошлось более 23 миллионов копий! Казалось, в такой успех не верил и сам Билл Гейтс.

Дальнейшие события разворачивались со скоростью драки в хорошем вестерне: Microsoft перенесла Windows на портативные компьютеры, заручившись поддержкой свыше 220 производителей; на судебном процессе, возбужденной фирмой Apple по поводу заимствования комапнией Microsoft элементов интерфейса Mac OS, оправдательное решение было вынесено в пользу Microsoft, а президент США Джордж Буш вручил Биллу Гейтсу национальную медаль за успехи в области компьютерных технологий. К апрелю 1993 одних лишь зарегистрированных пользователей Windows насчитывалось свыше 25 миллионов, и Windows единодушно была признана едва ли не безальтернативной операционной системой для персональных компьютеров.

Будущее Microsoft всем казалось радужным и безоблачным. Не то что бы конкурентов и вовсе не существовало, но никто из них не мог надолго захватить значительной части рынка, хотя такие попытки предпринимались неоднократно. Например, в ноябре 1990 появилась первая версия продвинутой оболочка для MS-DOS, получившей название GECOS. Но, несмотря на все технические превосходства над Windows, компания-разработчик допустила серьезную маркетинговую ошибку, на шесть месяцев задержав выпуск инструментария для программистов, поэтому разработчикам, под давлением пользователей, пришлось выбирать Windows.

Операционная система DR-DOS, выпущенная фирмой Digital Research, функционально обгоняла MS-DOS, но оказалось несовместима с новыми версиями Windows, и пользовалась спросом лишь ограниченного контингента покупателей, по тем или иными причинам игнорирующего существование Windows.

Перейти на страницу:

Похожие книги

Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных
Java 7
Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.

Ильдар Шаукатович Хабибуллин

Программирование, программы, базы данных