Операционная система, программное обеспечение ПК

Понятие операционной системы и ее расположения в общей структуре компьютера. Классификация операционных систем, их основные функции. Понятие вычислительного процесса и ресурса. Электронная таблица Excel. Назначение и возможности электронной таблицы.

Рубрика Программирование, компьютеры и кибернетика
Вид шпаргалка
Язык русский
Дата добавления 14.06.2010
Размер файла 294,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

В качестве активного элемента управления выступает указатель мыши - графический объект, перемещение которого на экране синхронизировано с перемещением мыши.

В качестве пассивных элементов управления выступают графические элементы управления приложений (экранные кнопки, значки, переключатели, флажки, раскрывающиеся списки, строки меню и многие другие).

Характер взаимодействия между активными и пассивными элементами управления выбирает сам пользователь. В его распоряжении приёмы наведения указателя мыши на элемент управления, щелчки кнопками мыши и другие средства.

Билет № 17 Понятие операционной системы. Функции ОС. Операционная система как менеджер ресурсов

Операционная система -- программа, которая загружает ПК и работает напрямую с аппаратными частями ПК, является транслятором (переводчиком) с человеческого языка на машинный.

Без Операционной системы ПК функционировать не может.

Операционная система обеспечивает совместное функционирование всех устройств ПК и предоставляет пользователю доступ к его ресурсам.

WINDOWS 95, WINDOWS 98, WINDOWS ME, WINDOWS XP.

Состав Операционной системы:

19) Программный модуль, управляющий файлами.

20) Командный процессор (выполняет команды пользователя).

21) Программы, обеспечивающие управление работой различных устройств (ввода, вывода, хранения).

22) Графический модуль.

23) Справочная система.

24) Приложения.

Функции операционной системы.

· Управление работой каждого блока ПК и их взаимодействием

· Управление выполнением программ

· Организацию хранения информации во внешней памяти

· Взаимодействие пользователя с компьютером, т.е. поддержку интерфейса пользователя

Управление ресурсами (процессор, память)

Все прикладные программы используют процессор и оперативную память.

Процессор одновременно может обслуживать только одну программу. В многозадачной среде операционная система разбивает весь временной интервал работы процессора на отдельные периоды - кванты времени и распределяет их по программам.

Объем оперативной памяти компьютера также ограничен и не всегда возможно разместить в ней все выполняемые программы и данные. Поэтому операционная система постоянно перераспределяет память во время выполнения программ, с тем чтобы оптимизировать ее использование.

Таким образом операционная система регулирует использование всех аппаратных ресурсов с целью обеспечения максимальной производительности компьютера.

Менеджер ресурсов xrdb

xrdb [option] filename

основные опции:

-load ресурсы загружаемые из файла перезаписывают существующие

-merge ресурсы загружаемые из файла объединяются с существующими

-remove ресурсы указанные в файле удаляются из собственности менеджера

ресурсов.

-edit поместить ресурсы собственности менеджера в файл

Для задания ресурсов используют строку вида:

[client_name] * resource: value

или

[client_сlass] * resource: value

Чтобы несколько программ могло работать с одним ресурсом (процессор, память), необходима система управления ресурсами.

Способы распределения ресурса:

· Временной - когда программы используют его по очереди, например, так система управляет процессором.

· Пространственный - программа получает часть ресурса, например, так система управляет оперативной памятью и жестким диском.

Билет № 18 Понятие операционной системы. Структура операционных систем

Операционная система -- программа, которая загружает ПК и работает напрямую с аппаратными частями ПК, является транслятором (переводчиком) с человеческого языка на машинный.

Без Операционной системы ПК функционировать не может.

Операционная система обеспечивает совместное функционирование всех устройств ПК и предоставляет пользователю доступ к его ресурсам.

WINDOWS 95, WINDOWS 98, WINDOWS ME, WINDOWS XP.

Состав Операционной системы:

25) Программный модуль, управляющий файлами.

26) Командный процессор (выполняет команды пользователя).

27) Программы, обеспечивающие управление работой различных устройств (ввода, вывода, хранения).

28) Графический модуль.

29) Справочная система.

30) Приложения.

Структура ОС

Монолитная система

Структура системы:

1. Главная программа, которая вызывает требуемые сервисные процедуры.

