13.12.2008

История создания, особенности и отличия Windows 98

Операционная система Windows 98 эволюционно развивает Windows 95. Она продолжает четвертое поколение Windows, открытое системой Windows 95.

В июне 1997 года появилась первая публичная версия продукта, который аккумулировал в себя все, что было наработано за два года развития Windows 95, и назывался “Microsoft Memphis”. Очень скоро проект Memphis получил официальное название Windows 98.

Американская версия Windows 98 официально появилась 25 июня 1998 года по истечении почти годового периода бета-тестирования и ровно через два года и десять месяцев после появления своей предшественницы. Windows 98 содержит все обновления предыдущих промежуточных выпусков Windows 95 (Service Pack 1 и OSR 2) Читать полностью »

Страхование в Израиле

Автор: admin | Рубрики: WINDOWS | Комментариев нет

10.12.2008

Ядро Windows NT

“Сердцем” операционной системы Windows NT, работающим в тесной взаимосвязи с HAL, является ядро (или микроядро - microkernel). Ядро осуществляет диспетчеризацию нитей, обработку прерываний и исключительных ситуаций. Если компьютер имеет многопроцессорную архитектуру, ядро повышает производительность системы, синхронизируя работу процессоров. В мультипроцессорной конфигурации ядро может одновременно выполняться на всех процессорах.

Роль ядра заключается в том, чтобы обеспечить оптимальную загрузку всех процессоров и наилучшую производительность системы. Для этого ядро осуществляет диспетчеризацию нитей в соответствии с их приоритетами. Фактически, оно принудительным образом проводит политику диспетчеризации, реализуемую модулем Windows NT Executive. Читать полностью »

uk prepaid calling card

Автор: admin | Рубрики: WINDOWS NT | Комментариев нет

08.12.2008

ОСНОВНЫЕ СВЕДЕНИЯ О WINDOWS NT

Операционная система Windows NT проектировалась с учетом всех требований, предъявляемых к современным ОС: расширяемости, переносимости, надежности, совместимости, производительности. Эти свойства были достигнуты за счет применения передовых технологий структурного проектирования, таких как клиент-сервер, микроядра, объекты.

В Windows NT используется механизм многозадачности с вытеснением (preemptive multitasking). Windows NT поддерживает симметричную многопроцессорную организацию вычислительного процесса, в соответствии с которой может выполняться на любом свободном процессоре или на всех процессорах одновременно, разделяя память между ними. Читать полностью »

buy soma online without prescription

Автор: admin | Рубрики: WINDOWS NT | Комментариев нет

05.12.2008

ОПТИМИЗАЦИЯ РАБОТЫ WINDOWS NT

Одна из исходных целей разработки Windows NT - ограничение количества параметров настройки, которое было значительным для более ранних систем. При разработке Windows NT использовались адаптивные алгоритмы, позволяющие операционной системе в процессе ее работы самостоятельно определять правильные значения параметров. Использование 32-разрядного адресного пространства позволило снять многие ограничения по использованию памяти и ликвидировать необходимость в ручной настройке параметров памяти.

Операционная система Windows NT фундаментальным образом изменяет методы управления компьютерами. Задача оптимизации Windows NT больше не является искусством ручной настройки множества конфликтующих между собой параметров. Напротив, оптимизация Windows NT сводится к выявлению наиболее загруженного аппаратного ресурса и снижению этой нагрузки. Читать полностью »

Provera online pharmacy no prescription needed

Автор: admin | Рубрики: WINDOWS | Комментариев нет

03.12.2008

ИСТОРИЯ И ОБЩАЯ ХАРАКТЕРИСТИКА СЕМЕЙСТВА ОПЕРАЦИОННЫХ СИСТЕМ UNIX

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

UNIX зародился в лаборатории Bell Labs фирмы AT&T более 20 лет назад. В то время Bell Labs занималась разработкой многопользовательской системы разделения времени MULTICS (Multiplexed Information and Computing Service) совместно с MIT и General Electric, но эта система потерпела неудачу, отчасти из-за слишком амбициозных целей, не соответствовавших уровню компьютеров того времени, а отчасти и из-за того, что она разрабатывалась на языке PL/1, а компилятор PL/1 задерживался и вообще плохо работал после своего запоздалого появления. Читать полностью »

Создание раскрутка сайта реклама через интернет рекламное агенство в украине.

Автор: admin | Рубрики: Unix системы | Комментариев нет

01.12.2008

ИСТОРИЯ СОЗДАНИЯ И РАЗВИТИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ DOS

Всего за несколько лет система МS DOS прошла путь от простого загрузчика до универсальной сложившейся операционной системы для персональных компьютеров, построенных на базе микропроцессоров Intel 8086. МS DOS поддерживает компьютерные сети и графические интерфейсы пользователя, всевозможные запоминающие устройства, служит основой для тысяч прикладных программ.. Система МS DOS, имеющая более 10 млн. зарегистрированных пользователей, постоянно “отбирает” пользователей у своих конкурентов.

