Современные операционные системы и их краткие характеристики
Наиболее распространенными семействами современных ОС являются UNIX/Linux, Windows и Windows NT. UNIX — одна из наиболее старых, тем не менее, очень производительная и надежная ОС. Её клоны (варианты) для персональных компьютеров — Linux, FreeBSD и OpenBSD — становятся все более популярным благодаря традиционной для UNIX скорости и отказоустойчивости, а также дешевизне и открытости исходных текстов программ, составляющих систему. Клоны UNIX применяются чаще всего для больших машин, серверов, и популярны среди системных администраторов и разработчиков программного обеспечения.
Семейство Windows представляет собой распространенные пользовательские ОС. Они сочетают в себе удобство, простоту и скорость работы. Основные представители данного семейства — Windows 95, Windows 98. Из-за невысокой надежности эти ОС постепенно сменяются системами следующего семейства.
ОС Windows NT сочетают в себе удобство и простоту использования Windows и стабильность серверных операционных систем. Представителями данного семейства являются Windows NT 4.0, Windows 2000, Windows XP, Windows .NET Server.
Рассмотрим вопросы совместимости. Как и любая другая программа, ОС, написанная для одной аппаратной платформы, не может быть непосредственно запущена на компьютере аппаратно несовместимой платформы. Программа, разработанная для ОС одного семейства, довольно часто не может быть непосредственно запущена на ОС другого семейства. Поэтому ОС программно совместимы полностью или только частично.
На этом кратком обзоре заканчивается рассмотрение локальных характеристик вычислительных систем и начинается освещение вопросов, связанных с передачей информации между компьютерами.
В4. Языки и технологии программирования. История развития языков программирования. Сравнительная характеристика, назначение и возможности современных языков (Basic, Delphi, C++, Java, C#…).
Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:
· указание последовательности выполнения технологических операций;
· перечисление условий, при которых выполняется та или иная операция;
· описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п.
Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки. Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход (парадигма), определяющий совокупность методов, используемых на разных этапах разработки, или методологию.
Язык программирования - это система обозначений, служащая для точного описания программ или алгоритмов для ЭВМ. Языки программирования являются искусственными языками. От естественных языков они отличаются ограниченным числом “слов” и очень строгими правилами записи команд (операторов). Поэтому при применении их по назначению они не допускают свободного толкования выражений, характерного для естественного языка.
Можно сформулировать ряд требований к языкам программирования и классифицировать языки по их особенностям.
Основные требования, предъявляемые к языкам программирования: наглядность - использование в языке по возможности уже существующих символов, хорошо известных и понятных как программистам, так и пользователям ЭВМ; единство - использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть по возможности минимальным; гибкость - возможность относительно удобного, несложного описания распространенных приемов математических вычислений с помощью имеющегося в языке ограниченного набора изобразительных средств; модульность - возможность описания сложных алгоритмов в виде совокупности простых модулей, которые могут быть составлены отдельно и использованы в различных сложных алгоритмах; однозначность - недвусмысленность записи любого алгоритма. Отсутствие ее могло бы привести к неправильным ответам при решении задач
По этому критерию можно выделить следующие уровни языков программирования:
· машинные;
· машинно-оpиентиpованные (ассемблеры);
· машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора..Языки высокого уровня - были разработаны для того, чтобы освободить программиста от учета технических особенностей конкретных компьютеров, их архитектуры. Уровень языка характеризуется степенью его близости к естественному, человеческому языку.