Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение:

Операционная система - это программа, которая служит посредником между пользователем и компьютером. Она производит диалог с пользователем, осуществляет управление компьютером, его ресурсами (оперативной памятью, местом на дисках и т.д.), запускает другие (прикладные) программы на выполнение. Таким образом, операционная система – это набор программ, контролирующих работу прикладных программ и системных приложений и исполняющих роль интерфейса между пользователями, программистами, прикладными программами, системными приложениями и аппаратным обеспечением компьютера. Она опирается на базовое программное обеспечение – базовую систему ввода-вывода BIOS (Base Input-Output System). Программы, работающие под управлением операционной системы, называются приложениями. Под ресурсами вычислительной системы понимаются объем оперативной памяти, процессорное время, объем внешней памяти, внешние устройства.

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

В качестве ресурсов компьютера обычно рассматривают:

  • — время работы процессора;
  • — адресное пространство основной памяти;
  • — оборудование ввода-вывода;
  • — файлы, хранящиеся во внешней памяти.

В функции операционной системы входит:

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

Осуществление диалога с пользоватилем:

Для общения с пользователем операционная система исользует интерфейс.

Существует несколько вариантов интерфейса.

ПРОГРАММНЫЙ – совокупность средств, обеспечивающих взаимодействие устройств и программ в рамках ЭВМ.

ПОЛЬЗОВАТЕЛЬСКИЙ – совокупность программных и аппаратных средств взаимодействия пользователя с программой или ЭВМ

КОМАНДНОСТРОЧНЫЙ - предлагает ввод пользователем команд с клавиатуры при выполнении действий по управлению ресурсами ЭВМ. (MS DOS,)

ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ - предполагает управление ресурсами компьютера посредством осуществления операций над объектами. (Windows, OS/2)

Управление вводом/выводом

Чтобы дать программам возможность обмена данными с внешними устройствами и при этом не включать в каждую программу соответствующий код, осуществляющий управление устройствами ввода/вывода, привела разработчиков к созданию системного программного обеспечения и, в частности, самих операционных систем. Подпрограммы ввода/вывода оформляли в виде системных библиотечных процедур и включили в операционную систему, чтобы не включать этот код в каждую программу, а только оформить обращение к тому или иному коду. Управление вводом/выводом – одна из основных функций любой операционной системы. Ввод и вывод во всех операционных системах похожи, а реализация сильно отличается от каждой системы. Проблема усугубляется ещё тем, что в большинстве используемых систем эти моменты вообще, как правило, подробно не описаны, и исключение по этому вопросу касается только системы Linux, для которой имеются комментированные исходные тексты. Детально описываются функции API (application program interface – Интерфейс прикладного программирования), реализующие ввод/вывод. Поэтому рассмотрим только основные идеи и концепции.

Сложность проектирования ввода/вывода связана с большим числом устройств различного назначения.

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

Для мультипрограммных ОС одним из основных видов ресурсов являются устройства ввода/вывода и обслуживающие их программы. ОС должны управлять разделяемыми и неразделяемыми устройствами и позволять параллельно выполняющимися задачам использовать различные устройства ввода/вывода. Примером разделяемого устройства может служить устройство для чтения компакт-дисков. Это устройство с прямым доступом. Пример неразделяемых устройств – принтер. Это устройство с последовательным доступом.

Непосредственное обращение к внешним устройствам из пользовательских программ не разрешено по трем причинам:

  • возможные конфликты при доступе к устройствам ввода/вывода. Например, две параллельно выполняющиеся программы пытаются вывести на печать результаты своей работы. Если не предусмотреть внешнее управление устройством печати, то в результате мы можем получить абсолютно нечитаемый текст, так как каждая программа будет время от времени выводить свои данные, которые будут перемежаться данными другой программы. Другой пример: ситуация, когда одной программе необходимо прочитать данные с некоторого сектора магнитного диска, а другой – записать результаты в другой сектор того же накопителя. Если операции ввода/вывода не будут отслеживаться каким-то третьим (внешним) процессом-арбитром, то после позиционирования магнитной головки для первого запроса может тут же появиться команда позиционирования головки для второй задачи, и обе операции ввода/вывода не смогут быть выполнены корректно;
  • снижение эффективности использования этих ресурсов. Например, у накопителя на магнитных дисках время подвода головки чтения/записи к необходимой дорожке и обращение к определенному сектору может значительно (до тысячи раз) превышать время пересылки данных. В результате, если задачи по очереди обращаются к цилиндрам, далеко отстоящим друг от друга, то полезная работа, выполняемая накопителем, может быть существенно снижена;
  • ошибки в программах ввода/вывода могут привести к разрушению системы.

