Билет 2. Многоуровневая организация ОС

Билет 1. Функции ОС

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

  1. Управления ресурсами вычислительной системы (ВС)
  2. Создания интерфейсов
  3. Обеспечения защиты ресурсов ВС
  4. Оценки эффективности функционирования ВС

Ресурс – некоторый объект, который полезен для пользователя и может распределяться между пользователями в процессе работы ОС.

Ресурсы вычислительной системы.

  1. Время центрального процессора
  2. Память – оперативная и виртуальная
  3. Информация (файлы)
  4. Устройства хранения информации (винчестер, flash, DVD, …)

Интерфейсы ОС

• Командная строка

• Графический интерфейс пользователя (GUI)

• Интерфейс прикладных программ (API)

Последовательность обращения и передачи данных (сверху вниз и снизу вверх):

Пользователь – ППО – ОС – Аппаратура – ОС – ППО – Пользователь.

ППО – прикладное ПО.

Компоненты операционной системы:

· Загрузчик

· Ядро

· Командный процессор (интерпретатор)

· Драйверы устройств

· Интерфейс

Билет 3. Критерии классификации ОС. Классификация ОС. Примеры ОС. Области применения ОС различных типов.

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

1. Классификация операционных систем по мощности аппаратных средств.

1.1. Операционные системы мэйнфреймов – больших компьютеров, которые еще используются в центрах данных корпораций. Мэйнфреймы отличаются от персональных компьютеров по возможностям ввода-вывода. Часто встречаются мэйнфреймы с большим количеством дисков и терабайтами данных. Мэйнфреймы возвращаются в виде мощных web-серверов, серверов для крупномасштабных электронно-ком­мер­­ческих сайтов и серверов для транзакций в бизнесе. Операционные системы для мэйнфреймов в основном ориентированы на обработку множества одновременных заданий, большинству из которых требуется огромное количество операций ввода-вывода. Обычно они предлагают три вида обслуживания:

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

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

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

Указанные функции тесно связаны между собой, и зачастую операционная система мэйнфрейма выполняет их все, например, операционная система OS/390, произошедшая от OS/360.

1.2. Серверные операционные системы – системы, которые работают на серверах и представляют собой очень большие персональные компьютеры, рабочие станции или мэйнфреймы. Они одновременно обслуживают множество пользователей и дают возможность им делить между собой программные и аппаратные ресурсы. Серверы предоставляют возможность работы с печатающими устройствами, файлами или Интернетом. Интернет-провайдеры обычно запускают в работу несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входящие запросы. Типичными серверными операционными системами являются UNIX и Windows 2000, теперь в этих целях стала использоваться и операционная система Linux.

1.3. Операционные системы для персональных компьютеров. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются для работы с текстом, электронными таблицами и для доступа к Интернету. Например: Windows 98, Windows 2000, ОС компьютера Macintosh и Linux. В настоящее время распространены следующие семейства операционных систем: DOS (первый представитель этого семейства – система MS-DOS, Microsoft Disk Operating System – дисковая операционная система фирмы Microsoft была выпушена в 1981 г. в связи с появлением IBM PC); OS/2; UNIX; Windows; операционные системы реального времени.

1.4. Встроенные операционные системы – простые операционные системы, устанавливаемые в принтерах, кассовых аппаратах и других внешних устройствах. Состоят из микроядра и функциональных блоков, обеспечивающих подключение в сеть внешнего устройства. Такие системы, управляющие действиями устройств, работают на машинах, обычно не считающихся компьютерами, например, в телевизорах, микроволновых печах, мобильных телефонах и карманных компьютерах. Карманный компьютер (PDA, Personal Digital Assistant – персональный цифровой помощник) – это маленький компьютер, помещающийся в кармане брюк, выполняющий небольшой набор функций (телефонной записной книжки и блокнота). Данный класс систем часто обладает такими же характеристиками, что и системы реального времени, но при этом имеют особый размер, память и ограничение мощности, что выделяет их в обособленный класс. Например, операционные системы: Palm OS, Windows CE (Consumer Electronics – бытовая техника).