2. Набор сервисных процедур, реализующих системные вызовы.

3. Набор утилит, обслуживающих сервисные процедуры.

В этой модели для каждого системного вызова имеется одна сервисная процедура (например, читать из файла). Утилиты выполняют функции, которые нужны нескольким сервисным процедурам (например, для чтения и записи файла необходима утилита работы с диском).

Этапы обработки вызова:

· Принимается вызов

· Выполняется переход из режима пользователя в режим ядра

· ОС проверяет параметры вызова для того, чтобы определить, какой системный вызов должен быть выполнен

· После этого ОС обращается к таблице, содержащей ссылки на процедуры, и вызывает соответствующую процедуру.

Многоуровневая структура ОС

Обобщением предыдущего подхода является организация ОС как иерархии уровней. Уровни образуются группами функций операционной системы - файловая система, управление процессами и устройствами и т.п. Каждый уровень может взаимодействовать только со своим непосредственным соседом - выше- или нижележащим уровнем. Прикладные программы или модули самой операционной системы передают запросы вверх и вниз по этим уровням.

Преимущества:

· Высокая производительность

Недостатки:

· Большой код ядра, и как следствие большое содержание ошибок

· Ядро плохо защищено от вспомогательных процессов

Билет № 19 Развитие операционных систем. Управление памятью. Основное управление памятью

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время. Появились первые системы пакетной обработки (1955-1965г.г.), которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий.

Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.

Спулинг (spooling-подкачка) в то время задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.

Системы разделения времени - вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

Сетевая операционная система не имеет отличий от операционной системы однопроцессорного компьютера. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств (драйвер сетевого адаптера), а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным файлам.

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

В 1987г. была выпущена операционная система MINIX (прототип LINUX), она была построена на схеме микро ядра.

В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

Под памятью (memory) здесь подразумевается оперативная память компьютера. В отличие от памяти жесткого диска, которую называют внешней памятью (storage), оперативной памяти для сохранения информации требуется постоянное электропитание.

Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Особая роль памяти объясняется тем, что процессор может выполнять инструкции протравы только в том случае, если они находятся в памяти. Память распределяется как между модулями прикладных программ, так и между модулями самой операционной системы.

В ранних ОС управление памятью сводилось просто к загрузке программы и ее данных из некоторого внешнего накопителя (перфоленты, магнитной ленты или магнитного диска) в память. С появлением мультипрограммирования перед ОС были поставлены новые задачи, связанные с распределением имеющейся памяти между несколькими одновременно выполняющимися программами.

Функциями ОС по управлению памятью в мультипрограммной системе являются:

· отслеживание свободной и занятой памяти;

· выделение памяти процессам и освобождение памяти по завершении процессов;

· вытеснение кодов и данных процессов из оперативной памяти на диск (полное или частичное), когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место;

· настройка адресов программы на конкретную область физической памяти.

Помимо первоначального выделения памяти процессам при их создании ОС должна также заниматься динамическим распределением памяти, то есть выполнять запросы приложений на выделение им дополнительной памяти во время выполнения. После того как приложение перестает нуждаться в дополнительной памяти, оно может возвратить ее системе. Выделение памяти случайной длины в случайные моменты времени из общего пула памяти приводит к фрагментации и, вследствие этого, к неэффективному ее использованию. Дефрагментация памяти тоже является функцией операционной системы.

Во время работы операционной системы ей часто приходится создавать новые служебные информационные структуры, такие как описатели процессов и потоков, различные таблицы распределения ресурсов, буферы, используемые процессами для обмена данными, синхронизирующие объекты и т. п. Все эти системные объекты требуют памяти»» В некоторых ОС заранее (во время установки) резервируется некоторый фиксированный объем памяти для системных нужд. В других же ОС используется более гибкий подход, при котором память для системных целей выделяется динамически. В таком случае разные подсистемы ОС при создании своих таблиц, объектов, структур и т. п. обращаются к подсистеме управления памятью с запросами.

Защита памяти -- это еще одна важная задача операционной системы, которая состоит в том, чтобы не позволить выполняемому процессу записывать или читать данные из памяти, назначенной другому процессу. Эта функция, как правило, реализуется программными модулями ОС в тесном взаимодействии с аппаратными средствами.