Компонента ОС, выполняющая ввод/вывод называется супервизором ввода/вывода. Основные задачи супервизора следующие:

  • получение, проверка на корректность и выполнение запросов на ввод/вывод от прикладных задач и от модулей самой системы. Иначе говоря, супервизор ввода/вывода получает запросы на ввод/вывод от прикладных задач и от программных модулей самой операционной системы. Эти запросы проверяются на корректность, и если запрос выполнен по спецификациям и не содержит ошибок, он обрабатывается дальше, в противном случае пользователю (задаче) выдается соответствующее диагностическое сообщение о недействительности (некорректности) запроса;
  • планирование ввода/вывода: выполнение или постановка в очередь, т.е. супервизор ввода/вывода определяет очередность предоставления устройств ввода/вывода задачам, затребовавшим их;
  • инициирование ввода/вывода. Т.е. супервизор ввода/вывода передаёт управление соответствующим драйверам и в случае управления вводом/выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение;
  • при получении сигналов прерывания передача управления соответствующей программе обработки прерывания;
  • передача сообщений об ошибках, если они появляются;
  • передача сигнала о завершении операции ввода/вывода, т.е. супервизор ввода/вывода посылает сообщения о завершении операции ввода/вывода запросившему эту операцию процессу и снимает его с состояния ожидания ввода/вывода, если процесс ожидал завершения операции.

Имеются два основных режима ввода/вывода:

  • режим обмена с опросом готовности;
  • режим обмена с прерываниями.

Пусть для простоты управление вводом/выводом осуществляет центральный процессор (в этом случае часто говорят о наличии программного канала обмена данными между внешними устройством и оперативной памятью, в отличие от канала прямого доступа к памяти, при котором управление вводом/выводом осуществляет специальное дополнительное оборудование). Центральный процессор посылает устройству управления команду выполнить некоторое действие устройству ввода/вывода. Последнее исполняет

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

Итак, в режиме опроса готовности драйвер, управляющий процессом обмена данными с внешним устройством, выполняет в цикле команду «поверить готовность устройства». Центральный процессор в таком режиме используется нерационально.

Гораздо выгоднее, выдав команду ввода/ вывода, на время забыть об устройстве ввода/вывода и перейти на выполнение другой программы. А появление сигнала готовности трактовать как запрос на прерывание от устройства ввода/вывода.

Режим обмена с прерываниями по своей сути является режимом асинхронного управления. Для того чтобы не потерять связь с устройством (после того как процессор выдал очередную команду по управлению обменом данными и переключился на выполнение других программ), может быть запущен отсчёт времени, в течение которого устройство обязательно должно выполнить команду и выдать таки сигнал запроса на прерывание. Если это время истекло после выдачи устройству очередной команды, а устройство так и не ответило, то делается вывод о том, что связь с устройством потеряна и управлять им больше нет возможности. Пользователь и/или задача получают соответствующее диагностическое сообщение.

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

Секция запуска инициирует операцию ввода/вывода. Эта секция запускается для включения устройства ввода/вывода либо просто для инициации очередной операции ввода/вывода.

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

Секция завершения обычно выключает устройство ввода/вывода либо просто завершает операцию.

Управление операциями ввода/вывода в режиме прерываний, требует больших усилий со стороны системных программистов – такие программы создавать сложнее, чем те, что работают в режиме опроса готовности. Примером тому может служить ситуация с драйверами, обеспечивающими печать. Так, в ОС Windows (а именно в Windows 9x) драйвер печати через параллельный порт работает не в режиме с прерываниями, как это сделано в других ОС, а в режиме опроса готовности, что приводит к 100%-й загрузке центрального процессора на всё время печати. При этом, естественно, выполняются и другие задачи, запущенные на исполнение, но исключительно за счёт того, что ОС Windows реализует вытесняющую мультизадачность и время от времени прерывает процесс управления печатью и передаёт центральный процессор остальным задачам.