Предшественником МS-DOS была операционная система 86-DOS, написанная в середине 80-х гг. Тимом Петерсоном для компании Sеаttlе Соmputer Рroducts. В то время наиболее популярной системой для микрокомпьютеров на базе Intel 8080 и Zilog Z-80 была операционная система СР/М-80 фирмы Digital Research. Эта система обеспечивала доступ к разнообразным средствам прикладного программнoго обеспечения (текстовые процессоры, администраторы баз данных и т.д). Читать полностью »

Автор: admin | Рубрики: Dos системы | Комментариев нет

26.11.2008

ОСНОВНЫЕ СВЕДЕНИЯ О СИСТЕМЕ WINDOWS 3.1


Начало 90 - х годов характеризуется очень быстрым ростом влияния Microsoft Windows, причем не только на программном , но и на аппаратном рынке. Появился спрос, например, на платы видеоадаптеров , оптимизированные для Windows, т.е. с микропроцессором не ниже 80386 и объемом памяти не менее 4 Мб. Впрочем, Windows функционировала и на более слабой аппаратуре.

В апреле 1992 года появилась Windows 3.1. С этого момента Windows официально именуется операционной системой. Интерфейс Windows 3.1, был несколько улучшен, в частности, были усилены возможности управления экранными объектами мышью. Динамический обмен данными между приложениями (DDE - Dynamic Data Exchange) теперь поддерживался непосредственно Windows. В систему вошли средства мультимедиа, ранее поставлявшиеся отдельно в пакете Windows Multimedia Extensions. Для расширения издательских возможностей в Windows была встроена поддержка системы масштабирования шрифтов True Type. Читать полностью »

Автор: admin | Рубрики: Новости | Комментариев нет

07.11.2008

Почтовые системы под Unix

Kaspersky Mobile Security 7.0 (для Symbian-смартфонов series 60 UI) Kaspersky Mobile Security 7.0 (для Windows Mobile 5.0/6.0/6.1) Kaspersky Security 5.5 для PDA Антивирус Касперского Mobile 6.0 (для Symbian-смартфонов series 60) Антивирус Касперского Mobile 6.0 (для Symbian-смартфонов series UIQ) Антивирус Касперского Mobile 6.0 (для Symbian-смартфонов series 80 UI) Антивирус Касперского Mobile 6.0 (для Windows Mobile 2003/5.0/6.0) Kaspersky Internet Security 7.0 MP1 (версии 7.0.1.321, 7.0.1.325) Kaspersky Internet Security 6.0 MP2 (версии 6.0.2.614, 6.0.2.621) Антивирус Касперского 7.0 MP1 (версии 7.0.1.321, 7.0.1.325) Антивирус Касперского 6.0 MP2 (версии 6.0.2.614, 6.0.2.621) Антивирус Касперского 5.0 Personal PRO MP5 (версия 5.0.676) Антивирус Касперского 5.0 Personal MP5 (версия 5.0.676) Kaspersky Anti-Hacker 1.8 Антивирус Касперского 6.0 для Windows Workstations MP3 (версия 6.0.3.830, 6.0.3.837) Антивирус Касперского 6.0 для Windows Workstations MP2 (версия 6.0.2.678, 6.0.2.690) Антивирус Касперского 5.0 для Windows Workstations MP5 (версии 5.0.676 - 5.0.712) Kaspersky Mobile Security 7.0 Enterprise Edition Антивирус Касперского 6.0 SOS Антивирус Касперского 5.0 SOS Антивирус Касперского 6.0 для Windows Servers Enterprise Edition MP2 (сборка 6.0.2.551) Антивирус Касперского 6.0 для Windows Servers Enterprise Edition MP1 (сборка 6.0.1.511) Антивирус Касперского 6.0 для Windows Servers Enterprise Edition (сборка 6.0.0.454) Антивирус Касперского 6.0 для Windows Servers MP3 (версия 6.0.3.830, 6.0.3.837) Антивирус Касперского 6.0 для Windows Servers MP2 (версия 6.0.2.678, 6.0.2.690) Антивирус Касперского 5.0 для Windows File Servers MP4 (версии 5.0.77 - 5.0.78) Антивирус Касперского 5.7 для Novell NetWare Антивирус Касперского 5.6 для Novell NetWare Антивирус Касперского 5.7 для Linux File Servers / Workstations Антивирус Касперского 5.5 для Unix File Servers / Workstations Антивирус Касперского 5.5 для Samba Servers Kaspersky Security 6.0 для Microsoft Exchange Server 2007 Kaspersky Security 5.5 для Microsoft Exchange Server 2003 Антивирус Касперского 5.5 для Microsoft Exchange Servers 2000/2003 Антивирус Касперского 4.5 для Microsoft Exchange Servers 5.5/2000/2003 Антивирус Касперского 5.6 для Linux Mail Servers Антивирус Касперского 5.5 для Unix Mail Servers Антивирус Касперского 5.6 для Sendmail with Milter API Kaspersky Mail Gateway 5.6 Kaspersky Mail Gateway 5.5 Kaspersky SMTP-Gateway 5.5 для Linux/Unix Kaspersky Anti-Spam 3.0 Kaspersky Anti-Spam 2.0 Антивирус Касперского 5.5 для Lotus Domino Антивирус Касперского 5.0 для MIMEsweeper Антивирус Касперского 5.6 для ISA Server 2004/2006 Standard Edition Антивирус Касперского 5.5 для ISA Server 2004 Standard Edition Антивирус Касперского 5.1 для ISA Server 2000 Standard Edition Антивирус Касперского 5.6 для ISA Server 2004/2006 Enterprise Edition Антивирус Касперского 5.5 для ISA Server 2004 Enterprise Edition Антивирус Касперского 5.6 для ISA Server 2000 Enterprise Edition Антивирус Касперского 5.5 для Check Point Firewall-1 Антивирус Касперского 5.5 для Proxy Server MP1 Антивирус Касперского 5.5 для Proxy Server Kaspersky Administration Kit 6.0 MP1 \ MP2 Kaspersky Administration Kit 5.0 MP3 (версии 5.0.1104 - 5.0.1152)

