Читать книгу Новейшая энциклопедия персонального компьютера 2008 - В. А. Захаров - Страница 31
Глава 4
Операционные системы
Переход от процедурного подхода в ранних ОС к объектно-ориентированному подходу в Windows 95–98
ОглавлениеВ ранних операционных системах преобладал процедурный подход. Для осуществления какого-либо действия в системе пользователю нужно было вызвать соответствующую программу, или процедуру, и передать ей имя обрабатываемого файла либо другие параметры. Программа выполняла указанные действия над файлом и завершала свою работу. При этом пользователь имел дело прежде всего с задачей обработки документа, а затем уже непосредственно с самим документом. В те времена, когда еще не было персональных компьютеров, пользователю приходилось описывать действия, которые должна была выполнить программа, на специальном языке, именовавшимся языком управления заданиями (JCL – Job Control Language).
С появлением терминала язык управления заданиями стал намного проще и постепенно превратился в командную строку. Тем не менее на первом месте по-прежнему оставалась процедура обработки документа, сам же документ играл второстепенную роль.
Следующим этапом упрощения работы с компьютером стала разработка различных операционных оболочек, которые сначала были текстовыми, а впоследствии спрятали от пользователя командную строку MS-DOS. Постепенно ввод символов, располагавшихся в определенном порядке и составлявших команду операционной системы, свелся к одному нажатию кнопки мыши или соответствующей функциональной клавиши. Наиболее распространенной из таких надстроек над операционной системой стала оболочка Norton Commander.
Однако для ввода команд по-прежнему использовалась главным образом клавиатура. Качественный переход был осуществлен лишь после того, как появились графические оболочки, которые позволили пользователю работать с устройством указания – мышью, а не с клавиатурой (естественно, это утверждение не относится к работе внутри таких приложений, как текстовые редакторы). Пользователю, общающемуся с графической оболочкой, нет необходимости запоминать какие-либо команды операционной системы. Ему достаточно щелкнуть мышью по соответствующей пиктограмме или высветившейся команде, чтобы было выполнено требуемое действие.
Процедурный подход занимал преобладающее положение вплоть до начала 1990-х годов. Однако уже в операционной системе Windows 3.1 проявились первые признаки объектно-ориентированного подхода. Так, стало возможным поставить в соответствие определенному документу приложение для его обработки. Примерно в то же время возник метод объектного связывания и встраивания (OLE). Щелкнув по изображению объекта, пользователь мог неявно запустить приложение, которое осуществляло обработку данного объекта, а после ее завершения снова вернуться в предыдущее приложение.
OLE тесно взаимосвязан с методом in-place, или методом редактирования документов «на месте». Суть его заключается в следующем. Если в документе имеется объект, для обработки которого требуется конкретное приложение, то пользователь может, щелкнув мышью на этом объекте, неявным образом запустить это приложение, причем в рабочем поле ничего не изменится, за исключением панелей инструментов. Например, если в документе, обрабатываемом в редакторе Microsoft Word, есть таблица, созданная в редакторе Microsoft Excel, то при щелчке на ней в рабочем поле появится панель инструментов Excel.
Еще один механизм, который упростил управление машиной и приблизил эпоху объектно-ориентированного подхода, носит название Drag & Drop, что буквально переводится как «перетащить и оставить». При использовании этого метода вы щелкаете левой кнопкой мыши на изображении объекта, удерживая эту кнопку, перемещаете объект по экрану и после установки указателя мыши в нужном месте экрана отпускаете кнопку. Таким образом, не только процедура перемещения объекта, но также и процедуры копирования и удаления стали объектно-ориентированными.
Если вам приходилось когда-либо работать в операционной системе MS-DOS, вы наверняка помните, что, к примеру, при необходимости удаления какого-либо файла нужно было запустить соответствующую процедуру, передавая имена этих файлов в качестве параметров: del FILE1.TXT FILE2.TXT. В операционных оболочках, которые работали под управлением Windows 3.1, это действие было максимально приближено к аналогичному действию, которое мы выполняем в реальном мире. Мы выбрасываем ненужные бумаги в мусорную корзину. Так и в операционной системе Windows, используя механизм Drag & Drop, можно подхватить ненужный объект и переместить его непосредственно на изображение мусорной корзины. Это и есть пример реализации объектно-ориентированного подхода, при котором работа на компьютере напоминает манипуляции с объектами, производимые в реальном мире.
В полной мере объектно-ориентированный подход был реализован в ОС Windows 95–98, созданных корпорацией Microsoft. Возникает вопрос: почему же этот подход при всем удобстве его применения получил право на существование сравнительно недавно? Дело в том, что каких-нибудь несколько десятков лет назад мощность машин была настолько мала, что о создании операционных систем, ориентированных на объект, не могло быть и речи. Поэтому работа компьютеров была основана на создании программных кодов. Программисты формулировали команды, необходимые для выполнения тех или иных действий над данными, записывая их в определенной последовательности и преобразуя в модули и процедуры. Свои процедуры приходилось создавать для работы с каждым объектом.
Постепенно производительность вычислительных систем увеличивалась, в связи с чем наметился переход от процедурного подхода к объектному. На первом месте теперь стоял сам объект, а не программный код, посредством которого осуществлялась его обработка. На пользовательском уровне объектно-ориентированный подход выражается в том, что интерфейс, как мы уже говорили, представляет собой подобие реального мира, а работа с компьютером сводится к действиям с привычными объектами. Так, папки можно открыть и закрыть, документы – просмотреть, отредактировать, переложить из одной папки в другую, выбросить в корзину, письмо отправить адресату и т. д.
Понятие объекта имеет настолько широкое значение, что до сих пор ему не дано строгого определения. Как и в реальном мире, компьютерный объект обладает различными свойствами. Программист или пользователь может изменить не все эти свойства, а лишь некоторые из них. Например, переименовать объект можно, но изменить объем свободного места на диске, который также является его свойством, нельзя. Свойства первого типа программисты называют read/write (для чтения и записи), а свойства второго типа – read only (только для чтения).
Под методом подразумевается способ воздействия на объект. Применяя различные методы, можно создавать, удалять объекты и изменять некоторые их свойства. Например, если вы хотите нарисовать на экране монитора точку, линию или плоскую фигуру, когда-то пришлось бы составить разные последовательности кодов или программы. Пользователю, работающему в современных системах, достаточно применить для отображения указанных объектов один метод, называемый Drow и содержащий программные коды для всех объектов, с которыми он работает. Однако реализацию такого удобства, а значит, и работу объектно-ориентированных систем могут осуществить только достаточно мощные компьютеры.