Рассмотрим основные системные таблицы ввода/вывода.

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

Исходя из принципа управления вводом/выводом через супервизор ОС и учитывая, что драйверы устройств ввода/вывода используют механизм прерываний для установления обратной связи центральной части с внешними устройствами, можно сделать вывод о необходимости создания, по крайней мере, трёх системных таблиц.

Первая таблица (или список) содержит информацию обо всех устройствах ввода/вывода, подключенных к вычислительной системе. Это таблица оборудования (equipment table), а каждый элемент этой таблицы называетсяUCB (unit control block, блок управления устройством ввода/вывода). Каждый элемент UCB таблицы оборудования, как правило, содержит следующую информацию об устройстве:

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

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

Вторая таблица предназначена для реализации ещё одного принципа виртуализации устройств ввода/вывода – независимости от устройства. Желательно, чтобы программист не был озабочен учётом конкретных параметров (и/или возможностей) того или иного устройства ввода/вывода, которое установлено (или не установлено) в компьютер. Для него должны быть важны только самые общие возможности, характерные для данного класса устройств ввода/вывода, ко­торыми он желает воспользоваться. Например, принтер должен уметь выводить (печатать) символы или графическое изображение. А накопитель на магнитных дисках – считывать или записывать по указанному адресу (в координатах C-H-S1) порцию данных. Хотя чаще всего программист и не использует прямую адресацию при работе с магнитными дисками, а работает на уровне файловой системы. Однако в таком случае уже разработчики файловой системы не должны зависеть от того, накопитель какого конкретного типа и модели, а также какого производителя используется в данном конкретном компьютере. Важным должен быть только сам факт существования накопителя, имеющего некоторое количество цилиндров, головок чтения/записи и секторов на дорожке магнитного диска. Упомянутые значения количества цилиндров, головок и секторов должны быть взяты из элемента таблицы оборудования. При этом для программиста также не должно иметь значения, каким образом то или иное устройство подключено к вычислительной системе, а не только какая конкретная модель устройства используется. Поэтому в запросе на ввод/вывод программист указывает именно логическое имя устройства. Действительное устройство, которое сопоставляется виртуальному (логическому), выбирается супервизором с помощью таблицы, о которой идет речь. Итак, способ подключения устройства, его конкретная модель и соответствующий ей драйвер содержатся в уже рассмотренной таблице оборудования. Но для того, чтобы связать некоторое виртуальное устройство, использованное программистом при создании приложения с системной таблицей, отображающей информацию о том, какое конкретно устройство и каким образом подключено к компьютеру, используется вторая системная таблица – таблица описания виртуальных логических устройств (DRT, device reference table). Назначение второй таблицы – установление связи между виртуальными (логическими) устройствами и реальными устройствами, описанными посредством первой таблицы оборудования. Другими словами, вторая таблица позволяет супервизору перенаправить запрос на ввод/вывод из приложения на те программные модули и структуры данных, которые (или адреса которых) хранятся в соответствующем элементе первой таблицы. Во многих многопользовательских системах такая таблица не одна, а несколько: одна общая и по одной – на каждого пользователя, что позволяет строить необходимые связи между логическими (символьными) именами устройств и реальными физическими устройствами, которые имеются в системе.

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

В современных сложных ОС имеется гораздо больше системных таблиц или списков, используемых для организации процессов управления операциями ввода/вывода. Например, одной из возможных и часто реализуемых информационных структур, сопровождающих практически каждый запрос на ввод/вывод, является блок управления данными (data control block, DCB). Назначение этого DCB – подключение препроцессоров к процессу подготовки данных на ввод/вывод, то есть учет конкретных технических характеристик и используемых преобразований. Это необходимо для того, чтобы имеющееся устройство получало не какие-то непонятные ему коды либо форматы данных, которые не соответствуют режиму его работы, а коды, созданные специально под данное устройство и используемый в настоящий момент формат представления данных.

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