Билет № 20 Развитие и основные функции операционных систем. Подкачка. Виртуальная память

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время. Появились первые системы пакетной обработки (1955-1965г.г.), которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий.

Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.

Спулинг (spooling-подкачка) в то время задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.

Системы разделения времени - вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

Сетевая операционная система не имеет отличий от операционной системы однопроцессорного компьютера. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств (драйвер сетевого адаптера), а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным файлам.

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

В 1987г. была выпущена операционная система MINIX (прототип LINUX), она была построена на схеме микроядра.

В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

Функции операционной системы.

· Управление работой каждого блока ПК и их взаимодействием

· Управление выполнением программ

· Организацию хранения информации во внешней памяти

· Взаимодействие пользователя с компьютером, т.е. поддержку интерфейса пользователя

Подкачка

* Файл подкачки (swap-file, paging-file) - файл на жестком диске (pagefile.sys; имеет атрибуты Скрытый, Системный), используемый Windows для хранения частей программ и файлов данных, не помещающихся в оперативной памяти. По мере необходимости Windows перемещает данные из файла подкачки в оперативную память (для их использования программами) и обратно (для освобождения места для новых данных). Синонимы: своп-файл, свопинг-файл, файл виртуальной памяти.

* Виртуальная память - совокупность оперативной памяти и файла подкачки.

* Свопинг (swapping) - подкачка в оперативную память недостающей страницы виртуальной памяти, затребованной программой.

Виртуальная память -- технология, которая была разработана с целью увеличения общего объема памяти, организации множества адресных пространств памяти, их защиты и автоматизации процесса перемещения машинного кода и данных между основной памятью компьютера и вторичным хранилищем.

В настоящее время эта технология имеет аппаратную поддержку на всех современных процессорах.

В случае расположения данных на внешних запоминающих устройствах память может быть представлена, например, специальным разделом на жёстком диске (partition) или отдельным файлом на обычном разделе диска.

Также существует термин swap (англ. swap, /sw?p/) также означающий виртуальную память (точнее способ её представления), или же означает подкачку данных с диска.

Применение механизма виртуальной памяти позволяет:

· упростить адресацию памяти клиентским программным обеспечением;

· рационально управлять оперативной памятью компьютера (хранить в ней только активно используемые области памяти);

· изолировать процессы друг от друга (процесс полагает, что монопольно владеет всей памятью);

Билет № 21 Развитие и основные функции операционных систем. Ввод-вывод. Принципы аппаратуры ввода-вывода

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время. Появились первые системы пакетной обработки (1955-1965г.г.), которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий.

Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.

Спулинг (spooling-подкачка) в то время задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.

Системы разделения времени - вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

Сетевая операционная система не имеет отличий от операционной системы однопроцессорного компьютера. Она обязательно содержит программную поддержку для сетевых интерфейсных устройств (драйвер сетевого адаптера), а также средства для удаленного входа в другие компьютеры сети и средства доступа к удаленным файлам.

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

В 1987г. была выпущена операционная система MINIX (прототип LINUX), она была построена на схеме микро ядра.

В 1991г. была выпущена LINUX, в отличии от микроядерной MINIX она стала монолитной.

Чуть позже вышла FreeBSD (основой для нее послужила BSD UNIX).

Функции операционной системы.

· Управление работой каждого блока ПК и их взаимодействием

· Управление выполнением программ

· Организацию хранения информации во внешней памяти

· Взаимодействие пользователя с компьютером, т.е. поддержку интерфейса пользователя

Ввод-вывод.

В информатике, ввод/вывод (в англ. языке часто используется сокращение I/O) означает взаимодействие между обработчиком информации (например, компьютер) и внешним миром, который может представлять как человек, так и любая другая система обработки информации. Ввод -- сигнал или данные, полученные системой, а вывод -- сигнал или данные, посланные ею (или из нее). Термин также может использоваться как обозначение (или дополнение к обозначению) определенного действия: «выполнять ввод/вывод» означает выполнение операций ввода или вывода. Устройства ввода-вывода используются человеком (или другой системой) для взаимодействия с компьютером. Например, клавиатуры и мыши -- специально разработанные компьютерные устройства ввода, а мониторы и принтеры -- компьютерные устройства вывода. Устройства для взаимодействия между компьютерами, как модемы и сетевые карты, обычно служат устройствами ввода и вывода одновременно.

