русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оболочка


Дата добавления: 2014-11-28; просмотров: 555; Нарушение авторских прав


 

Операционная система представляет собой программу, выполняющую системные вызовы. Редакторы, компиляторы, ассемблеры, компоновщики и командные интер­претаторы не являются частью операционной системы, несмотря на их большую важность и полезность. Поскольку есть риск запутаться в этих вещах, в данном разделе мы кратко рассмотрим только командный интерпретатор UNIX, называе­мый оболочкой (shell). Хотя она не входит в операционную систему, но во всю пользуется многими функциями операционной системы и поэтому является хоро­шим примером того, как могут применяться системные вызовы. Кроме этого, оболочка предоставляет основной интерфейс между пользователем, сидящим за своим терминалом, и операционной системой, если, конечно, пользователь не ис­пользует графический интерфейс. Существует множество оболочек, например sh, csh, ksh и bash. Все они поддерживают описанные ниже функции, поскольку про­изошли от первоначальной оболочки (sh).

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

date

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

date >f1le

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

sort <filel >file2

Эта команда предписывает программе сортировки считать данные из файла 1 и вывести результат в файл 2.



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

cat file! file2 file3 I sort >/dev/lp

предписывает программе car объединить (concatenate) три файла и послать выходные данные программе sort, которая расставит все строки в алфавитном порядке. Резуль­тат работы sort перенаправляется в файл/dev/lp, обычно обозначающий принтер. Если пользователь наберет знак & после команды, оболочка не будет ждать окончания ее выполнения. В этом случае она немедленно напишет новое пригла­шение. То есть в результате команды

cat file! file2 f1le3 | sort >/dev/lp &

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

Кибернетика (наука о компьютерах), как и множество других областей знания, находится в сильной зависимости от технологий. Причиной отсутствия автомо­билей у древних римлян являлось вовсе не то, что они очень любили ходить пешком. Машин не было потому, что римляне просто не знали, как их сконструиро­вать. И персональные компьютеры существуют не потому, что миллионы людей долгое время хотели иметь свой собственный компьютер, но сдерживали это же­лание, а потому, что теперь можно относительно дешево их производить. Мы час­то забываем, как сильно влияет технология на наше видение систем, и действи­тельно полезно поразмышлять об этом время от времени.

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

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

Чтобы пояснить нашу точку зрения, рассмотрим несколько примеров. Ранние компьютеры имели вмонтированный В аппаратуру набор команд. Затем появилось микропрограммирование, при котором интерпретатор выполнял команды про­граммно. Аппаратное выполнение устарело. После этого были созданы RISC-компьютеры, и микропрограммирование (то есть интерпретируемое выполнение) тоже стало устаревшим понятием, поскольку исполнение команд напрямую ока­залось быстрее. Теперь мы наблюдаем возрождение интерпретации в форме алплетов Java, которые передаются по Интернету и интерпретируются по прибытии. Здесь скорость выполнения не играет решающей роли, поскольку задержки в сети настолько велики, что основное время тратится на них. Но все это тоже однажды может измениться.

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

И наконец, рассмотрим динамическое связывание. Система MULTICS проек­тировалась так, чтобы она могла функционировать днем и ночью без остановок. Чтобы программно исправлять системные ошибки, необходимо было найти спо­соб, позволяющий заменять библиотечные процедуры во время их использования.

 



<== предыдущая лекция | следующая лекция ==>
Лекция № 7. Файловые системы. | Общие сведения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.345 сек.