Последний по логическому (виртуальному) имени с помощью таблицы DRT находит соответствующий элемент UCB в таблице оборудования. Если устройство уже занято, то описатель задачи, запрос которой сейчас обрабатывается супервизором ввода/вывода, помещается в список задач, ожидающих настоящее устройство. Если же устройство свободно, то супервизор ввода/вывода определяет из UCB тип устройства и при необходимости запускает препроцессор, позволяющий получить последовательность управляющих кодов и данных, которую сможет правильно понять и отработать устройство (действие 3). Когда «программа» управления операцией ввода/вывода будет готова, супервизор ввода/вывода передаст управление соответствующему драйверу на секцию запуска (действие 4). Драйвер инициализирует операцию управления, обнуляет счётчик тайм-аута и возвращает управление супервизору (диспетчеру задач) с тем, чтобы он поставил на процессор готовую к исполнению задачу (действие 5). Система работает своим чередом, но когда устройство ввода/вывода отработает посланную ему команду, оно выставляет сигнал запроса на прерывания, по которому через таблицу прерываний управление передаётся на секцию продолжения (действие 6). Получив новую команду, устройство вновь начинает её обрабатывать, а управление процессором опять передаётся диспетчеру задач, и процессор продолжает полезную работу. Таким образом, получается параллельная обработка задач, на фоне которой процессор осуществляет управление операциями ввода/вывода.

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

Распределение ресурсов:

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

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

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

  • он свободен и в системе нет запросов от задач более высокого приоритета к этому же ресурсу.
  • текущий запрос и ранее выданные запросы допускают совместное использование ресурса.
  • ресурс используется задачей низшего приоритета и может быть временно отобран  (разделяемый ресурс).

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

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

При выдаче запроса на ресурс задача может указать, хочет ли она владеть ресурсом монопольно или допускает совместное использование с другими задачами.

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

В однопрограммной ОС присутствует только один пользовательский процесс. В мультипрограммной системе на ресурсы могут претендовать много независимых процессов.

Запуск программ на выполнение:

Запустить ту или иную программу можно при помощи кнопки Пуск. Чтобы запустить программу надо: Нажать кнопку Пуск, в меню Программы выбрать папку, в которой расположена нужная Вам программа. Давайте выберем папку стандартные, выберите в этой папке, к примеру ”Блокнот” и нажмите на мышке левую кнопку, программа запущена.

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

Всевозможные вспомогательные операции обслуживания

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

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

При активизации команды Дефрагментация диска отображается окно, которое представлено на рисунке ниже

https://img-lib.wm-help.net/407188080/i_241.jpg

Рисунок. Окно программы дефрагментации

Вверху этого окна отображается список всех локальных дисков данного компьютера. В соответствующих столбцах для каждого диска показано его имя, текущее состояние (при открытии окна данная колонка пуста, а, например, после проведения анализа в ней отобразится значение Проанализировано ), файловая система (FAT или NTFS), емкость диска, количество свободного места, а также процент свободного места по отношению к общему объему. Перед тем как запустить дефрагментацию, желательно проанализировать состояние текущего диска на предмет того, нужно ли проводить эту операцию. Для этого выделите диск в списке курсором и нажмите кнопку Анализ либо выберите в меню Действие команду Анализ . Результат анализа отображается в виде информационного сообщения (См. Ниже).

https://img-lib.wm-help.net/407188080/i_242.jpg

Рис. Результат анализа диска С

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

https://img-lib.wm-help.net/407188080/i_243.jpg

Подробный отчет об анализе диска

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

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

После проведения анализа главное окно программы примет вид :

https://img-lib.wm-help.net/407188080/i_244.jpg

Окно дефрагментации после анализа диска

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

Передача информации между различными внутренними устройствами.

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

Системная магистраль предназначена для передачи данных, адресов, команд управления.

Центральные устройства подсоединены к шине непосредственно, а периферийные – через устройства сопряжения (контроллеры или адаптеры).

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

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

Основные устройства для ввода информации:

Клавиатура служит для ввода алфавитно-цифровых символов, управление курсором.

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

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

Передача информации внутри компьютера осуществляется с помощью шин.

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

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

Системная шина имеет следующие компоненты:

  • · шину данных;
  • · адресную шину;
  • · шину управления.

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

Шина адреса служит для определения адреса (номера) устройства, с которым процессор обменивается информацией в данный момент. Каждому устройству (кроме процессора) и ячейке памяти в микропроцессорной системе присваивается собственный адрес. Код адреса выставляется процессором на шине адреса. В этот момент устройство, которому этот адрес приписан, настраивается на обмен информацией. Шина адреса может быть однонаправленной или двунаправленной.

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