Принципы аппаратуры ввода-вывода.

Шина - вся совокупность линий по которым обмениваются информацией компоненты и устройства ПК. Шина предназначена только для двух устройств называется портом.

Шина имеет место для подключения внешних устройств.

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

По функциональному назначению шины бывают: системные, шина КЭШ памяти, шина памяти, шина в/в.

1) Системная шина - предназначена для пересылки информации к центральному процессору и обработки.

2) Шина КЭШ памяти - предназначена для обмена информацией между центральным процессором и КЭШ памятью.

3) Шина памяти используется для обмена информацией между оперативной памятью и центральным процессором

Шина в/в подразделяется на стандартную и локальную.

- локальная шина в/в - скоростная шина предназначенная для обмена информацией между быстродействующими периферийными устройствами.

- стандартная шина в/в предназначена для подключения к выше указанным шинам более медленных периферийных устройств (мыши, клавиатура).

Характеристики шины.

1) Разрядность - определяется числом параллельных проводников входящих в нее (первая шина состояла из восьми разрядов)

2) Пропускная способность шины определяется количеством байт информации передаваемые по шине за 1 секунду.

Внешние устройства подключаются к шинам по средствам интерфейса (сопряжения) представляющие собой совокупность различных характеристик какого-либо периферийного устройства, определяющие организацию обмена информации между ним и центральным процессором CPU. К числу таких характеристик относятся; электрические и временные характеристики (параметры), набор управляющих сигналов, протокол обмена данными, конструктивные особенности подключения. Обмен данными между компонентами ПК возможен, если интерфейс этих компонентов совместимы

Билет № 22 Развитие и основные функции операционных систем. Программные уровни ввода-вывода. Сравнительные возможности операционных систем

Программные уровни ввода-вывода. Сравнительные возможности операционных систем.

Уровни ввода-вывода

Обработчики прерываний

Прерывания должны быть скрыты как можно глубже в недрах операционной системы, чтобы как можно меньшая часть ОС имела с ними дело. Лучше всего блокировать драйвер, начавший ввод-вывод.

Алгоритм:

1. Драйвер начинает операцию ввод-вывод.

2. Драйвер блокирует сам себя,

3. - выполнив на семафоре процедуру down

4. - выполнив на переменной состояния процедуру wait

5. - выполнив на сообщении процедуру receive

6. Происходит прерывание

7. Обработчик прерываний начинает работу

8. Обработчик прерываний может разблокировать драйвер (например, выполнив на семафоре процедуру up)

Логическое расположение драйверов устройств

На самом деле обмен данными между контроллерами и драйверами идет по шине. Драйвера должны взаимодействовать с ОС через стандартные интерфейсы.

Стандартные интерфейсы, которые должны поддерживать драйвера:

· Для блочных устройств

· Для символьных устройств

Раньше для установки ядра приходилось перекомпилировать ядра системы.

Сейчас в основном ОС загружают драйверы. Некоторые драйверы могут быть загружены в горячем режиме.

Функции, которые выполняют драйвера:

· обработка запросов чтения или записи

· инициализация устройства

· управление энергопотреблением устройства

· прогрев устройства (сканера)

· включение устройства или запуска двигателя

Независимое от устройств программное обеспечение ввода-вывода

Функции независимого от устройств программного обеспечения ввода-вывода:

· Единообразный интерфейс для драйверов устройств,

· Буферизация

· Сообщения об ошибках

· Захват и освобождение выделенных устройств (блокирование)

· Размер блока, не зависящий от устройств

Единообразный интерфейс для драйверов устройств

Кроме интерфейса, в него также входят проблемы,

· именование устройств

· защита устройств

Буферизация

Рассмотрим несколько примеров буферизации.

a) Не буферизованный ввод - после ввода каждого символа происходит прерывание

b) Буферизация в пространстве пользователя - приходится держать загруженными необходимые страницы памяти в физической памяти.

c) Буферизация в ядре с копированием в пространство пользователя - страница загружается только когда буфер ядра полный, данные из буфера ядра в буфер пользователя копируется за одну операцию. Проблема может возникнуть, когда буфер ядра полный, а страница буфера пользователя еще не загружена.

