Весьма популярный класс системных программ составляют программы-оболочки. Они обеспечивают более удобный и наглядный способ общения пользователя с компьютером, чем ОС. Многие пользователи настолько привыкли к удобствам, предоставляемым своей любимой программой-оболочкой, что чувствуют себя без нее “не в своей тарелке”. Наиболее известными программами-оболочками являются Norton Commander, XTree Pro Gold, DOS Shell из комплекта PC Tools. В состав операционной системы MS DOS, начиная с версии 4.0, также входит собственная программа-оболочка Shell.
Norton Commander (NC) является самой распространенной ПО ОС. Ее применение позволяет заменить набор на клавиатуре командного слова нажатием определенной функциональной клавиши, набор имени файла – движением курсора по экрану.
Это значительно сокращает время выбора файлов или формирование команды и полного имени файла, но требует освоения новых функций управляющих и функциональных клавиш. При входе в NC на экран выводится окно: две таблицы- панели(левая и правая половины экрана), содержащие информацию о каталогах тех дисководов, имена которых указаны в верхней части каждой панели. Каждая панель в нижней части содержит строку министатуса, содержащую сведения об активном файле(группе файлов или каталогов). Ниже этих панелей расположена строка команд команд MS DOS, озаглавленная символами приглашения OC к работе. Еще ниже расположена строка-меню, предлагающая пользователю услуги функциональной клавиатуры.
#37 Программы-оболочки. Информатика.
Они, в отличие от обычных программ-оболочек, не только дают пользователю более наглядные средства для выполнения часто используемых действий, но и предоставляют новые возможности для запускаемых программ. Чаще всего это:
графический интерфейс, то есть набор средств для вывода изображений на экран и манипулирования ими, построения меню, окон на экране и т.д.;
мультипрограммирование, то есть возможность одновременного выполнения нескольких программ;
расширенные средства для обмена информацией между программами.
Операционные оболочки упрощают создание графических программ, предоставляя для этого большое количество удобных средств, и расширяют возможности компьютера. Наиболее популярной программой-надстройкой является Microsoft Windows 3.11, используются также GEM, Pop-Up Windows, Geo Works и Desq View. Графическая оболочка Window 3.11 фирмы Microsoft, появившаяся в 1990 году, оказала революционизирующее влияние на развитие интерфейса с компьютером, ориентированного в основном на персональный режим работы. Explorer ( проводник ) — данная программа является оболочкой Windows 95. Она выполняет большинство функций, которые традиционно требуются от оболочки операционной системы, а именно:
· выполнение программ. Explorer позволяет вызвать исполняемый файл программы, ассоциировать тип файла документа с определенной программой, создавать пользовательское меню программ и документов;
· операции с файлами. Создание, копирование, перемещение и удаление файлов, групп файлов, а также отмена любых операций;
Изучение TKinter за 8 минут / Разработка GUI программы на Python
· сервис. Сортировка списка файлов по различным признакам, поиск файлов по различным параметрам запросов, быстрый просмотр файлов, печать документов, редактирование метки диска, копирование дискет, форматирование дисков и вызов служебных дисковых программ.
Служебные программы (утилиты ).
Для обслуживания компьютера и операционной системы, а также для оптимизации их настроек применяют специальную категорию программ – служебные программы ( утилиты ).
Этот вид программ можно отнести к системным программам. Часто утилиты объединяются в комплексы, наиболее популярны комплексы Norton Utilities, PC Tools Deluxe и Mace Utilities. Цель использования служебных программ состоит в повышении эффективности и надежности компьютера. Общее количество служебных программ для компьютеров, работающих под управлением Windows- 95, велико.
Пользователь устанавливает на своем компьютере тот комплект служебных программ, который наиболее соответствует его текущим задачам. Рассмотрим некоторые из них.
Программы-упаковщики. Позволяют за счет применения специальных методов “упаковки” информации сжимать информацию на дисках, т.е. создавать копии файлов меньшего размера, а также объединять копии нескольких файлов в один архивный файл. Наиболее популярны упаковщики PKZIP/PKUNZIP и ARJ. Следует заметить, что различные упаковщики не совместимы друг с другом — архивный файл, созданный одним упаковщиком, чаще всего нельзя прочесть другим.
Программа для создания резервных копий информации на дисках. Позволяет быстро скопировать информацию, находящуюся на жестком диске компьютера, на дискеты или кассеты стримера. Из этих программ широко используются Norton Backup, FastBack Plus. Соответствующие функции имеются в комплексе PC Tools Deluxe.
Антивирусные программы. Предназначены для предотвращения заражения компьютерным вирусом и ликвидации последствий заражения вирусом.
Коммуникационные программы. Предназначены для организации обмена информацией между компьютерами. Программы типа Brooklin Bridge, DeskLink, LapLink III или FastLynx позволяют удобно пересылать файлы с одного компьютера на другой при соединении кабелем их последовательных портов. Аналогичные возможности имеются в пакетах Norton Commander и PC Tools Deluxe.
Другой вид программ (Telemate, Procomm и т.д.) обеспечивает возможность связи компьютеров по телефонной сети (при наличии модема). Программы типа BitFax, Fax-It и другие дают возможность посылать и принимать телефаксные сообщения при наличии в компьютере встроенной платы факс-модема.
Программы для диагностики компьютера. Позволяют проверить конфигурацию компьютера (количество памяти, ее использование, типы дисков и т.д.), а также проверить работоспособность устройств компьютера. Большой популярностью пользуются программы Check-It, Controll Room и System Sleuth. Для проверки работоспособности дисков весьма полезны программы Disk Technician Advanced, Calibrate из комплекса Norton Utilities и другие. Они позволяют выявить “намечающиеся” дефекты дисков (возникающие из-за износа магнитной поверхности диска) и предотвратить потерю данных, хранящихся на диске.
Программы — кэши для диска. Убыстряют доступ к информации на диске путем организации в оперативной памяти кэш-буфера, содержащего наиболее часто используемые участки диска. Чаще всего для кэша используется дополнительная или расширенная память компьютера. Некоторые контроллеры дисков имеют в своем составе встроенный кэш-буфер, но обычно их производительность не намного выше, а стоимость значительно больше, чем у программы- кэша и соответствующего количества дополнительной памяти. Весьма хорошую производительность показывают программы SmartDrv, Super PC-Kwik, Flash.
Программы для оптимизации дисков. Позволяют обеспечить более быстрый доступ к информации на диске за счет оптимизации размещения данных на диске. Эти программы перемещают все участки каждого файла друг к другу (устраняют фрагментацию), собирают все файлы в начале диска и т.д., за счет чего уменьшается число перемещений головок диска (т.е. ускоряется доступ к данным) и снижается износ диска. Из программ для оптимизации дисков широко используются SpeeDisk из комплекса Norton Utilities, FastTrax и другие. и восстановления дисков для DOS и Widows, а также новая программа System Information for Windows.
Norton System Doctor — новая утилита, способная отслеживать несколько десятков различных параметров системы и предупреждать какие-либо проблемы. При обнаружении ошибки на диске для ее исправления будет автоматически вызываться Norton Dick Doctor.
Norton Speed Dick. Намного совершеннее предыдущей версии: 1. Возможность дефрагментации файла виртуальной памяти, позволяет достичь лучшей производительности Windows 95. 2. Файловая система Windows 95 может хранить не только даты модификации файлов, но и даты доступа к ним.
UnErase Wizard — утилита для Windows 95, является аналогом DOS-утилиты UnErase.
Norton Protection — утилита, представляющая собой новое средство защиты файлов от их случайного удаления.
Space Wizard — новая утилита. Программа отыскивает на диске временные файлы, резервные копии, давно не использовавшиеся файлы, дубликаты файлов и предлагает пользователю удалить их, сжать или перенести на другой носитель.
System Information. Данная программа предоставляет больше информации о системе, чем System из панели управления.
Norton Image служит для защиты файловой структуры диска при возможности дисковых ошибок.
Rescue Dick готовит системный диск, на котором содержатся все основные характеристики системы: данные CMOS, загрузочная запись, таблицы разделов, командные файлы, файлы системного реестра Windows 95, DOS-файлы: Format, Fdick, Sys и т.д.
Norton Navigator for Windows 95, официальный наследник Desktop, не пересекается по функциям с пакетом Utilities. Navigator — это не только усовершенствованная панель задач и множественные “рабочие столы”. Это еще и удобная реализация функций работы с файлами, папками и дисками, в том числе операций архивизации и кодирования.
Norton Anti Virus for Windows 95. Помимо антивирусных средств, эта программа содержит планировщик Norton Program Scheduler, которого нет ни в Utilities, ни в Navigator.
Программы динамического сжатия дисков. Позволяют увеличить количество информации, хранимой на дисках путем ее динамического сжатия. Эти программы сжимают информацию при записи на диск, а при чтении — восстанавливают ее в исходном виде. Таким образом, для пользователя эти программы незаметны, они проявляются только увеличением емкости дисков и изменением скорости доступа. Если на диске хранятся программы, то увеличение емкости невелико — в 1.5 раза, но для баз данных оно может достигать 4-5 раз.
Программы для автономной печати (спуллеры). Позволяют распечатывать файлы на принтере параллельно с выполнением другой работы на компьютере. Некоторые из этих программ, например PrintCashe, вдобавок обеспечивают и некоторое ускорение печати. Многие программы, например Microsoft Windows, Microsoft Word для DOS, имеют встроенные средства для поддержки автономной печати.
Драйверы. Важным классом системных программ являются программы-драйверы. Они расширяют возможности ОС по управлению устройствами ввода-вывода компьютера (клавиатурой, жестким диском, мышью и т.д.), оперативной памятью и т.д. С помощью драйверов возможно подключение к компьютеру новых устройств или нестандартное использование имеющихся устройств.
Даже при наличии десятков тысяч программ для IBM PC пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В этих случаях следует использовать инструментальные средства или системы программирования, т.е. системы для разработки новых программ.
. К ним относятся: машинно-ориентированные языки, трансляторы с языков высокого уровня, средства редактирования, компоновки и загрузки команд. С каждой операционной системой связан стандартный набор инструментальных средств. Различия имеются лишь в версиях языков высокого уровня, их форматах, объектных и загрузочных модулях, получающихся после трансляции, компоновки программ. Современные системы программирования для персональных компьютеров обычно предоставляют пользователю весьма мощные и удобные средства для разработки программ. В них входят:
· трансляторы – программы переводящие исходную программу, написанную на алгоритмическом языке, на язык, понятный компьютеру. Трансляторы делятся на компиляторы и интерпретаторы.Компилятор, осуществляет преобразование программы, написанной на языке программирования в программу в машинных кодах, а затем ее исполняет. Интерпретатор, осуществляет выполнение программы на языке программирования высокого уровня одновременно с трансляцией;
· библиотеки подпрограмм, содержащие заранее подготовленные подпрограммы, которыми могут пользоваться программисты;
· различные вспомогательные программы, например отладчики, программы для получения перекрестных ссылок и т.д.
Часто компиляторы и интерпретаторы объединяются с редакторами текстов для ввода и исправления текстов программ и отладчиками для обнаружения и исправления ошибок в программах (отладки программ).
Для популярных языков программирования на IBM PC существует множество систем программирования. Такие как Turbo C, Turbo C++, Turbo Pascal, Microsoft C, Microsoft Basic.
Язык СИбыл изобретен в 1972 году Денисом Ричи для использования при написании весьма ныне популярной операционной системы Unix. Этот язык соединяет свойства языка высокого уровня с возможностью эффективного использования ресурсов компьютера, которое обычно обеспечивается только при программировании на языке Ассемблера. Этот язык позволяет писать сложные и высокоэффективные программы. Бьярном Страустрапом был разработан язык СИ++ — расширение языка СИреализующее популярные в последнее время концепции объектно-ориентированного программирования и облегчающее создание сложных программ. На IBM PC наибольшей популярностью пользуются реализации этого языка фирм Borland (Turbo C) и Microsoft (Microsoft C, Quick C), а также Zortech C фирмы Symantec.
Язык Pascal был разработан в 1970 году Никлаусом Виртом как язык для обучения студентов программированию. Pascal позволяет писать программы, легко читаемые даже новичком, и содержит в себе все элементы, необходимые для соблюдения хорошего строго стиля программирования, упрощающего разработку сложных программ. В последующем в этот язык были внесены изменения, что сделало его пригодным не только для учебных целей, но и для практического использования. Например: Turbo Pascal фирмы Borland.
Язык Basic был создан в 1964 году Томасом Куртом и Джоном Кемени как язык для начинающих, облегчающий написание простых программ. Существуют сотни различных версий Basic, которые не полностью совместимы друг с другом. Этот язык распространен на микрокомпьютерах и мало подходит для написания больших сложных программ. программного обеспечения Используются Quick Basic фирмы Microsoft и Turbo Basic фирмы Borland.
На IBM PC, кроме Си, Си++, Pascal, Basic, используется и много других языков программирования. Для построения экспертных систем употребляются языки Лисп и Пролог, для создания информационных систем популярен язык Clipper и т.д. Имеются и реализации языков, которые использовались ранее на больших компьютерах, например Фортрана и Кобола7.
Особым классом систем программирования являются системы для создания приложений типа клиент — сервер. Эти системы позволяют быстро создавать информационные системы для подразделений и даже крупных предприятий. В них содержатся средства для создания пользовательского интерфейса, описания процедур обработки данных, заготовки для выполнения типовых действий по обработке данных и т. д. эти системы, как правило, позволяют работать с самыми различными СУБД.
Прикладные системы образуют уровень программного обеспечения, обращенного к человеку, обычно не составляющему программы, а лишь использующего их. Прикладные системы создаются таким образом, чтобы обеспечить человеку максимальный комфорт для ввода чисел и текста, просмотра и редактирования данных. При этом от пользователя не требуется специальных знаний и навыков, не относящихся к его профессиональным интересам.
Сложилось несколько основных прикладных систем, используемых на персональных ЭВМ:
· Прикладные пакеты и программы общего назначения (ППП);
· Проблемно-ориентированные пакеты и программы;
· Интегрированные прикладные системы.
Прикладные пакеты и программы общего назначения ( ППП )
ППП особенно широко применяются в сфере организационной, управленческой деятельности. К ним относятся:
· Пакеты деловой графики;
· Системы управления базами данных(СУБД);
· Программы технического обслуживания.
Источник: ronl.org
Что такое программы-оболочки?
Самая популярная у пользователей IBM-совместимого ПК оболочка — пакет программ Norton Commander. Он обеспечивает:
- создание, копирование, пересылку, переименование, удаление, поиск файлов, а также изменение их атрибутов;
- отображение дерева каталогов и характеристик входящих в них файлов в форме, удобной для восприятия человека;
- создание, обновление и распаковку архивов (групп сжатых файлов);
- просмотр текстовых файлов;
- редактирование текстовых файлов;
- выполнение из её среды практически всех команд DOS;
- запуск программ;
- выдачу информации о ресурсах компьютера;
- создание и удаление каталогов;
- поддержку межкомпьютерной связи;
- поддержку электронной почты через модем.
В начале 90-х годов во всем мире огромную популярность приобрела графическая оболочка MS-Windows 3.х, преимущество которой состоит в том, что она облегчает использование компьютера, и её графический интерфейс вместо набора сложных команд с клавиатуры позволяет выбирать их мышью из меню практически мгновенно. Операционная среда Windows, работающая совместно с операционной системой DOS, реализует все свойства, необходимые для производительной работы пользователя, в том числе — многозадачный режим.
Оболочка Norton Navigator — это набор мощных программ для управления файлами, расширяющий возможности Windows. Позволяет экономить время практически на всех операциях: поиск файлов, копирование и перемещение файлов, открытие каталогов.
6.9. Что собой представляют операционные системы Windows, Unix, Linux?
Операционные системы Windows
В настоящее время большинство компьютеров в мире работают под управлением той или иной версии операционной среды Windows фирмы Microsoft. Охарактеризуем наиболее распространенные версии.
Windows NT (NT — англ. N ew T echnology) — это операционная система, а не просто графическая оболочка. Она использует все возможности новейших моделей персональных компьютеров и работает без DOS. Windows NT — 32-разрядная ОС со встроенной сетевой поддержкой и развитыми многопользовательскими средствами.
Она предоставляет пользователям истинную многозадачность, многопроцессорную поддержку, секретность, защиту данных и многое другое. Эта операционная система очень удобна для пользователей, работающих в рамках локальной сети, для коллективных пользователей, особенно для групп, работающих над большими проектами и обменивающихся данными.
Windows 95 представляет собой универсальную высокопроизводительную многозадачную и многопотоковую 32-разрядную ОС нового поколения с графическим интерфейсом и расширенными сетевыми возможностями. Windows 95 — интегрированная среда, обеспечивающая эффективный обмен информацией между отдельными программами и предоставляющая пользователю широкие возможности работы с мультимедиа, обработки текстовой, графической. звуковой и видеоинформации. Интегрированность подразумевает также совместное использование ресурсов компьютера всеми программами.
Эта операционная система обеспечивает работу пользователя в сети, предоставляя встроенные средства поддержки для обмена файлами и меры по их защите, возможность совместного использования принтеров, факсов и других общих ресурсов. Windows 95 позволяет отправлять сообщения электронной почтой, факсимильной связью, поддерживает удаленный доступ. Применяемый в Windows 95 защищённый режим не позволяет прикладной программе в случае сбоя нарушить работоспособность системы, надежно предохраняет приложения от случайного вмешательства одного процесса в другой, обеспечивает определённую устойчивость к вирусам.
Пользовательский интерфейс Windows 95 прост и удобен. В отличие от оболочки Windows 3 эта операционная система не нуждается в установке на компьютере операционной системы DOS. Она предназначена для установки на настольных ПК и компьютерах блокнотного типа с процессором 486 или Pentium. Рекомендуемый размер оперативной памяти 32—128 Мбайт.
После включения компьютера и выполнения тестовых программ BIOS операционная система Windows 95 автоматически загружается с жесткого диска. После загрузки и инициализации системы на экране появляется рабочий стол, на котором размещены различные графические объекты. Пользовательский интерфейс спроектирован так, чтобы максимально облегчить усвоение этой операционной системы новичками и создать комфортные условия для пользователя.
Windows 98 отличается от Windows 95 тем, что в ней операционная система объединена с браузером Internet Explorer посредством интерфейса, выполненного в виде Web -браузера и оснащенного кнопками «Назад» и «Вперед» для перехода на предыдущую и последующую Web -страницы. Кроме этого, в ней улучшена совместимость с новыми аппаратными средствами компьютера, она одинаково удобна как для использования на настольных, так и на портативных компьютерах.
Windows 2000 Professional — операционная система нового поколения для делового использования на самых разнообразных компьютерах — от портативных до серверов. Эта ОС является наилучшей для ведения коммерческой деятельности в Интернете. Она объединяет присущую Windows 98 простоту использования в Интернете, на работе, в пути с присущими Windows NT надежностью, экономичностью и безопасностью.
Windows CE 3.0 — операционная система для мобильных вычислительных устройств, таких, как карманные компьютеры, цифровые информационные пейджеры, сотовые телефоны, мультимедийные и развлекательные приставки, включая DVD проигрыватели и устройства целевого доступа в Интернет.
Операционная система Windows CE — 32-разрядная, многозадачная, многопоточная операционная cистема, имеющая открытую архитектуру, разрешающую использование множеств устройств. Windows CE позволяет устройствам различных категорий «говорить» и обмениваться информацией друг с другом, связываться с корпоративными сетями и с Интернет, пользоваться электронной почтой.
Windows CE компактна, но высоко производительна. Это мобильная система, функционирующая с микропроцессорами различных марок и изготовителей. Для нее есть программы Word и Excel, которые совместимы с их настольными аналогами. Имеет интегрированную систему управления питанием.
Операционная система Unix
Операционная система Unix была создана в Bell Telephone Laboratories. С краткой историей ее создания можно ознакомиться здесь. Unix — многозадачная операционная система, способная обеспечить одновременную работу очень большого количество пользователей.
Ядро ОС Unix написано на языке высокого уровня C и имеет только около 10 процентов кода на ассемблере. Это позволяет за считанные месяцы переносить ОС Unix на другие аппаратные платформы и достаточно легко вносить в нее серьезные изменения и дополнения. UNIX является первой действительно переносимой операционной системой.
В многочисленные существующие версии UNIX постоянно вносятся изменения. С одной стороны, это расширяет возможности системы, делает ее мощнее и надежнее, с другой — ведет к появлению различий между существующими версиями. В связи с этим возникает необходимость стандартизации различных свойств системы.
Наличие стандартов облегчает переносимость приложений между различными версиями UNIX и защищает как пользователей, так и производителей программного обеспечения. Поэтому в 80-х годах разработан ряд стандартов, оказывающих влияние на развитие UNIX. Сейчас существуют десятки операционных систем, которые можно объединить под общим названием UNIX. В основном, это коммерческие версии, выпущенные производителями аппаратных платформ для компьютеров своего производства. Причины популярности UNIX:
· Код системы написан на языке высокого уровня C, что сделало ее простой для понимания, изменения и переноса на другие платформы. Можно смело сказать, что UNIX является одной из наиболее открытых систем.
· UNIX — многозадачная многопользовательская система. Один мощный сервер может обслуживать запросы большого количества пользователей. При этом необходимо администрирование только одно системы. Кроме того, система способна выполнять большое количество различных функций, в частности, работать, как вычислительный сервер, как сервер базы данных, как сетевой сервер, поддерживающий важнейшие сервисы сети и т.д.
· Наличие стандартов. Несмотря на разнообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов. Для администратора переход на другую версию системы не составит большого труда, а для пользователей он может и вовсе оказаться незаметным.
· Простой, но мощный модульный пользовательский интерфейс. Имея в своем распоряжении набор утилит, каждая из которых решает узкую специализированную задачу, можно конструировать из них сложные комплексы.
· Использование единой, легко обслуживаемой иерархической файловой системы. Файловая система UNIX — это не только доступ к данным, хранящимся на диске. Через унифицированный интерфейс файловой системы осуществляется доступ к терминалам, принтерам, сети и т.п.
· Очень большое количество приложений, в том числе свободно распространяемых, начиная от простейших текстовых редакторов и заканчивая мощными системами управления базами данных.
(По материалам пособия «ОС UNIX», http://base1.spiiras.nw.ru/univer/unix)
Операционная система Linux
Начало созданию системы Linux положено в 1991 г. финским студентом Линусом Торвальдсом (Linus Torvalds). В сентябре 1991 года он распространил по e-mail первый прототип своей операционной системы, и призвал откликнуться на его работу всех, кому она нравится или нет. С этого момента многие программисты стали поддерживать Linux, добавляя драйверы устройств, разрабатывая разные продвинутые приложения и др. Атмосфера работы энтузиастов над полезным проектом, а также свободное распространение и использование исходных текстов стали основой феномена Linux. В настоящее время Linux — очень мощная система, но самое замечательное то, что она бесплатная (free).
Линус Торвальдс
с символом Linux
—»пингвином»
Линус Торвальдс разработал не саму операционную систему, а только ее ядро, подключив уже имеющиеся компоненты. Сторонние компании, увидев хорошие перспективы для развития своего бизнеса, довольно скоро стали насыщать ОС утилитами и прикладным ПО. Недостаток такого подхода — отсутствие унифицированной и продуманной процедуры установки системы, и это до сих пор является одним из главных сдерживающих факторов для более широкого распространения Linux.
Феномен Linux вызвал к жизни разговоры о том, что родилась новая философия программирования, принципиально отличающаяся от того, что было раньше. Традиционные стадии жизненного цикла программного продукта таковы: анализ требований, разработка спецификаций, проектирование, макетирование, написание исходного текста, отладка, документирование, тестирование и сопровождение.
Главное, что отличает этот подход, — централизация управления разными стадиями и преимущественно «нисходящая» разработка (то есть постоянная детализация). Однако Linux создавалась по-иному. Готовый работающий макет постоянно совершенствовался и развивался децентрализованной группой энтузиастов, действия которых лишь слегка координировались.
Налицо анархичный характер и «восходящая» разработка: сборка все более крупных блоков из ранее созданных мелких. Здесь можно отметить и другое. При традиционной разработке в основу кладется проектирование и написание текстов, при разработке по методу Linux — макетирование, отладка и тестирование.
Первые два этапа распараллелить сложно, а с отладкой и тестированием дело обстоит полегче. Иными словами, разработка по методу Linux — это метод проб и ошибок, построенный на интенсивном тестировании. На любом этапе система должна работать, даже если это мини-версия того, к чему стремится разработчик. Естественный отбор оставляет только жизнеспособное.
О том, что такое программирование — наука, искусство или ремесло, — спорят уже давно. И если в основе традиционной разработки ПО лежит прежде всего ремесло, то при разработке методом компьютерного дарвинизма — несомненно искусство.
Нетрудно заметить, что «восходящая» разработка характеризует так называемое исследовательское программирование, когда система строится вокруг ключевых компонентов и программ, которые создаются на ранних стадиях проекта, а затем постоянно модифицируются. Отсутствие четкого плана, минимальное управление проектом, большое число сторонних территориально удаленных разработчиков, свободный обмен идеями и кодами — все это атрибуты нового программирования. Об особенностях исследовательского программирования написано немало статей. Так, швейцарские профессора А.Киральф, К.Чен и Й.Нивергельт выделили следующие важные моменты:
· разработчик ясно представляет направление поиска, но не знает заранее, как далеко он сможет продвинуться к цели;
· нет возможности предвидеть объем ресурсов для достижения того или иного результата;
· разработка не поддается детальному планированию, она ведется методом проб и ошибок;
· такие работы связаны с конкретными исполнителями и отражают их личностные качества.
Источник: infopedia.su
Что такое сценарий оболочки и почему вы должны его использовать
Оболочка — это программа в операционной системе Linux или Unix, которая позволяет вводить команды для выполнения системой. Когда окно терминала открывается на компьютере с Linux, оно запускает программу оболочки, которая представляет интерфейс для ввода команд. Этот интерфейс известен как интерфейс командной строки. Когда команда вводится, она выполняется оболочкой, а вывод выводится на экран.
Помимо возможности принимать и выполнять команды в интерактивном режиме, оболочка также может выполнять команды, хранящиеся в файле. Этот режим выполнения называется сценариями оболочки , и в этой статье мы рассмотрим основы сценариев оболочки.
1. История раковины
Начиная с Unix в 1970-х годах, была разработана программа оболочки под названием V6 Shell, разработанная Кеном Томсоном. Это была интерактивная оболочка, и ей не хватало скриптов.
За ним последовала Bourne Shell в 1977 году, и она по-прежнему используется сегодня в качестве оболочки по умолчанию для корневой учетной записи. Эта оболочка добавила скриптовые возможности, которые оказались чрезвычайно полезными на практике в течение многих лет.
Дальнейшее развитие оболочки в 1980-х годах привело к появлению множества популярных вариантов оболочек, наиболее популярными из которых были C-Shell и Korn Shell . У каждой из этих оболочек был свой синтаксис, который в некоторых случаях резко отличался от оригинальной оболочки.
Одной из самых популярных оболочек сегодня является Bash Shell . Bash расшифровывается как Bourne-Again-Shell и представляет собой значительно улучшенный вариант оригинальной Bourne Shell.
В этой статье мы опишем сценарии оболочки для Bash Shell
2. Выполнение сценария оболочки
Как вы выполняете сценарий оболочки? Просто. Просто передайте путь сценария в качестве аргумента в оболочку:
Пример сценария оболочки:
echo «hello world»
Запустите его следующим образом:
$ bash hello.sh # prints hello world
Примечание . Оболочка требует, чтобы строки заканчивались символами LF (перевод строки). Если вы напишите свой сценарий оболочки в Windows и попытаетесь выполнить его непосредственно в системе Linux, вы можете столкнуться с ошибками. Windows использует комбинацию CR-LF (Carriage-Return-Line-Feed) для завершения строки.
Это должно быть преобразовано только в LF. Проверьте ваш редактор Windows для способов сделать это.
Существует еще один способ выполнения сценария оболочки непосредственно в виде команды. Вставьте следующую строку (объявление hashbang ) в качестве первой строки вашего сценария оболочки.
#!/bin/bash
С этим изменением наш простой сценарий оболочки теперь:
#!/bin/bash echo «hello world»
Теперь вам нужно сделать исполняемый файл скрипта следующим образом:
$ chmod +x hello.sh
На этом этапе вы можете выполнить файл сценария напрямую, без явной ссылки на оболочку.
$ hello.sh # prints hello world
Давайте теперь посмотрим на некоторые преимущества использования сценариев оболочки
3. Автоматизация задач
Первое преимущество использования сценариев оболочки — это автоматизация часто выполняемых задач. Предположим, у вас есть задача, которую вы должны выполнять каждый день. Если вам нужно ежедневно выполнять несколько команд в вашей системе Linux, вы можете сохранить эти команды в файле и запустить скрипт. Примеры включают в себя:
- Ежедневно архивируйте и загружайте файл или папку в облачное хранилище какое облачное хранилище например, S3.
- Сжатие файлов журналов, которые имеют тенденцию расти каждый день.
- Извлекайте цены на акции, анализируйте извлеченные данные и запускайте электронную почту или SMS, когда выполняются определенные условия (слишком высокие или слишком низкие цены).
4. Объединение нескольких команд
В дополнение к автоматизации частых задач, вы можете также найти преимущество в том, что вы можете объединить несколько последовательностей команд в одну команду. Запоминание одной команды намного проще, чем нескольких команд, не говоря уже о порядке их выполнения.
Примером может служить последовательность загрузки Руководства по операционной системы сам. В процессе загрузки ОС выполняет ряд команд, чтобы привести систему в надлежащее состояние. Эти команды на самом деле являются сценариями оболочки, которые находятся в каталоге / etc. Если вы посмотрите на один из этих сценариев оболочки, вы поймете сложность загрузки системы, которую вам, возможно, пришлось бы выполнять вручную в отсутствие сценариев оболочки.
Ниже приведен пример сценария оболочки / etc / profile , который выполняется каждый раз, когда пользователь входит в систему. Представьте, что вы вводите эти команды вручную!
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), . ). if [ «$PS1» ]; then if [ «$BASH» ] [ «$BASH» != «/bin/sh» ]; then # The file bash.bashrc already sets the default PS1. # PS1=’h:w$ ‘ if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ «`id -u`» -eq 0 ]; then PS1=’# ‘ else PS1=’$ ‘ fi fi fi # The default umask is now handled by pam_umask. # See pam_umask(8) and /etc/login.defs. if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi
5. Легче развивать
Внутри обычной программы, написанной на C / C ++, можно выполнять те же действия, что и сценарий оболочки. Однако гораздо проще написать и отладить сценарий оболочки, чем программу на C / C ++. Особенно для задач системного администрирования, которые включают выполнение внешних команд, создание и удаление файлов и каталогов, перенаправление вывода и т. Д.
Программы на C / C ++ лучше подходят для гораздо более низкого уровня операций, таких как вызов системных вызовов, манипулирование структурами данных и т. Д.
6. Прозрачность
Сценарий оболочки, благодаря тому, что он является текстовым файлом, может быть легко просмотрен, чтобы проверить, какие действия он выполняет. В отличие от этого, единственный способ узнать, что делает программа, написанная на таком языке, как C / C ++ (и скомпилирована в исполняемый файл), — если она решит сообщить вам или у вас есть доступ к исходному коду. Например, вы можете проверить, удаляет ли сценарий оболочки какие-либо файлы, и если вам нужны эти файлы, вы можете скопировать их в другое место.
Также гораздо проще диагностировать проблемы с помощью сценариев оболочки, а не обычных программ, поскольку вы можете посмотреть исходный код. Это сценарий сбой, потому что каталог не существует? Вы можете посмотреть в коде сценария и создать каталог (хотя сценарий оболочки с хорошим поведением должен проверить и создать его, чтобы избежать таких ошибок).
7. Портативный
Сценарий оболочки можно перенести в другие Unix и Unix-подобные операционные системы и выполнить (если присутствует сама оболочка). Даже при переносе сценария оболочки из разных архитектур, таких как x86, MIPS, Sparc и т. Д., Сценарии оболочки гораздо более переносимы, чем программы на C / C ++.
Единственный способ передачи и использования программы на C / C ++ в другой системе — это скопировать исходный код, собрать программу и попытаться запустить ее. Даже в этом случае он может работать не так, как ожидается, если он использует специфичный для архитектуры код.
Теперь, когда у вас есть представление о том, что такое сценарии оболочки и их многочисленные преимущества, не хотели бы вы использовать их для своих задач? С какими проблемами вы столкнулись при их использовании? Пожалуйста, дайте нам знать в комментариях ниже.
Источник: gadgetshelp.com