Также можно рассмотреть еще одну шину - шину питания.

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

Основными характеристиками шины являются:

 Разрядностью шины называется количество бит, одновременно передаваемых по шине (единицы измерения – бит).

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

Пропускная способность шины соответствует скорости передачи данных и определяется как произведение разрядности и частоты (единицы измерения – Мбит/с, Мбайт/с):

Разрядность адресной шины определяет доступное адресное пространство. Если разрядность адресной шины - n, то максимальный адрес, который может быть по ней передан - 2n. Именно это количество ячеек оперативной памяти доступно процессору.

Системные магистрали персональных компьютеров

Системная шина (магистраль) ISA была разработана специально для персональных компьютеров типа IBM PC ХT и является фактическим стандартом. Для передачи данных внутри компьютера в первых моделях было 8 линий для данных, что позволяло передавать один байт, 20 линий для адресации до 1 мегабайта памяти и еще 34 дополнительные линии. При переходе на модель PC AT были добавлены еще 36 линий, среди них 8 для данных и 4 для адреса.

Следующим стал стандарт EISA, который работает с тактовой частотой 8,33 МГц независимо от наличия более скоростных устройств.

Для семейства компьютеров компании IBM PS/2, поскольку тактовая частота их центрального процессора заметно увеличилась, стала применяться новая шина МСА.

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

Шина VESA (VL-bus) появилась после шины ISA и обеспечивала вчетверо большую скорость передачи данных, однако на различных моделях компьютеров она имела некоторые ограничения.

Шина SCSI впервые появилась на компьютерах семейства Macintosh. К ее преимуществам относятся высокая скорость передачи данных и большое количество устройств, которые можно подключать к шине. К ее недостаткам относятся более высокая стоимость устройств и сложности при их подключении.

Для подключения к материнской плате внешних устройств также использовались шины PCI (разработана компанией Intel в 1991 г.) и AGP (разработана в 1997 г. специально для подключения высокопроизводительных видеокарт).

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

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

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


Драйвер устройства – это специализированное программное обеспечение, которое используется во всех версиях Windows. Благодаря ему другие программы и устройства, которые связаны с данным ПК могут с ним взаимодействовать. Они используются при работе любого оборудования, которое установлено на этом компьютере. Например, если в операционной системе не установлен драйвер звука, то пользователь не сможет слушать музыку или будет смотреть фильмы без звука. Если же отсутствует утилита посредник видеокарты, то изображение не появится на экране. Игрушка не запуститься без необходимых утилит для работы с вашим ПК. То есть компьютер изначально не понимает, как ему работать с внешним прибором, который установили в него. Для этого нужен своего рода переводчик или интерпретатор команд.
Какие функции выполняют программы посредников Первой функцией такого интерпретатора, является регистрация в системе и инициализация. Затем проверяется статус оборудования. Они также могут регистрировать события, произошедшие в том устройстве, которому служит микропрограмма, обрабатывают запросы и ошибки, совмещают несовместимое оборудование. Кроме этого микропрограммы выдают команды устройствам, ожидая, пока они будут выполнены. Когда вы задаете печать принтеру, микропрограмма посылает МФУ инструкцию, что нужно распечатать, какие страницы и т.д. То есть она полностью управляет внешним оборудованием. Утилиты посредники могут обрабатывать запросы при незавершенных предыдущих запросах. Управлять энергопотреблением других приборов, подключенных к ПК.

Как работают драйвера на компьютере: Работа интерпретатора начинается с проверки входящих значений. Если будут обнаружены какие-то несовместимости, ошибка высветится на экране, либо, если все нормально, то действие программы продолжится. Драйвера проверяют подключен ли этот прибор в настоящий момент. Если оборудование подключено, то микропрограмма переходит к управлению. Теперь нужно определить в какой последовательности дать команды оборудованию, и в какой последовательности оно должно их выполнить. Происходит запись в регистр контроллера прибора, с которым происходит общение. После того как команда записана, делается анализ передачи. Если передача прошла без коллизий, то микропрограмма приступает к передаче следующей команды. И так до тех пор, пока все команды не будут переданы. Если какая-то команда не выполнена, то происходит блокировка доступа к устройству и ожидается прерывание ее человеком. Если все нормально, то возвращается информация о передаче данных. Таков принцип работы программ посредников на ПК.