d) Двойная буферизация в ядре - если один буфер заполнен, и пока он выгружается, символы пишутся во второй буфер.

Сообщения об ошибках

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

Захват и освобождение выделенных устройств

Для устройств (принтер) с которыми должен работать в одно время только один процесс, необходима возможность захвата и освобождения устройств. Когда один процесс занял устройство, остальные встают в очередь.

Независимый от устройств размер блока

Размер блока должен быть одинаковый для верхних уровней, и не зависеть от устройств (размеров секторов на диске).

Программное обеспечение ввода-вывода пространства пользователя

Функции этого обеспечения:

· Обращение к системным вызовам ввода-вывода (через библиотечные процедуры).

· Форматный ввод-вывод (меняют формат, например, в ASCII)

· Спулинг (для выделенных устройств) - создается процесс (например, демон печати) и каталог спулера.

Обобщение уровней и функций ввода-вывода

Уровни и основные функции системы ввода-вывода

Билет № 23 Состав ОС: внутренние (встроенные) и внешние (программы-утилиты) команды: История операционных систем

История ОС

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время. Появились первые системы пакетной обработки (1955-1965г.г.), которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий.

Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.

Спулинг (spooling-подкачка) в то время задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.

Системы разделения времени - вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

Состав ОС

Утилиты ОС

Внешние команды (утилиты) содержаться на дисках в виде отдельных файлов, и поэтому командный интерпретатор должен для выполнения такой команды сначала найти ее на диске, ориентируясь на имя команды, совпадающее с именем программного файла. Эти программы выполняют действия обслуживающего характера, например, форматирование дискет, проверку дисков и т.д. и находятся обычно в каталоге DOS или в подкаталоге COMMAND каталога WINDOWS. Остановимся более подробно на утилитах обслуживания жесткого диска.

1. Разбиение физического диска на несколько логических (FDISK).

На фирме-изготовителе жестких дисков выполняют предварительную проверку поверхности диска на наличие сбойных участков, так называемое низкоуровневое форматирование (Low Level Format). В дальнейшем пользователь при необходимости создания нескольких логических дисков на одном физическом диске (для разграничения доступа различных пользователей, при использовании различных операционных систем, для повышения степени защищенности компьютера от вирусов, при отсутствии программ поддержки больших дисков) разбивает диск на несколько логических разделов (partitions), один из которых является глобальным, а остальные - локальными.

2. Форматирование дисков (FORMAT в DOS и WINDOWS и SFORMAT в Norton Utilites).

Различают форматирование низкого и высокого уровня.

При форматировании низкого уровня происходит разбивка диска на кольцевые дорожки (треки) и радиальные сектора по 512 байт, установка секторных меток (как правило, жесткие диски проходят форматирование низкого уровня на заводе-изготовителе).

При форматировании высокого уровня производится определение на диске двух областей: системной (System) и области данных (Data). В системной области заносятся: Master Boot Record (MBR - Главная загрузочная запись, у дискет отсутствует), Boot Record (BR - Загрузочная запись), две копии File Allocation Table (FAT - Таблица размещения файлов), Root Directory (корневой каталог). Также производится тестирование поверхности диска. Сбойные (например, размагниченные) участки отмечаются в FAT.

При форматировании гибких дисков (дискет) и низкоуровневое и высокоуровневое форматирование проводится одновременно.

Внутренние команды

Внутренние команды наиболее часто используются и поэтому содержатся непосредственно в самом командном интерпретаторе - файле COMMAND.COM и выполняются немедленно. К внутренним командам DOS относятся:

CLS - очистка экрана,

DATE - установка текущей даты,

TIME - установка текущего времени,

DIR - вывод оглавления каталога,

VER - вывод на экран установленной версии DOS,

CD - смена каталога,

COPY - копирование файлов,

DEL - удаление файлов,

REN - переименование файлов,

TYPE - вывод на экран содержимого файла,

VERIFY - проверка правильности операций ввода/вывода информации на дисках,

REM - вводит комментарий в командной строке.

Исполняемые файлы типа COM не требуют настройки адресов после их загрузки в ОЗУ, а программы типа EXE при загрузке с диска в ОЗУ нужно настроить по месту размещения, то есть задать соответствующие адреса сегментов.