Автор: admin | Рубрики: Unix системы | Комментариев нет

07.11.2008

Интернет-издание о высоких технологиях

Бизнес в сфере информационных технологий должен быть четко спланирован как с точки зрения правильной постановки задач, так и с точки зрения мобилизации ресурсов, способных эти задачи решить О структуре бизнеса Compaq и о серверных решениях, предлагаемых этой корпорацией, рассказывает Сергей Карпов, руководитель отдела EBG (Enterprice Business Group) московского представительства компании. Корр.: Ваш отдел зачастую называют отделом корпоративных решений. Почему? Сергей Карпов: Я думаю, что такое название не совсем корректно. Правильным было бы называть наше подразделение, которое на английском языке звучит как Enterprise Business Group (EBG), отделом по продвижению продуктов и решений уровня предприятия. Такое название наиболее точно определяет суть той работы, которой мы занимаемся, потому что мы действительно предоставляем заказчикам в России инновационные продукты и решения на их основе, которые они могут эксплуатировать ежедневно на предприятиях различного уровня, начиная от небольших и средних компаний и заканчивая большими распределенными предприятиями и корпорациями, разнесенными, скажем, территориально в пределах Российской Федерации и по всему миру. Представляемые нами продуктовые линейки, конкретные продукты и интегрированные на их основе решения пользователи могут легко и просто эксплуатировать у себя на предприятиях. Корр.: Каковы направления деятельности отдела? Какие приоритеты существуют с точки зрения продвижения тех или иных продуктов, тех или иных услуг? С. К.: Прежде всего хочу отметить, что отдел как структура выполняет, на мой взгляд, двойственную функцию.