Что будет, если драйвера нет: От таких подобных микропрограмм зависит качество, работа и производительность компьютера и подключенного к нему оборудования. Если случится так, что вы установили операционную систему Windows, а установку «дров» обошли стороной, то многие внешние устройства просто не будут работать на вашем персональном компьютере, либо будут работать, но с перебоями. Разберем на примере видеокарты или тачпада. Например, если не установлен драйвер на видеокарту, то качество изображения будет очень низким. Запустить игры вы не сможете из-за его отсутствия. С тачпадом точно также. При отсутствии управляющей программы, не будет реализованы все возможности панели, а в частности управление жестами. Многофункциональные устройства тоже откажутся работать, если вы не установите дополнительное управляющее ПО на Windows. Даже элементарное подключение мыши или клавиатуры, с игровыми функциями, не обойдется без установки дополнительных микропрограмм.

Для каких устройств нужны драйвера: Чаще всего подобные микропрограммы понадобятся для следующих приборов, подключенных к ПК: Мышь, клавиатура. Видеокарта, звуковая и сетевая карты, любые платы расширения. Чипсеты. Принтера и другие подключаемые внешние приборы. Это не полный перечень. По сути, любое внутреннее и внешнее периферийное оборудование требует наличия управляющей микропрограммы.

Где хранятся драйверы на компьютере: Все драйвера размещены в папке drivers. Зайти в нее можно кликнув по диску «С» и открываете папку Windows. В ней находите другую папку с названием «drivers» — именно тут можно найти управляющие утилиты.

Организация среды взаимодействия и обмена информацией между работающими программами.

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

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

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

· Вырезать – переместить выделенный фрагмент в буфер с удалением его из документа;

· Копировать – скопировать выделенный фрагмент в буфер, не удаляя его из документа;

· Вставить – вставить содержимое буфера обмена в текущий документ. Место вставки определяется положением курсора.

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

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

Технология OLE:

Технология связывания и внедрения объектов (Object Linking and Embedding) имеет больше функциональных возможностей, причем, если приложение поддерживает OLE, то оно само выполняет обмен данными по этой технологии.

Операции связывания (Linking) и внедрения (Embedding), реализованные в рамках OLE, внешне напоминают технологию DDE и обмен данными через буфер обмена. При работе по технологии OLE выполняется та же последовательность действий. Документ со встроенными OLE-объектами выглядит аналогично документу с фрагментами, вставленными через буфер обмена. Однако в этом случае при двойном щелчке мыши в поле объекта он активизируется и запускается приложение, в котором создавался этот объект, и в него передается объект для редактирования или выполнения других операций. После окончания работы с объектом программа-источник закрывается, а измененный объект автоматически передается обратно в документ приложения-клиента.

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

При связывании:

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

•      внесение изменений в связанный объект обеспечивает дублирование этих изменений во всех документах, с которыми объект был связан;

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

При внедрении:

•      изменения вставленного объекта, не отражаются в оригинале;

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

В рамках OLE реализован метод drag-and-drop (перетащить и бросить), который обеспечивает наглядность процесса обмена данными, и его можно применять вместо операции копирования через буфер обмена даже при межоконном перемещении объектов и их частей.

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

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

OLE-технология, разработанная корпорацией Microsoft, обеспечивает:

•    привязку – возможность вызова одной программы из другой;

•    встраивание – помещение объектов, созданных в одном приложении, в документ другого.

Также есть технология DDE.

Для обмена данными между приложениями может использоваться технология DDE (Dynamic Data Exchange – динамический обмен данными). Суть технологии состоит в том, что вставляемый через буфер обмена объект сохраняет свою связь с оригиналом и при внесении в него изменений может автоматически обновляться. При этом 1) с одним оригиналом можно связать любое число документов; 2) возможно связывание по цепочке, когда источником является не оригинал, а ранее связанный объект; 3) установленная связь сохраняется и после закрытия приложений, т.е. внесенные в оригинал изменения автоматически вносятся во все документы, связанные с ним.

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

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

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

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

Заключение:

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

Источники информации:

https://studfiles.net

http://more-it.ru

https://studopedia.su

https://cyberpedia.su

https://www.chaynikam.info