1.5. Операционные системы для смарт-карт – самые маленькие операционные системы, которые работают на смарт-картах. Смарт-карты представляют собой устройства размером с кредитную карту, содержащие центральный процессор. На операционные системы накладываются крайне жесткие ограничения по мощности процессора и памяти. Некоторые из них могут управлять только одной операцией, например электронным платежом, другие выполняют более сложные функции. Часто они являются патентованными системами. Некоторые смарт-карты являются Java-ориентированными. Это означает, что ПЗУ(постоянная память, ROM, Read Only Memory – память только для чтения) смарт-карт содержит интерпретатор виртуальной машины Java (JVM, Java Virtual Machine). Апплеты Java (маленькие программы) загружаются на карту и выполняются JVM-интерпретатором. Некоторые из таких карт могут одновременно управлять несколькими апплетами Java, что приводит к многозадачности и необходимости планирования. Из-за одновременной работы двух и более программ возникает необходимость в управлении ресурсами и защитой. Все эти задачи выполняет операционная система, находящаяся на смарт-карте.

2. Классификация операционных систем для компьютеров по выполняемым функциям.

2.1. Дисковые операционные системы (ДОС) – системы, берущие на себя выполнение только простых функций. Как правило, они представляют собой некий резидентный набор подпрограмм. ДОС загружает пользовательскую программу в память и передает ей управление, по завершении работы программа передает управление ДОС. Например, различные загрузочные мониторы для машин классаSpectrum. Как правило, такие системы работают одновременно только с одной программой. Прямым наследником одного из таких резидентных мониторов является дисковая операционная система MS-DOS дляIBM PC-сов­мес­тимых ПК. Существование систем этого класса обусловлено их простотой и тем, что они потребляют мало ресурсов.

2.2. Операционные системы общего назначения (ОС). К этому классу относятся системы, берущие на себя выполнение всех функций. Разделение на ОС и ДОС идет от систем IBM DOS/360 и OS/360 для больших компьютеров, клоны которых известны под названием ЕС ЭВМ серии 10ХХ. ОС общего назначения рассчитаны на интерактивную работу одного или нескольких пользователей в режиме разделения времени при не очень жестких требованиях ко времени реакции системы на внешние события. Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных программ. Обычно подобные системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся широко распространенные системы семейства Windows 2000 и семейства Unix.

2.3. Системы виртуальных машин (СВМ) – операционные системы, допускающие одновременную работу нескольких программ, но создающие при этом для каждой программы иллюзию того, что машина находится в полном ее распоряжении, как при работе под управлением ДОС. Зачастую, программой оказывается полноценная операционная система. Например: операционная система VMWare для машин с архитектурой х86 или VM для System/370 и ее потомков. Виртуальные машины являются ценным средством при разработке и тестировании кросс-платформенных приложений. Реже они используются для отладки модулей ядра или самой операционной системы. Такие системы отличаются высокими накладными расходами и сравнительно низкой надежностью, поэтому относительно редко находят промышленное применение. Часто СВМ являются подсистемой операционных систем общего назначения: MS DOS и MS Windows-эмуляторы для UNIX и OS/2, подсистема WoW в Windows NT/2000/XP, DOS в Windows З.х/95/98/МЕ, эмулятор RT-11 в VAX/ VMS. В системах виртуальных машин, как правило, приходится уделять много внимания эмуляции работы аппаратуры. Например, несколько программ могут начать программировать системный таймер. СВМ должна отследить такие попытки и создать для каждой из программ иллюзию, что она запрограммировала таймер именно так, как «хотела».

2.4. Операционные системы реального времени – системы с гарантированным временем реакции на событие, используются в системах технологического управления атомными станциями, химическими производствами и пр. Они предназначены для облегчения разработки приложений реального времени, т. е. программ, управляющих некомпьютерным оборудованием, часто с очень жесткими ограничениями по времени. Жесткими ограничениями по времени считаются такие ограничения, когда некоторое действие должно произойти в конкретный момент времени или внутри заданного диапазона времени. Главным параметром таких систем является время.

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

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

2.5. Средства кросс-разработки – это системы, которые предназначены для создания программ в двухмашинной конфигурации, когда редактирование, компиляция, а зачастую и отладка кода производятся на инструментальной машине, а потом скомпилированный код загружается в целевую систему. Чаще всего они используются для написания и отладки программ, позднее прошиваемых в постоянно запоминающем устройстве (ПЗУ). Примерами таких операционных систем являются системы программирования микроконтроллеров Intel, Atmel, PIC и др., системы Windows СЕ, Palm OS и т. д. Такие системы, как правило, включают в себя:

– набор компиляторов и ассемблеров, работающих на инструментальной машине с нормальной операционной системой;

– библиотеки, выполняющие большую часть функций операционных систем при работе программы, кроме загрузки программы;

– средства отладки.

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

2.6. Системы промежуточных типов. Существуют системы, которые нельзя отнести к одному из вышеперечисленных классов. Например:

– система RT-11, которая, по сути своей, является ДОС, но позволяет одновременное исполнение нескольких программ с довольно богатыми средствами взаимодействия и синхронизации;

– MS Windows 3.x и Windows 95, которые как операционные системы общего назначения используют аппаратные средства процессора для защиты и виртуализации памяти и даже могут обеспечивать некоторое подобие многозадачности, но не защищают себя и программы от ошибок других программ, подобно ДОС;

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

3. Классификация операционных систем по числу одновременно выполняемых задач:

– однозадачные операционные системы – системы, которые поддерживают режим выполнения только одной программы в отдельный момент времени, например, MS-DOS;

– многозадачные операционные системы – системы, которые поддерживают параллельное выполнение нескольких программ в рамках одной вычислительной системы в один момент времени, например: UNIX, OS/2, Windows.

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

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

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

– реального времени – системы, которые обеспечивают определенное гарантированное время ответа машины на запрос пользователя при управлении им внешними событиями, процессами или объектами по отношению к ЭВМ.

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

– однопользовательские операционные системы – системы, которые поддерживают работу только одного пользователя (MS-DOS, Windows 3.x);

– многопользовательские операционные системы – системы, которые поддерживают одновременную работу на ЭВМ нескольких пользователей за различными терминалами (Windows NT, Unix).

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

5. Классификация операционных систем по разрядности кода:

– 8-разрядные;

– 16-разрядные;

– 32-разрядные;

– 64-разрядные.

Разрядность показывает, какую разрядность внутренней шины данных центрального процессора способна поддержать операционная система, и определяет программы, с которыми она будет работать. Все современные операционные системы поддерживают 32-разрядный интерфейс прикладных программ. Разрядность кода интерфейса прикладных программ имеет непосредственное отношение к адресному пространству оперативного запоминающего устройства (ОЗУ). Адресное пространство памяти – это область адресов памяти, распределяющейся между операционной системой и данными; между видеопамятью, памятью BIOS, блоком информации запрещенного режима работы и т. д. Операционная система может поддерживать два режима работы центрального процессора: реальный и защищенный. Вреальном режиме работы процессора, характерном для MS-DOS, все программы и данные располагаются в одной области оперативной памяти, т. е. пользователь может войти в системную программу и случайно испортить ее. Защищенный режим работы процессора поддерживается 32-разрядными операционными системами и позволяет хранить программы и данные отдельно в соответствии с их важностью в системе.

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

– однопроцессорные;

– многопроцессорные.

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

Поддержка мультипроцессирования является важным свойством операционных систем и приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорная обработка реализована в операционных системах: Linux, Solaris, Windows NT и др. Многопроцессорные операционные системы подразделяются:

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

– асимметричные – системы, в которых процессоры неравноправны, обычно существует главный процессор (master) и подчиненные (slave), загрузку и характер работы которых определяет главный процессор.

7. Классификация операционных систем по типу доступа пользователя к ЭВМ:

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

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

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

8. Классификация операционных систем по типу использования ресурсов.

8.1. Стандартные операционные системы (операционные системы общего назначения) – используются для реализации следующих задач:

– управления аппаратными средствами компьютера;

– создания рабочей среды и интерфейса пользователя;

– выполнения команд пользователя и программных инструкций;

– организации ввода-вывода;

– хранения и управления файлами и данными.

Наиболее известными стандартными операционными системами являются MS-DOS, MS-Windows 95-98, Windows-2000, Professional, MS-Windows Nt, Ibm OS /2, At&T, Unix.

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

– одноранговые операционные системы, которые могут устанавливаться на любой рабочей станции и использоваться самостоятельно в виде отдельных программных средств, либо входить в состав пакетов, другую половину которых представляют программы, обслуживающие мощные компьютеры управления сетями – серверы, например: OS/2, Windows Nt Workstation;

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

К числу серверных операционных систем с высокой производительностью и широкими сетевыми возможностями относятся: Windows NT Server Novell Net Ware, OS/2 SMP и др. Операционная системаWindows 2000 Server базируется на платформе Windows NT Server, в отличие от которой имеет более высокую производительность и надежность. В состав семейства входят Windows 2000 Server для рабочих групп, Windows 2000 Advanced Server для приложений и более надежных серверов, Windows 2000 Data Saved Server или Windows 2000 Data Centered Server для наиболее ответственных систем обработки данных.

9. Классификация операционных систем по типу используемого интерфейса:

– текстовые – операционные системы, основанные на интерфейсе командной строки, например: OS/360, CP/M, первые версии MS-DOS и UNIX;