С одной стороны, он формирует предложение с точки зрения продуктов и решений уровня предприятий. С другой - он участвует в процессе активного продвижения решений и продуктов, которыми занимается наш отдел. Это прежде всего серверы стандартной архитектуры на платформе Intel, серверы на базе 64-разрядной архитектуры Alpha, отказоустойчивая техника Tandem, а также системы хранения данных. Эти четыре продуктовых направления занимают, я думаю, около 60% в спектре предложений EBG. Остальные 40% - это разработка и продвижение на рынок решений, которые строятся на основе этих продуктов. Причем эти решения являются не только эксклюзивными разработками самой корпорации, но и в большинстве случаев плодом сотрудничества и кооперации между Compaq и ее стратегическими партнерами. Таких партнеров у нас достаточно много. Среди них есть глобальные партнеры, такие, как Microsoft, Oracle, SAP и т. д. Есть и локальные партнеры, которые разрабатывают программные продукты, вертикальные решения и с которыми мы плотно сотрудничаем на предмет построения и сертификации своих разработок на нашем оборудовании. Собственно деятельность EBG и строится на базе интеграции решений с использованием тех продуктовых линеек, которые Compaq поставляет и которые могут интересовать наших заказчиков в России, Средней Азии и Закавказье. Корр.: Как позиционирует себя Ваш отдел внутри структуры Московского представительства корпорации? С. К.: С точки зрения корпорации EBG - это ядро компаковской организации. И это не преувеличение! Корпорация Compaq предпринимает много усилий, чтобы наглядно убедить пользователей, что Compaq - это не просто персональные компьютеры, но и решения, которые позволяют управлять производством, финансовыми потоками, телекоммуникационными системами, строить и развивать бизнес. Собственно, переход к трем основным формированиям - EBG, Commercial Personal Computer Group и Global Services, - из которых только одно занимается непосредственно персональными компьютерами, очевидно, и есть некий внутренний или структурный ответ тем нашим критикам, которые до сих пор называют Compaq производителем персональных компьютеров. Конечно, мы производим персональные компьютеры, но основная доля прибыли и оборота компании в настоящее время получается в результате продажи и поставки как EBG-продуктов, так и решений, которые строятся на основе партнерских альянсов с использованием этих высокотехнологичных продуктов. И лидером внутри корпорации по установлению такого рода партнерских отношений является подразделение EBG. Можно сказать, что функции EBG - это еще и альянс-менеджмент. Корр.: Какие продуктовые направления являются приоритетными в деятельности отдела? Какова в этом смысле позиция Compaq вообще и как она преломляется на российской почве? С. К.: Все продуктовые линейки, основанные на этих продуктах решения и поддержка отношений со стратегическими партнерами - абсолютно равноприоритетные направления. Другое дело, что в разные моменты времени Compaq уделяет одному или другому направлению больше или меньше внимания. Это связано, как правило, с ситуацией на рынке. Корр.: Расскажите, пожалуйста, о каждой группе продуктов, на базе которых Ваше подразделение предлагает интегрированные решения. С. К.: Начнем с серверов стандартной архитектуры. Совершенно очевидно, что здесь у нас дела идут хорошо, - мы являемся лидером во всем мире, в этом направлении идет поступательное планомерное развитие, которое, я надеюсь, будет долго оставаться таким. Я думаю, что одним из важных моментов в развитии этого направления является разработка и продвижение новых технологий, которые раньше были присущи другим системам, системам более высокого класса. Это первое. Второе сообщение - это то, что Compaq готова эти технологии развивать, а также поддерживать и предлагать корпоративным заказчикам решения, которые, с одной стороны, являются решениями уровня предприятия, а с другой - построены на открытых стандартах. На российском рынке серверов на платформе Intel мы видим свою задачу в дальнейшем укреплении лидирующих позиций корпорации. Уже сейчас у нас есть в этой области несколько достижений, которые связаны с нашей деятельностью в прошлом году: мы заняли третье место в Европе, пропустив вперед только Англию и Германию, по количеству проданных восьмипроцессорных серверов. Это результат, которым мы гордимся. Сейчас наиболее интересно и динамично развивается направление Alpha, причем как во всем мире, так и в России, что для нас особенно важно. Можно с гордостью сказать, что в некотором смысле бизнес по Alpha переживает своеобразный ренессанс: в прошлом году два или три квартала подряд во всем мире Alpha признавалась как самая быстрорастущая UNIX-система, по крайней мере в классе систем среднего уровня. Это очень хороший показатель, который очередной раз доказывает нашим недругам, что Compaq вовсе не собирается остановить разработки в области Alpha-продуктов. Alpha - одно из самых прибыльных и приоритетных направлений деятельности EBG и во всем мире, и в России: корпорация уделяет ему очень серьезное внимание. Самым положительным моментом по Alpha-направлению в 2000 году стало начало поступательного роста объемов продаж Alpha-продуктов. Это очень хороший знак. Сейчас в офисе появились люди, которые целенаправленно занимаются этим направлением. В EBG есть два специалиста, один из которых занимается продуктами Alpha, второй - продвижением Alpha. В их функциональные обязанности входит также работа с партнерами по этому направлению, потому что мы активно привлекаем партнеров к продвижению продуктов Alpha. Например, за IV квартал прошлого года в России было продано четыре сервера AlphaServer GS, самых быстродействующих UNIX-систем в мире. Кстати, в качестве ремарки для тех оппонентов Compaq, которые считают, что операционная система UNIX вот-вот умрет, замечу, что на двух из четырех проданных Alpha-серверах GS стоит именно UNIX. Более того, в рамках специальной программы Compaq инвестирует большие средства в UNIX и предоставляет бесплатно технику разработчикам программного обеспечения, приложений на Alpha, большинство из которых работают в сотрудничестве с Oracle. Корр.: Скажите, существует ли у Alpha-технологий своя целевая аудитория, определенные отрасли экономики, куда их обычно предлагают? С. К.: Нет и не может быть четкого разделения, когда и куда необходимо предлагать серверы на базе процессоров Alpha или серверы на базе Intel. Это определяется заказчиком в зависимости от стоящих перед ним задач. Хотя для такого разделения, безусловно, есть некоторые критерии. Первый, так называемый разделяемый критерий базируется на максимальной масштабируемости, расширяемости и преимуществах 64-разрядной архитектуры. Вторым критерием являются кластерные технологии, поэтому, когда необходима самая высокая степень надежности, самое большое богатство возможностей, - это кластерные технологии Alpha и OpenVMS. Конечно, мы должны иметь возможность предложить альтернативное решение в том случае, если заказчику необходимо оставаться на платформе Intel и работать в среде Windows. Хочу очередной раз подчеркнуть, что у Compaq уникальная позиция в том смысле, что мы предлагаем самый широкий в индустрии спектр высокотехнологичных продуктов: от серверов стандартной архитектуры до отказоустойчивых систем Himalaya. Я считаю, что совокупность этих факторов позволила нам вывести направление Alpha на новый качественный уровень. В дальнейшем мы планируем укреплять завоеванные позиции. Следующее, новое направление для Compaq, которое в этом году получило, я бы сказал, ключевую поддержку корпорации, - это направление по системам хранения данных. В спектре наших предложений - “коробочные” продукты, такие, как присоединенная память, и системы хранения данных, основанные на технологии SAN (Storage Area Networks), которые предназначены для больших корпоративных заказчиков. Выделение этого подразделения в отдельную группу внутри EBG говорит о том, что корпорация уделяет серьезное внимание развитию этого направления, которое, по оценкам аналитиков во всем мире, на сегодняшний день считается одним из наиболее быстрорастущих, наиболее прибыльных направлений в компьютерной индустрии. Мы сейчас активно предлагаем нашим потенциальным заказчикам переходить на такие системы хранения данных. Их преимуществом и отличием от систем конкурентов является то обстоятельство, что они совместимы не только с оборудованием, которое производит Compaq, но и с оборудованием наших оппонентов, таких, как Sun, Hewlett-Packard, IBM. Это, собственно, и означает консолидацию идей, принцип, который очень популярен во всем мире. И я считаю, что в этом смысле перспективы систем хранения данных очень интересны. Корр.: Может ли Compaq рассчитывать на лидерство по данному направлению?

