Автор работы: Пользователь скрыл имя, 09 Декабря 2012 в 10:21, курс лекций
Временем появления на Земле вида «человек разумный» вполне можно считать тот момент, когда представители этого вида стали собирать, осмысливать, обрабатывать, хранить и передавать разнообразную информацию. Таким образом, человечество (социум) постоянно имеет дело с информацией.
Строгого научного определения понятия «информация» нет. Существует более 300 толкований этого термина.
Современные персональные компьютеры обладают высокой производительностью и богатыми мультимедийными возможностями. Для операционных систем этого класса важны удобный пользовательский интерфейс и поддержка широкого круга устройств для персональных компьютеров. Самыми распространёнными операционными системами в этом классе являются продукты компании Micrososft.
Многие алгоритмы и подходы в построении операционных систем не пошли дальше исследовательских лабораторий. Например, операционные системы, основанные на микроядре, в чистом виде не используются до сих пор из-за огромных затрат на пересылку сообщений. Одной из самых известных микроядерных операционных систем является Mach, на которой основывается целый ряд операционных систем, в том числе GNU Hurd, реализующая интерфейс UNIX.
Windows - платная ОС компании Microsoft. Очень популярна , т.к. 98% копий - пиратские. Большая часть разрабатываемого сейчас ПО пишется именно под Windows. Исходные тексты закрыты. В Windows95 и Windows NT используется вытесняющая (приоритетная) многозадачность. В Windows95 в режиме вытесняющей многозадачности выполняются только 32-битные приложения. 16-битные работают в режиме кооперативной многозадачности, как под Windows 3.1. Windows NT (2000,XP,2003...) является многопользовательской. Файловые системы - Fat, VFAT, Fat32, NTFS.
Windows 2000 существует две версии - для ПК и рабочих станций - Windows 2000 Professional, и для серверов – Windows 2000 Server. Наряду с поддержкой многозадачности, многопоточности, средств мультимедиа, работы с сетями практически любого масштаба и конфигурации, эта ОС отвечает всем современным требованиям надёжности – в ней имеется поддержка кластеризации, создания RAID-массивов, защиты от несанкционированного доступа, современных методов шифрования информации на диске и сетевого трафика. Последующие выпуски ОС (XP, Vista) созданы на базе Windows 2000.
рис. 4.2. Интерфейс Window 2000
Unix - это семейство полноценных, изначально многопользовательских, многозадачных и многотерминальных операционных систем, почти полностью совместимых друг с другом на уровне исходных текстов программ. В основном платные системы. Для некоторых версий доступны исходные тексты. Типы файловых систем, поддерживаемых в UNIX: s5, ufs, nfs, rfs, vfs, nfs, fat16, fat32, vfat, Veritas, specfs, fifofs, bfs.
Разработана в Bell Laboratories в 1969 г. для миникомпьютеров, но в последствии была успешно перенесена на платформу микроЭВМ. Это мощная и очень надёжная операционная система, которая применяется в основном в качестве ОС для серверов больших локальных сетей, кластеров серверов, серверов Интернет и серверов баз данных. Благодаря открытой архитектуре – возможности изменять исходный код ОС – UNIX может работать практически на любой аппаратной платформе. Именно этим объясняется большое количество различных модификаций UNIX (XENIX, IRIX и др.). Программисты, разрабатывающие приложения для UNIX, также придерживаются стандарта открытой архитектуры, что позволяет осуществлять перенос приложений, сделав небольшие изменения в исходном коде. Однако, UNIX очень сложна в установке, а ещё больше – в настройке, и требовательна к аппаратным ресурсам. До недавнего времени у этой системы не было собственного графического интерфейса, но даже появление такового (XWindow) не облегчило работу пользователям: все-таки, UNIX остаётся системой для инженеров и настоящих профессионалов.
рис. 4.3. Интерфейс XWindow
Linux - это независимая реализация
системы, соответствующей станд
Ядро и большинство
рис. 4.4. Интерфейс Suse Linux
Существует четыре клоновые BSD-системы: FreeBSD, NetBSD, OpenBSD и BSDI. Однако фактически эти системы почти идентичны, различаются же они на уровне задач, которые ставили перед собой их разработчики. FreeBSD и BSDI - свободно распространяемый и коммерческий (соответственно) клоны BSD Unix, ориентированные на эффективное использование возможностей платформы x86. Разработчики NetBSD преследовали абсолютно противоположную цель: NetBSD должна работать на всех существующих платформах, и девиз сообщества NetBSD - мобильность. OpenBSD - концентрат всех улучшений Unix-систем, направленных на высокую безопасность и устойчивость к «взломам».
FreeBSD - это *nix-подобная
Бесплатная система. Распространяется с исходными текстами.
Обладает вытесняющей
По мнению некоторых авторов, FreeBSD является идеальной платформой для построения Internet или Intranet. Эта система предоставляет надёжные даже при самой интенсивной нагрузке сетевые службы, и эффективное управление памятью, что позволяет обеспечивать приемлемое время отклика для сотен и даже тысяч одновременно работающих пользовательских задач.
Solaris - это разновидность Berkley UNIX, предназначенная для работы в корпоративных вычислительных сетях. Платная система. Исходные тексты доступны, но с рядом ограничений использования модифицированных версий. Многозадачная. Многопользовательская. Совместима с X/Open UNIX 95, различными разделами POSIX 1003.1, X11R6 и др.
В начале 1990-х годов компания Sun Microsystems заменила операционную систему SunOS 4 на UNIX System V Release 4 (SVR4), разрабатываемую совместно с AT&T, а также изменила имя SunOS 5 на Solaris 2. После выхода версии 2.6 Sun Microsystems отбросила из имени «2.», и следующая версия называлась уже Solaris 7. Фактически, Solaris — это операционная система SunOS с графической оболочкой и некоторыми дополнительными компонентами.
Начиная с версии Solaris 9, Sun Microsystems предлагает для загрузки общедоступную (в бинарном виде, то есть с закрытым исходным кодом) некоммерческую версию Solaris по лицензии CDDL. От коммерческой версии она отличается отсутствием технической поддержки Sun Microsystems, печатной документации и некоторого объёма дополнительного проприетарного программного обеспечения.
В июне 2005 года Sun Microsystems приняла решение открыть часть исходного кода Solaris 10 и запустить проект OpenSolaris. Разработка следующей версии Solaris — Solaris 11 (рабочее название проекта — Nevada) ведётся уже в сотрудничестве с OpenSolaris Community. На данный момент Sun Microsystems практически закончила открытие исходного кода Solaris 10. В добавок к исходному коду операционной системы Solaris Sun Microsystems открыла целый ряд программного обеспечения собственной разработки, для Solaris, в рамках проекта OpenSolaris.
рис. Интерфейс OpenSolaris 2008.5
OS/2 - операционная система компании IBM , конкурирующая с ОС Windows. Платная система с закрытыми исходными текстами. Многозадачная. Ранние версии однопользовательские , поздние - многопользовательские. Своя «высокопроизводительная файловая система» - HPFS . Поддерживает так же файловые системы Fat, имеет IFS для VFAT (FAT с поддержкой длинных имён), FAT32, Ext2, NTFS (read).
рис. Интерфейс OS/2
Жизненный путь OS/2 является одной из самых ярких демонстраций того, как любая хорошо задуманная и реализованная с технической стороны идея может быть загублена страстью к большим деньгам и плохим менеджментом. Проект, который очень часто находился на шаг, а то и два впереди своих конкурентов и аналогов по нововведениям и архитектурным решениям, поглотивший огромное количество денег и человеческого труда, был фактически задушен в ходе конкурентной борьбы за большую, чем просто огромная прибыль. В наше время история OS/2, видимо, подходит к концу на самом деле (хотя и раньше OS/2 «хоронили» несч`тное число раз). IBM прекратила поддержку последних версий OS/2 в конце 2004 года, Serenity Systems, купившая права на OS/2, не обладает достаточной «пробивной» мощью для хотя бы сколько-нибудь заметных продвижений продукта. Но прекращение жизни OS/2 нисколько не умаляет всех тех последствий, которые возникли благодаря ей:
Как выбрать операционную систему для своих персональных компьютеров? Должно ли такое решение приниматься только на основании требований ОС к аппаратному обеспечению компьютера? Нужно ли принимать во внимание такие факторы как простота эксплуатации, обучения персонала, а также стоимость технической поддержки ОС? В этом коротком разделе называется несколько важных факторов, влияющих на принятие решения.
Если фирма нуждается в
Важным показателем при выборе операционной системы является совокупная стоимость владения (Total Ownership Cost, TOC). TOC учитывает как затраты на приобретение самой операционной системы у поставщика ПО, так и затраты на инсталляцию, обучение пользователей, проведение профилактических мер по обеспечению нормальной работы ОС, управление и поддержку. Для уменьшения TOC разработчики операционных систем автоматизируют некоторые функции управления компьютерами организации, а также обеспечивают ОС полным набором программных инструментов диагностики и проверки производительности. Кстати, лидирующие позиции по показателю TOC занимают сситемы производства Microsoft.
При выполнении программ, написанных на таких языках программирования как Basic, C или Pascal, компьютер преобразовывает удобные для человеческого восприятия операторы в форму, понятную для компьютера. Системное программное обеспечение включает специальную программу, транслирующую (translate) текст программ, написанных на различных языках программирования, в машинные коды, которые и выполняются компьютером. Этот вид программного обеспечения называется компилятором или интерпретатором. Текст программы, написанный на языке программирования высокого уровня, до того как быть преобразованным в машинные коды, называется исходным кодом (source code). Компилятор преобразует исходный код в машинные коды, называемые объектными, то есть в программу на выходном языке транслятора. Перед выполнением протекает процесс редактирования связей (linkage editing), когда модули выходной программы объединяются с другими модулями объектного кода, содержащими, например, данные. Результирующий загрузочный модуль – это команды, непосредственно выполняемые компьютером. На рис. 5.1. показан процесс трансляции кода программы.
Некоторые языки программирования содержат не компилятор, а интерпретатор (interpreter), который преобразует каждое отдельное выражение исходного кода в машинные коды и сразу выполняет их. Интерпретатор удобен на этапе отладки программы, так как обеспечивает быструю обратную связь при обнаружении ошибки в исходном коде. В то же время, интерпретаторы очень медленны, так как они выполняют только один оператор за раз.
Рис. 5.1. Процесс трансляции кода программы
Каждый конкретный язык ориентирован либо на компиляцию, либо на интерпретацию — в зависимости от того, для каких целей он создавался. Например, Паскаль обычно используется для решения довольно сложных задач, в которых важна скорость работы программ. Поэтому данный язык обычно реализуется с помощью компилятора. Бейсик создавался как язык для начинающих программистов, для которых построчное выполнение программы имеет неоспоримые преимущества. Иногда для одного языка имеется и компилятор, и интерпретатор. В этом случае для разработки и тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость её выполнения.
Работа компилятора состоит из нескольких стадий, которые могут выполняться последовательно, либо совмещаться по времени. Эти стадии могут быть представлены в виде схемы.
рис.5.2. Стадии работы компилятора
Первая стадия работы компилятора называется лексическим анализом, а программа, её реализующая, - лексическим анализатором (ЛА). На вход лексического анализатора подаётся последовательность символов входного языка. ЛА выделяет в этой последовательности простейшие конструкции языка, которые называют лексемами. Примерами лексем являются идентификаторы, числа, символы операций, служебные слова и т.д. ЛА преобразует исходный текст, заменяя лексемы их внутренним представлением - токенами. Токен может включать информацию о типе лексемы указатель на её символьное значении. Кроме того, для некоторых типов лексем ЛА строит таблицы, например, таблицу идентификаторов, констант, которые используются на последующих стадиях компиляции.
Вторую стадию работы компилятора называют синтаксическим анализом, а соответствующую программу - синтаксическим анализатором (СА). На вход СА подается последовательность токенов, которая преобразуется в промежуточный код, представляющий собой последовательность символов действия или атомов. Каждый атом включает описание операции, которую нужно выполнить, с указанием используемых операндов. При этом последовательность расположения атомов, в отличие от токенов, соответствует порядку выполнения операций, необходимому для получения результата.