– поддерживающие графический интерфейс, например, семейства операционных систем Microsoft Windows.

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

– системы для больших компьютеров фирмы IBM: OS/390, z/OS и IBM VM;

– семейство Unix обширное, постоянно развивающееся, выделяют три рода: Unix System V Release 4.x: Sunsoft Solans, SCO UnixWare; Berkeley Software Distribution Unix: BSDI, FreeBSD; Linux;

– семейство прямых и косвенных потомков Control Program/Monitor (СР/М) фирмы Digital Research; в этом семействе выделяют широко известное подсемейство \sisname{Win 32}-платформ;

– семейство практически вымершее, но оставившее в наследство ряд важных и интересных концепций: операционные системы для мини- и микрокомпьютеров фирмы DEC: RT-11, RSX-11 и VAX/VMS;

– семейства операционных систем Windows, в настоящее время существует несколько различающихся направлений в семействе:

· Windows NT/2000;

· Windows XP;

· Windows 2003 Server.

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

– версии персональные, такие как Windows XP Home Edition;

– версии для рабочих станций сетей, Windows 2000 Professional, Windows XP Professional;

– версии для серверов сетей, Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server, Windows 2003 Server.

Среди общего числа версий Windows есть преемники принципиально нового направления, технологии NT (New Technology, разрабатываемой Microsoft с 1989 г.). К операционным системам технологии NTпредъявляется ряд повышенных требований, в сравнении с потребительскими версиями Windows: поддержка многопроцессорных систем, вытесняющая многозадачность, работа с виртуальной памятью, защищенная файловая система и др. К ним относятся все версии операционных систем Windows 2000 и Windows XP. Системные файлы этих модификаций одинаковы, как и ядро операционных систем. Они различаются между собой по числу поддерживаемых процессоров, объему поддерживаемой физической памяти, одновременному числу сетевых подключений и наличием дополнительных сетевых сервисов.

В сравнении с предыдущими версиями (Windows 95/98/ME), у операционных систем технологии NT имеется ряд существенных отличий:

– повышение надежности работы ядра системы и исключение возможности зависания операционной системы из-за зависания или некорректной работы пользовательской программы;

– возможность использования не только файловых систем из предыдущих версий Windows: FAT16 и FAT32, но и более безопасной и надежной файловой системы NTFS (NT File System);

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

– на одном компьютере можно запускать не только версии Windows 2000/XP, но и более ранние версии Windows 95/98/МЕ, для чего используется конфигурация с двойной загрузкой, где можно выбрать требуемую операционную систему в данном сеансе работы.

Выбор типа операционной системы часто представляет собой сложную задачу. Некоторые приложения накладывают жесткие требования, которым удовлетворяет только небольшое количество систем. Например, задачи управления промышленным или исследовательским оборудованием в режиме жесткого реального времени вынуждают делать выбор между специализированными операционными системами реального времени и некоторыми операционными системами общего назначения, такими как Unix System V Release 4. Хотя Unix SVR4 теоретически способна обеспечивать гарантированное время реакции, системы этого семейства имеют ряд недостатков с точки зрения задач реального времени, поэтому чаще всего предпочтительными оказываются специализированные операционные системы (QNX, VxWorks, OS-9 и пр.). Другие приложения, например серверы баз данных, требуют высокой надежности и производительности, что отсекает системы класса ДОС и MS-Windows.

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

Билет 4. ОС РВ

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

Это определение означает, что:

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

Билет 6. Cmd

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

Некоторые команды распознаются и выполняются непосредственно самим командным интерпретатором — такие команды называются внутренними(например, COPY или DIR). Другие команды ОС представляют собой отдельные программы, расположенные по умолчанию в том же каталоге, что и Cmd.exe, которые Windows загружает и выполняет аналогично другим программам. Такие команды называются внешними (например, MORE или XCOPY).

Рассмотрим структуру самой командной строки и принцип работы с ней. Для того, чтобы выполнить команду, после приглашения командной строки (например, C:\>) следует ввести имя этой команды (регистр не важен), ее параметры и ключи (если они необходимы) и нажать клавишу <Enter>. Например:

C:\>COPYC:\myfile.txtA:\ /V

Имя команды здесь — COPY, параметры — C:\myfile.txt и A:\, а ключом является /V. Отметим, что в некоторых командах ключи могут начинаться не с символа /, а с символа – (минус), например, -V.