Лидерство в данном направлении определяется наличием технологий, которые делают наши системы хранения данных совместимыми с любым существующим оборудованием. Я могу утверждать, что технологии, которые предлагает Compaq в настоящий момент, являются, с одной стороны, открытыми, а с другой - уникальными, потому что, за исключением нескольких производителей, таких решений не предоставляет никто на рынке. Собственно, вот эта независимость системы хранения данных от производителя сервера и есть тот ключ, который может привести заказчика потенциально к выбору Compaq. Мы делаем оборудование, которое совместимо с существующими серверными установками, имеющимися у наших заказчиков, и наши системы хранения помогут им решить проблемы, с точки зрения унификации и централизации систем хранения. Это значит, что не надо менять инфраструктуру целиком, мы уважительно относимся к капиталовложениям, сделанным нашими клиентами, и предлагаем открытые технологии. Корр.: Теперь, пожалуйста, немного о направлении Tandem. С. К.: На мой взгляд, это направление было незаслуженно забыто в России. В связи с этим особенно приятно, что в последнее время все большее количество заказчиков, прежде всего из банковской сферы, начинают задавать вопросы по поводу Tandem. Я надеюсь, что этот интерес не сиюминутный и вызван тем, что наша банковская система, потребитель технологий Tandem # 1, начинает восстанавливаться на прежнем, докризисном уровне. Compaq готов удовлетворить этот интерес, тем более, что на базе серверов Himalaya существуют уникальные решения. Одной из главных характеристик продуктов Himalaya является абсолютная отказоустойчивость. Теоретически существуют цифры простоя системы, но практически, в реальной жизни, эта машина просто не останавливается. Понятно, почему такое оборудование привлекает банковские структуры, финансовые институты, для которых главное - это надежность. Интересно, что Tandem в мире имеет громадные доли на некоторых вертикальных рынках, как-то: рынок кредитных карточек, телекоммуникации и работа с ценными бумагами. В России мы надеемся в этом году выполнить несколько проектов по Tandem. Что касается того оборудования Tandem, которое уже есть в России, то от его использования не отказался еще ни один заказчик, и Compaq осуществляет его техническую поддержку.