При загрузке в ОЗУ командный процессор распадается на две области: резидентную, которая располагается вслед за модулями ОС, и нерезидентную, которая располагается на старших адресах ОЗУ. Резидентная часть содержит подпрограммы стандартной обработки прерываний с десятичными номерами 34 - 36 - теми, которые разработчик прикладной системы может переопределить по-своему. Здесь же находится программа подзагрузки нерезидентной части в ОЗУ. Кроме того, в состав резидентной части входит подпрограмма инициализации, которая обрабатывает файл AUTOEXEC.BAT при запуске машины в MS DOS и файл WIN.INI при запуске машины в WINDOWS. Нерезидентная часть включает программу обработки команд ОС, поступающих с терминала или из командных файлов. В нерезидентную часть входит загрузчик внешних программ, задачей которого является чтение очередной программы с диска в оперативную память, настройка адресов и переход на ее исполнение. Поскольку нерезидентная часть командного процессора располагается на старших адресах оперативной памяти, любая прикладная программа, загружаемая на младшие адреса, может частично или полностью занять и "затереть" эту область памяти. По окончании такой программы управление всегда возвращается в резидентную часть командного процессора, который в этом случае пытается восстановить затертую нерезидентную часть, загружая ее с системного диска.

Подпрограмма инициализации располагается в конце резидентной части командного процессора. Поскольку она срабатывает лишь один раз при запуске машины, занимаемая ею память может быть использована прикладными программами; поэтому первая же прикладная программа размещается в ОЗУ на месте этой подпрограммы, что позволяет экономно использовать оперативную память.

Загружаемые модулем COMMAND.COM пользовательские (прикладные) программы и программы-оболочки (типа NORTON COMMANDER, DOS NAVIGATOR или PC TOOLS), обеспечивающие более удобный и наглядный способ общения с ПК, выполняют все необходимые графические, текстовые и расчетные работы, а также реализуют утилиты MS DOS, WINDOWS или Нортона.

Файлы IO.SYS, MSDOS.SYS и COMMAND.COM, программа-загрузчик ОС Boot Record и BIOS, входящие в базовое программное обеспечение (операционную систему) ПК, составляют минимально необходимый набор программ для работы компьютера. Диск, который содержит набор этих программ (за исключением BIOS, которая "вшита" в микросхему на Материнской плате), называется загрузочным или системным. С такого диска можно запустить (загрузить) компьютер в случае выхода из строя жесткого диска с операционной системой.

Билет № 24 История операционных систем. Структура операционной системы MS Windows

История ОС

Первые (1945-1955г.г.) компьютеры работали без операционных систем, как правило, на них работала одна программа.

Когда скорость выполнения программ и их количество стало увеличиваться, простои компьютера между запусками программ стали составлять значительное время. Появились первые системы пакетной обработки (1955-1965г.г.), которые просто автоматизировали запуск одной программ за другой и тем самым увеличивали коэффициент загрузки процессора. Системы пакетной обработки явились прообразом современных операционных систем. Совокупность нескольких заданий, как правило, в виде колоды перфокарт, получила название пакета заданий.

Многозадачность (1965-1980) - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько задач. Пока одна задача выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при последовательном выполнении задач , а выполняет другую задачу. Для этого создали систему распределения памяти, когда каждая задача загружается в свой участок оперативной памяти, называемый разделом.

Спулинг (spooling-подкачка) в то время задания считывались с перфокарт на диск в том темпе, в котором они появлялись в помещении вычислительного центра, а затем, когда очередное задание завершалось, новое задание с диска загружалось в освободившийся раздел.

Системы разделения времени - вариант многозадачности, при котором у каждого пользователя есть свой диалоговый терминал. Это было сделано, чтобы каждый программист мог отлаживать свою программу в реальном времени. Фактически это была многопользовательская система. Естественно стали возникать проблемы защиты задач друг от друга.

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

В это время также стали бурно развиваться мини-компьютеры (первый был выпущен в 1961г.), на которые была перенесена система MULTICS. Эта работа в дальнейшем развилась в систему UNIX.