Многие команды Windows имеют большое количество дополнительных параметров и ключей, запомнить которые зачастую бывает трудно. Большинство команд снабжено встроенной справкой, в которой кратко описываются назначение и синтаксис данной команды. Получить доступ к такой справке можно путем ввода команды с ключом /?. Например, если выполнить команду ATTRIB /?, то в окне MS-DOS мы увидим следующий текст:

Отображение и изменение атрибутов файлов.ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[диск:][путь]имя_файла] [/S] + Установка атрибута. - Снятие атрибута. R Атрибут "Только чтение". A Атрибут "Архивный". S Атрибут "Системный". H Атрибут "Скрытый". /S Обработка файлов во всех вложенных папках указанного пути.

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

XCOPY /? | MORE

В этом случае после заполнения очередного экрана вывод помощи будет прерываться до нажатия любой клавиши. Кроме того, используя символы перенаправления вывода> и >>, можно текст, выводимый на экран, направить в текстовый файл для дальнейшего просмотра. Например, для вывода текста справки к команде XCOPY в текстовый файл xcopy.txt, используется следующая команда:

XCOPY /? > XCOPY.TXT

Замечание. Вместо имени файла можно указывать обозначения устройств компьютера. В Windows поддерживаются следующие имена устройств: PRN (принтер), CON (терминал: при вводе это клавиатура, при выводе - монитор), NUL (пустое устройство, все операции ввода/вывода для него игнорируются).

Команда COPY

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

Синтаксис этой команды:

COPY [/A|/B] источник [/A|/B] [+ источник [/A|/B] [+ ...]] [результат [/A|/B]] [/V][/Y|/–Y]

Краткое описание параметров и ключей команды COPY приведено в табл. 1.

Таблица 1. Параметры и ключи команды COPY

Параметр Описание
источник Имя копируемого файла или файлов
/A Файл является текстовым файлом ASCII, то есть конец файла обозначается символом с кодом ASCII 26 (<Ctrl>+<Z>)
/B Файл является двоичным. Этот ключ указывает на то, что интерпретатор команд должен при копировании считывать из источника число байт, заданное размером в каталоге копируемого файла
результат Каталог для размещения результата копирования и/или имя создаваемого файла
/V Проверка правильности копирования путем сравнения файлов после копирования
/Y Отключение режима запроса подтверждения на замену файлов
/-Y Включение режима запроса подтверждения на замену файлов

Примеры использования команды COPY.

0. Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под тем же именем:

COPY abc.txt D:\PROGRAM

1. Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под новым именем def.txt:

COPY abc.txt D:\PROGRAM\def.txt

2. Копирование всех файлов с расширением txt с диска A: в каталог 'Мои документы' на диске C:

COPY A:\*.txt "C:\Мои документы"

Если не задать в команде целевой файл, то команда COPY создаст копию файла-источника с тем же именем, датой и временем создания, что и исходный файл, и поместит новую копию в текущий каталог на текущем диске. Например, для того, чтобы скопировать все файлы из корневого каталога диска A: в текущий каталог, достаточно выполнить такую команду:

COPY A:\*.*

Пример 1 создания нового текстового файла и записи в него информации без использования текстового редактора.

Для решения задачи необходимо ввести команду COPY CON my.txt, которая будет копировать то, что набирается на клавиатуре в файл my.txt (если этот файл существовал, то он перезапишется, иначе — создастся). Для завершения ввода необходимо ввести символ конца файла, то есть нажать клавиши <Ctrl>+<Z>.

Команда COPY может также объединять (склеивать) несколько файлов в один. Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл1 + файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt можно задать следующую команду:

COPY 1.txt+2.txt 3.txt

Объединение всех файлов с расширением dat из текущего каталога в один файл all.dat может быть произведено так:

COPY /B *.dat all.dat

Ключ /B здесь используется для предотвращения усечения соединяемых файлов, так как при комбинировании файлов команда COPY по умолчанию считает файлами текстовыми.

Если имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. Если имя целевого файла опущено, то в его качестве используется первый файл из списка. Например, команда COPY 1.txt+2.txt добавит к содержимому файла 1.txt содержимое файла 2.txt. Командой COPY можно воспользоваться и для присвоения какому-либо файлу текущей даты и временибез модификации его содержимого. Для этого нужно ввести команду

COPY /B 1.txt +,,

Здесь запятые указывают на пропуск параметра приемника, что и приводит к требуемому результату.

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

Команда DIR

Команда

DIR [диск:][путь][имя_файла] [ключи]

используется для вывода информации о содержимом дисков и каталогов. Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] задает файл или группу файлов, которые нужно включить в список. Наприм<

Наши рекомендации