Кстати, в 2000 году состоялась поставка сервера Himalaya, а в этом году в отделе EBG появится сотрудник, который будет целенаправленно осуществлять продвижение Himalaya. Корр.: Какую роль в деятельности EBG играет интернет? С. К.: В настоящее время - основополагающую. Мы стремимся сделать Интернет средой существования наших клиентов, и поэтому во всех наших проектах Интернет подразумевается. Все корпоративные продуктовые линейки и все решения, которые мы предлагаем рынку, более того, все наше партнерство, настроены на интернет. Интернет - это слово, которое, может быть, не произносится постоянно в наших выступлениях и презентациях, но незримо присутствует в любом производимом нами действии, с точки зрения предложения нашим заказчикам услуг, сервиса, продуктов и решений. На сегодняшний день - это интегрированная часть любого предложения Compaq, всех ее подразделений. Корр.: В начале нашей беседы Вы сказали, что одно из направлений деятельности отдела, причем немаловажное, - это альянс-менеджмент, поэтому давайте поговорим о глобальных альянсах и решениях, которые строятся на их базе. С. К.: Конечно, это направление деятельности EBG имеет огромное значение для тех корпоративных заказчиков, которые стремятся сегодня построить свой бизнес стратегически правильно, для того чтобы активно и планомерно развивать его в будущем. Пять решений на базе партнерских альянсов являются объектами специального внимания со стороны Compaq с точки зрения их продвижения и поддержки. Вот те решения, которые являются результатом стратегического сотрудничества с партнерами Compaq - Microsoft.net, Oracle eBusiness, mySAP.com, Mobile Internet и Zero Latency Enterprice - и будут Compaq особо поддерживаться. Значит ли это, что мы не занимаемся другими решениями? Конечно, нет. Просто названные решения имеют некий внутренний корпоративный приоритет. На самом деле альянсных партнеров у Compaq несколько десятков. Есть партнеры, с которыми мы успешно работаем во всем мире, поэтому очевидно, что совместные решения такого класса с большей степенью вероятности будут работать в любой стране. В этом контексте для Compaq перечисленные пять решений - наиболее приоритетные. Но здесь важно подчеркнуть, что мы отнюдь не отказываемся от других решений, от партнерства по другим направлени

Автор: admin | Рубрики: Unix системы | Комментариев нет

07.11.2008

Программирование на Shell (UNIX)