Появилось много разновидностей несовместимых UNIX, основные из них были System V и BSD. Чтобы было возможно писать программы, работающие в любой системе UNIX, был разработан стандарт POSIX. Стандарт POSIX определяет минимальный интерфейс системного вызова, который должны поддерживать системы UNUX.

В 1974г. был выпущен центральный процессор Intel 8080, для него была создана операционная система CP/M. В 1977г. она была переработана для других процессоров, например Zilog Z80.

В начале 80-х была разработана система MS-DOS, и стала основной системой для микрокомпьютеров.

В 80-х годах стало возможным реализовать графический интерфейс пользователя (GUI - Graphical User Interface), теория которого была разработана еще в 60-е годы. Первой реализовала GUI корпорация Macintosh.

С 1985 года стала выпускаться Windows, в то время она была графической оболочкой к MS-DOS вплоть до 1995г., когда вышла Windows 95.

Уже тогда было ясно, что DOS с ее ограничениями по памяти и по возможностям файловой системы не может воспользоваться вычислительной мощностью появляющихся компьютеров. Поэтому IBM и Microsoft начинали совместно разрабатывать операционную систему OS/2. Она должна была поддерживать вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс, виртуальную машину для выполнения DOS-приложений. Первая версия вышла 1987г.

В дальнейшем Microsoft отошла от разработки OS/2, и стала разрабатывать Windows NT. Первая версия вышла в 1993г.

В середине 80-х стали бурно развиваться сети персональных компьютеров, работающие под управлением сетевых или распределенных операционных систем.

Структура операционной системы MS Windows.

Общая структура приложения Windows

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

При написании любых программ для Windows необходим включаемый файл windows.h. В нем содержатся прототипы всех функций Windows, определены типы и структуры данных, глобальные переменные и константы.

Как уже отмечалось выше, приложение Windows содержит, по крайней мере, два принципиально важных модуля:

Функция WinMain();

Функция WndProc().

Функция WinMain

Подобно функции main обычной программы на Си, функция WinMain обязана присутствовать в каждом приложении Windows. Функции WinMain передается управление в начальный момент загрузки приложения. Перечислим действия, выполняемые WinMain:

регистрация класса окна приложения и другие инициализации;

создание главного окна приложения и, возможно, других, подчиненных окон;

запуск цикла обработки сообщений, помещаемых в очередь приложения;

завершение работы приложения при извлечении из очереди сообщения WM_QUIT.

Шаблон функции WinMain выглядит так:

int PASCAL WinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow)

HANDLE hInstance; // дескриптор текущей копии

HANDLE hPrevInstance; // предыдущая копия

LPSTR lpCmdLine; // указатель на командную строку

int nCmdShow; // флаг “окно_открыто/окно_закрыто

{ }

Функция WinMain имеет четыре параметра. Первый параметр - hInstance - является дескриптором копии приложения. Это число однозначно определяет каждую копию приложения, исполняемую под Windows. Можно одновременно выполнять несколько копий одного приложения, при этом каждой копии будет соответствовать уникальный индекс.

Второй параметр - hPrevInstance - является дескриптором, определяющим копию данного приложения, которая была последней активной копией. Если параметр hPrevInstance равен нулю, других копий этого приложения не существует.

Третий параметр - lpCmdLine - это дальний указатель на командную строку, оканчивающуюся нулем. Он позволяет приложению получать данные через командную строку.

Четвертый параметр - nCmdShow - определяет, как приложение первоначально отображается на дисплее: пиктограммой (nCmdShow = SW_SHOWMINNOACTIVE) или в виде открытого окна (nCmdShow = SW_SHOWNORMAL).

Работа с копиями приложения

В Windows можно несколько раз запустить одну и ту же программу. Известно, что в выполняемом модуле программы код и данные разделены (расположены в разных сегментах). В Windows при вторичном запуске той же программы в оперативную память не загружается секция, содержащая код программы, а просто организуется второй сегмент данных, соответствующий второму запуску программы. С этим сегментом работает физически тот же код программы, что и первый.

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

Для того, чтобы отличить одну копию данных от другой той же программы, каждой копии программы Windows ставит в соответствие уникальный дескриптор копии приложения (instance handle). Соответствующую целочисленную переменную hInstance Windows передает функции WinMain при вызове в качестве одного из обязательных параметров. Другим обязательным параметром является также целочисленный параметр hPrevInstance, который позволяет копии программы в процессе работы определить, первая она или нет. При запуске первой копии Windows присваивает hPrevInstance значение нуль.