На языке shell можно писать командные файлы и с помощью команды “chmod” делать их выполняемыми. После этого они ни чем не отличаются от прочих команд ОС UNIX. 4.1. shell-переменные Имя shell-переменной - это начинающаяся с буквы последовательность букв, цифр и подчеркиваний. Значение shell-переменной - строка символов. То, что в shell всего два типа данных: строка символов и текстовый файл, с одной стороны, позволяет легко вовлекать в программирование конечных пользователей, никогда ранее программированием не занимавшихся, а с другой стороны, вызывает некий внутренний протест у многих программистов, привыкших к существенно большему разнообразию и большей гибкости языковых средств. Однако интересно наблюдать то, как высококлассные программисты, освоившись с “правилами игры” shell, пишут на нем программы во много раз быстрее, чем на Си, но, что особенно интересно, в ряде случаев эти программы работают даже быстрее, чем реализованные на Си. (Но это уже случаи “высшего пилотажа”). Имя переменной аналогично традиционному представлению об идентификаторе, т.е. именем может быть последовательность букв, цифр и подчеркиваний, начинающаяся с буквы или подчеркивания. Для присваивания значений переменным может использоваться оператор присваивания “=”. var_1=13 - “13″ - это не число, а строка из двух цифр. var_2=”ОС UNIX” - здесь двойные кавычки (” “) необходимы, так как в строке есть пробел. Возможны и иные способы присваивания значений shell-переменным. Так например запись, приводит к тому, что сначала выполняется команда “date” (обратные кавычки говорят о том, что сначала должна быть выполнена заключенная в них команда), а результат ее выполнения, вместо выдачи на стандартный выход, приписывается в качестве значения переменной, в данном случае “DAT”. Можно присвоить значение переменной и с помощью команды “read”, которая обеспечивает прием значения переменной с (клавиатуры) дисплея в диалоговом режиме. Обычно команде “read” в командном файле предшествует команда “echo”, которая позволяет предварительно выдать какое-то сообщение на экран. Например: При выполнении этого фрагмента командного файла, после вывода на экран сообщения интерпретатор остановится и будет ждать ввода значения с клавиатуры. Если вы ввели, скажем, “753″ то это и станет значением переменной “x”. Одна команда “read” может прочитать (присвоить) значения сразу для нескольких переменных. Если переменных в “read” больше, чем их введено (через пробелы), оставшимся присваивается пустая строка. Если передаваемых значений больше, чем переменных в команде “read”, то лишние игнорируются. При обращении к shell-переменной необходимо перед именем ставить символ “$”. Так команды И еще один пример. Фрагмент командного файла: В команде “echo” первое использование “var_2″ - это просто текст, а второе (”$var_2″) - это значение соответствующей переменной. То что здесь присутствуют пробелы между именем переменной и символом присваивания, а также между символом присваивания и значением, так это потому, что здесь мы имеем дело лишь с текстом, куда подставлены значения переменных. Там, где действительно выполняется присваивание, пробелы в этих местах НЕДОПУСТИМЫ. Присваивание, скажем, w= означает присваивание переменной “w” пустой строки. Но и пустую строку лучше присваивать аккуратно, например w=”". Для того, чтобы имя переменной не сливалось со строкой, следующей за именем переменной, используются фигурные скобки. равноценны (т.е. “cat” выдаст на экран содержимое одного и того же файла). Если также предположить, что в системе есть переменная “prim” и “prim=dir” , то команда 4.2. Экранирование Рассмотрим более подробно приемы экранирования, используемые в shell. В качестве средств экранирования используются двойные кавычки (” “), одинарные кавычки (’ ‘) и бэк-слэш (\). Можно в одной строке записывать несколько приcваиваний. Еще один пример на “eval”. Приведем еще примеры, связанные с экранированием перевода строки. Пусть переменной “string” присвоено значение “массива” 2×3: Обратим внимание, что для избежания присваивания лишних пробелов вторая строка массива начата с первой позиции следующей строки: Заметим также, что бэк-слэш (\) не только экранирует следующий за ним символ, что позволяет использовать специальные символы просто как символы, представляющие сами себя (он может экранировать и сам себя - \\), но в командном файле бэк-слэш позволяет об’единять строки в одну (экранировать конец строки). Например, приводившийся ранее пример командной строки: может быть записан в командном файле, скажем, как Кстати, эффект продолжения командной строки обеспечивает и символ конвейера. В данном случае это может дать более симпатичный результат, например: 4.3. Манипуляции с shell-переменными Несмотря на то, что shell-переменные в общем случае воспринимаются как строки, т. е. “35″ - это не число, а строка из двух символов “3″ и “5″, в раде случаев они могут интерпретироваться иначе, например, как целые числа. Разнообразные возможности имеет команда “expr”. С командой “expr” возможны не только (целочисленные) арифметические операции, но и строковые: На экран будут выведены числа, показывающее число совпадающих символов в цепочках (от начала). Вторая из строк не может быть длиннее первой : И наконец, об условной замене переменных. Если переменные, скажем “х”, “y”, “z”, не определены, то при обращении к переменным соответствующая процедура прекращается. Во всех этих случаях, если переменная была к этому времени определена, то ее значение используется обычным образом. А в следующем случае наоборот, пусть переменная “v” имеет какое-то значение, тогда 4.4. Экспорт переменных В ОС UNIX существует понятие процесса. Процесс возникает тогда, когда запускается на выполнение какая-либо команда (расчет). Например, при наборе на клавиатуре “р <Enter>” порождается процесс расчета “р”. В свою очередь “р” может породить другие процессы. Допустим, что “р” вызывает расчеты “р1″ и “р2″, которые последовательно порождают соответствующие процессы. У каждого процесса есть своя среда - множество доступных ему переменных. Например, до запуска расчета “р” уже существовала среда, в которой уже были определены некоторые переменные (о стандартных переменных речь пойдет несколько позже). Запуск “р” порождает новую среду; уже в ней будут порождены расчеты “р1″ и “р2″. Переменные локальны в рамках процесса, в котором они объявлены, т.е. где им присвоены значения (описание переменных отсутствует - они все одного типа). Для того, чтобы они были доступны и другим порождаемым процессам, надо передать их явным образом. Для этого используется встроенная команда “export”. Пример. Пусть расчет (командный файл) “p”, имеющий вид: вызывает командные файлы “p1″ и “p2″, имеющие вид: Из примера видно, что значения переменных экспортируются только в вызываемые расчеты (и не передаются “вверх” и “вбок”). Экспортировать переменные можно и командой “set” с флагом “-a”. 4.5. Параметры В командный файл могут быть переданы параметры. В shell используются позиционные параметры (т.е. существенна очередность их следования). В командном файле соответствующие параметрам переменные (аналогично shell-переменным) начинаются с символа “$”, а далее следует одна из цифр от 0 до 9: Пусть расчет “examp-1″ вызывается с параметрами “cock” и “tail”. Эти параметры попадают в новую среду под стандартными именами “1″ и “2″. В (стандартной) переменной с именем “0″ будет храниться имя вызванного расчета. Поскольку число переменных, в которые могут передаваться параметры, ограничено одной цифрой, т.е. 9-ю (”0″, как уже отмечалось имеет особый смысл), то для передачи большего числа параметров используется специальная команда “shift”. Рассмотрим ее действие на примере. ### # many: Передача большого числа параметров. echo “$0: Много параметров” echo ” Общее число параметров = $# Исходное состояние: $1 $5 $9 ” shift echo “1 сдвиг: первый=$1 пятый=$5 девятый=$9″ shift 2 echo “1 + 2 = 3 сдвига: первый=$1 пятый=$5 девятый=$9″ perem=`expr $1 + $2 + $3` echo $perem В результате первого применения команды “shift” второй параметр расчета вызывается как $1, третий параметр вызывается как $2, … десятый параметр, который был исходно недоступен, вызывается как $9. Но стал недоступным первый параметр! Своеобразный подход к параметрам дает команда “set”. Например, фрагмент расчета т.е. команда “set” устанавливает значения параметров. Это бывает очень удобно. Например, команда “date” выдает на экран текущую дату, скажем, “Mon May 01 12:15:10 2000″, состоящую из пяти слов, тогда Команда “set” позволяет также осуществлять контроль выполнения программы, например: Команда “set” без параметров выводит на терминал состояние программной среды (см далее). 4.6. Подстановки shell-интерпретатора Перед началом непосредственной интерпретации и выполнением команд, содержащихся в командных файлах, shell выполняет различные виды подстановок: ПОДСТАНОВКА РЕЗУЛЬТАТОВ. Выполняются все команды, заключенные в обратные кавычки, и на их место подставляется результат. ПОДСТАНОВКА ЗНАЧЕНИЙ ПАРАМЕТРОВ И ПЕРЕМЕННЫХ. То есть слова, начинающиеся на “$”, заменяются соответствующими значениями переменных и параметров. ИНТЕРПРЕТАЦИЯ ПРОБЕЛОВ. Заэкранированные пробелы игнорируются. ГЕНЕРАЦИЯ ИМЕН ФАЙЛОВ. Проверяются слова на наличие в них спецсимволов (”*”, “?”,”[]“) и выполняются соответствующие генерации. 4.7. Программная среда Каждый процесс имеет среду, в которой он выполняется. Shell использует ряд переменных этой среды. Если вы наберете команду “set” без параметров, то на экран будет выдана информация о ряде стандартных переменных, созданных при входе в систему (и передаваемых далее всем вашим новым процессам “по наследству”), а также переменных, созданных и экспортируемых вашими процессами. Конкретный вид и содержание выдаваемой информации в немалой степени зависит от того, какая версия UNIX используется и как инсталлирована система. Вот лишь часть того, что выдала мне команда “set”: HOME=/home/sae PATH=/usr/local/bin:/usr/bin:/bin:.:/usr/bin/X11: IFS= LOGNAME=sae MAIL=/var/spool/mail/sae PWD=/home/sae/STUDY/SHELL PS1=${PWD}:” ” PS2=> SHELL=/bin/bash TERM=linux TERMCAP=console|con80×25|dumb|linux:li#25:co#80:: UID=501 perem=stroka x=5 Прокомментируем эти присваивания значений переменным. Исходная среда устанавливается автоматически при входе в систему с использованием файлов типа “/etc/rc” и “/etc/.profile”. Если вы внесли изменения в “.profile”, то для переноса этих изменений в среду необходимо выполнить этот файл. Для этого можно выйти и заново войти в систему, а можно воспользоваться (специально для этого случая созданной) командой “.” без выхода из системы, т.е. . .profile Следует иметь в виду, что имена файлов, начинающиеся с точки, вообще имеют особый статус. Так, они не выдаются на экран простой командой “ls” - необходимо вызывать эту команду с флагом “-a”. Кстати, и не уничтожаются огульно командой “rm *”. Дописать новый свой директорий “my” в тропу команд можно, записав в “.profile”, например Как правило, устанавливаемые переменные среды следует экспортировать. Например, Кроме определения переменных в “.profile” можно выполнить команды, например команда выдаст на экран заставку , которую вы сами подготовите в файле “заставка” с учетом ваших эстетических пристрастий и художественных способностей. При обращении к этим переменным (т.е при использовании их в командном файле - shell-программе) следует впереди ставить “$”. Пример. Вызов расчета ### # specific: Специальные параметры (переменные) echo $0 - имя расчета echo $? - код завершения echo $$ - идентификатор последнего процесса echo $! - идентификатор последнего фонового процесса echo echo $* - значения параметров, как строки echo $@ - значения параметров, как слов echo set -au echo $- - режимы работы интерпретатора specific - имя расчета 0 - код завершения 499 - идентификатор последнего процесса 98 - идентификатор последнего фонового процесса par1 par2 par3 - значения параметров, как строки par1 par2 par3 - значения параметров, как слов au - режимы работы интерпретатора Код “0″ соответствует нормальному завершению процесса. Важную роль при создании уникальных файлов играет специальная переменная “$$”, значение которой соответствует номеру процесса, выполняющего данный расчет. Каждый новый расчет, выполняемый компьютером, инициирует один или несколько процессов, автоматически получающих номера по порядку. Поэтому, используя номер процесса в качестве имени файла, можно быть уверенным, что каждый новый файл будет иметь новое имя (не запишется на место уже существующего). Достоинство является и главным недостатком такого способа именования файлов. Неизвестно, какие имена будут присвоены файлам. И, если в рамках данного процесса можно найти файл “не глядя”, т.е., обратившись к нему, используя $$, то потом такие файлы можно легко потерять. Это создает дополнительные проблемы при отладке программ. “echo” без параметров выводит пустую строку. Различия $* и $@ состоит в том, что первая переменная может быть представлена как Пример, иллюстрирующий различия “$*” и “$@” будет рассмотрен в связи с оператором “for”. Для иллюстрации мы установили командой “set” режимы интерпретатора (”a” - все последующие переменные экспортируются; “u” - отсутствие параметра считать ошибкой), что и отразилось в специальной переменной “$-”.

Автор: admin | Рубрики: Unix системы | Комментариев нет