Дело в том, что первая копия программы в памяти играет особую роль. Поскольку многие создаваемые приложением ресурсы (например, классы окон) становятся доступными всем остальным приложениям, только первая копия программы должна создавать новые ресурсы. Все последующие копии могут воспользоваться уже созданными ресурсами, не создавая своих собственных.

Если по логике программы запуск двух ее копий нежелателен или не допустим, то можно запретить запуск второй копии, поместив в функцию WinMain проверку:

if (hPrevInstance) return NULL;

Билет № 25 Программирование в MS Windows: Программный интерфейс Win32 API

Программирование -- создание компьютерных программ с помощью языков программирования.

В общем смысле слова, программирование - формализация/формулизация предопределенного/предсказуемого состояния, по реакции на событие, реализуемого средствами математики или естественных наук.

В узком смысле слова, программирование рассматривается как кодирование алгоритмов на заданном языке программирования. Под программированием также может пониматься разработка логической схемы для ПЛИС, а также процесс записи информации в ПЗУ. В более широком смысле программирование -- процесс создания программ, то есть разработка программного обеспечения.

Программирование включает в себя:


Подобные документы

  • Возникновение операционных систем, история их эволюционного развития. Совершенствование прикладного программного интерфейса. Создание и функции резидентного монитора. Основное назначение и роль операционной системы. Программная конфигурация компьютера.

    презентация [67,6 K], добавлен 24.10.2012

  • Операционная система - программа, которая загружается при включении компьютера. Способы реализации интерфейса и классификация операционных систем. Организация файловой системы, типы файлов и их наименования. Понятие каталога, атрибуты файловой системы.

    реферат [16,6 K], добавлен 25.02.2011

  • Операционная система: назначение и классификация. Общая характеристика и основные механизмы операционной системы Windows. Средства подготовки текстовых документов в Windows. Понятие самораспаковывающегося и многотомного архивов, файловой системы.

    реферат [20,0 K], добавлен 05.10.2011

  • Общая функциональная схема компьютера. Назначение, основные характеристики устройств. Назначение, основные функции операционной системы. Работа с файлами. Ввод и вывод данных. Состав и назначение программного обеспечения компьютера. Носители информации.

    методичка [36,2 K], добавлен 05.10.2008

  • Сущность и назначение программного обеспечения - совокупности программ, управляющих работой компьютера или автоматизированной системы. Функции операционной системы - набора взаимодействующих программ, обеспечивающих работу (функционирование) компьютера.

    контрольная работа [294,8 K], добавлен 18.01.2011

  • Программное обеспечение компьютера: понятие и содержание, классификация и типы. Назначение и особенности структуры операционной системы, ее формы. Файлы и файловая система. Принципы действия вирусов и антивирусных программ. Системы программирования.

    курсовая работа [199,1 K], добавлен 15.02.2012

  • Общая характеристика операционной системы, ее назначение и ключевые функции. Эволюция и классификация ОС. Работа с таблицами в среде MS Office Excel 2003. Расчет и формирование ведомости зарплаты сотрудников. Порядок построения круговой диаграммы.

    курсовая работа [81,0 K], добавлен 25.04.2013

  • Общее понятие о Microsoft Excel. Главное назначение таблицы. Процесс составления таблицы в Excel, правила оформления. Основные способы выделения. Формулы, главные особенности их применения. Использование сводной таблицы в бухгалтерии и экономике.

    контрольная работа [526,0 K], добавлен 29.12.2012

  • Понятие, характеристика и основные функции операционной системы (ОС). История создания и развития ОС, их разновидности. Исходные данные для расчета заработной платы организации. Описание алгоритма решения задачи. Тенденции развития ОС в будущем.

    курсовая работа [2,4 M], добавлен 23.04.2013

  • Понятие и функции операционной системы. Основная особенность операционных систем реального времени. Работа с электронными таблицами. Фильтрация записей в таблице MS Excel. Установка пользовательского автофильтра в оборотную ведомость движения товаров.

    контрольная работа [547,8 K], добавлен 21.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.