Понятие о программном обеспечении эвм. Состав, структура, многоуровневый иерархический характер.
Вся совокупность программ, хранящихся на всех устройствах долговременной памяти компьютера, составляет его программное обеспечение. Программное обеспечение, можно условно разделить на три категории:
Системное программное обеспечение обеспечивает функционирование и обслуживание компьютера, а также автоматизацию процесса создания новых программ. К системному программному обеспечению относятся: операционные системы и их пользовательский интерфейс; инструментальные программные средства; системы технического обслуживания.
Прикладное программное обеспечение обеспечивает решение пользовательских задач. Ключевым понятием здесь является пакет прикладных программ. Пакет прикладных программ — это совокупность программ для решения круга задач по определенной тематике или предмету. Различают следующие типы пакетов прикладных программ:
- общего назначения — ориентированы на автоматизацию широкого круга задач пользователя (текстовые процессоры, табличные редакторы, системы управления базами данных, графические процессоры и т. д.);
- методо-ориентированные — ориентированы на реализацию разнообразных экономико-математических методов решения задач (математического программирования, сетевого планирования и управления, математической статистики и т. д.);
- проблемно-ориентированные — направлены на решение определенной задачи (проблемы) в конкретной предметной области (банковские пакеты, пакеты бухгалтерского учета и т. д.).
К прикладному программному обеспечению относятся сервисные программные средства, которые служат для организации удобной рабочей среды пользователя, а также для выполнения вспомогательных функций (информационные менеджеры, переводчики и т. д.).
Unix VS Linux. UNIX и Unix подобная система Linux в чем отличие? Маленький секрет MAC OS
Инструментальное программное обеспечение — обязательная часть программного обеспечения, с использованием которой создаются программы. Инструментальные программные средства включают в свой состав средства написания программ (текстовые редакторы); средства преобразования программ в вид, пригодный для выполнения на компьютере (компиляторы, интерпретаторы, загрузчики и редакторы связей), средства контроля и отладки программ.
Понятие об операционой системе.
Операционная система — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами и вычислительными процессами.
UNIX — семейство переносимых, многозадачных и многопользовательских операционных систем.
Некоторые отличительные признаки UNIX-систем включают в себя:
- использование простых текстовых файлов для настройки и управления системой;
- широкое применение утилит, запускаемых в командной строке;
- взаимодействие с пользователем посредством виртуального устройства — терминала;
- представление физических и виртуальных устройств и некоторых средств межпроцессового взаимодействия как файлов;
- использование конвейеров из нескольких программ, каждая из которых выполняет одну задачу.
Важной особенностью ОС Unix является оконная система X Window System, созданная еще в 1978г. Эта система является полноценной распределенной оконной системой, обеспечивающей прозрачную работу графических приложений по сети, поддержку специальных оконных приложений и подключение к базовому компьютеру по сети дополнительных графических терминалов (Х-терминалов). Чрезвычайная гибкость системы обусловлена тем, что в отличие от большинства настольных систем (MS Windows), логика работы системы отделена от функций отображения и может выполняться на разных ЭВМ (при этом использована распределенная технология клиент-сервер).
Видео урок: Организация операционной системы семейства UNIX/ Linux.
Среди примеров известных UNIX-подобных операционных систем: BSD, Solaris, Linux, Android, Mac OS X, Apple iOS.
Источник: studfile.net
2. Общая характеристика ОС семейства Unix. Основные компоненты (структура) Unix-системы. Виды программ (процессов) в Unix.
Unix — это семейство операционных систем (ОС), обладающих сходной архитектурой и интерфесом с пользователем. Unix как явление зародилось в начале 70-х годов и развивается до сих пор. Основные современные варианты UNIX: Linux, BSD (FreeBSD, NetBSD, OpenBSD), AIX, HPUX, Solaris, SCO. Важнейшие современные стандарты, обеспечивающие целостность семейства UNIX:
- POSIX — Portable Operating System Interface
- ANSI C (c89 и с99)
Классическая архитектура UNIX двухуровневая:
- Ядро — управляет ресурсами компьютера и предлагает программам базовый набор услуг (системные вызовы).
- Системные программы (управление сетью, терминалами, печатью), прикладные программы (редакторы, утилиты, компиляторы и т.д.).
- инициализация системы — загрузка и запуск ОС
- управление процессами и потоками
- управление памятью — отображение адресного пространства на физическую память, совместное использование памяти процессами
- управление файлами — реализует понятие файловой системы, дерева каталогов и файлов
- обмен данными между процессами выполняющимися внутри одного компьютера, в разных узлах сетей передачи данных, а также между процессами и драйверами внешних устройств
- программный интерфейс (API) — обеспечивает доступ к возможностям ядра со стороны процессов пользователя через системные вызовы, оформленных в виде библиотеки функций на Си.
Ядро изолирует программы пользователя от аппаратуры. Все части системы, не считая небольшой части ядра, полностью независимы от архитектуры компьютера и написаны на Си. Системные вызовы — это уровень, скрывающий особенности конкретного механизма выполнения на уровне аппаратуры от программ пользователя. Для программиста, системный вызов — это функция (определенная на Си), которую он вызывает в своей программе. Все низкоуровневые операции осуществляются через системные вызовы.
- Файловая подсистема. Обеспечивает унифицированный доступ к файлам:
- контроль прав доступа к файлу;
- чтение/запись файла;
- размещение и удаление файла;
- перенаправление запросов к периферийным устройствам, соответствующим модулям подсистемы ввода/вывода.
- Подсистема управления процессами. Запущенная на выполнение программа порождает один или несколько процессов (задач). Подсистема контролирует:
- создание и удаление процессов
- распределение системных ресурсов (памяти, вычислительных ресурсов) между процессами
- синхронизация процессов
- межпроцессное взаимодействие Специальная задача ядра планировщик процессов разрешает конфликты процессов в конкуренции за ресурсы.
- Подсистема ввода/вывода. Выполняет запросы файловой системы и подсистемы управления процессами для доступа к периферийным устройствам (дискам, лентам, терминалам). Обеспечивает буферизацию данных и взаимодействует с драйверами устройств.
Системные процессы. Системные процессы являются частью ядра и всегда расположены в оперативной памяти. Системные процессы не имеют соответствующих им программ в виде исполняемых файлов и запускаются особым образом при инициализации ядра системы.
Выполняемые инструкции и данные этих процессов находятся в ядре системы, таким образом они могут вызывать функции и обращаться к данным, недоступным для остальных процессов. Системными процессами являются: shed (диспетчер свопинга), vhand (диспетчер страничного замещения), bdfflush (диспетчер буферного кэша) и kmadaemon (диспетчер памяти ядра). К системным процессам следует отнести init, являющийся прародителем всех остальных процессов в UNIX. Хотя init не является частью ядра, и его запуск происходит из исполняемого файла (/etc/init), его работа жизненно важна для функционирования всей системы в целом.
Демоны. Демоны — это неинтерактивные процессы, которые запускаются обычным образом — путем загрузки в память соответствующих им программ (исполняемых файлов), и выполняются в фоновом режиме. Обычно демоны запускаются при инициализации системы (но после инициализации ядра,) и обеспечивают работу различных подсистем UNIX: системы терминального доступа, системы печати, системы сетевого доступа и сетевых услуг и т. п. Демоны не связаны ни с одним пользовательским сеансом работы и не могут непосредственно управляться пользователем. Большую часть времени демоны ожидают пока тот или иной процесс запросит определенную услугу, например, доступ к файловому архиву или печать документа.
Прикладные процессы. К прикладным процессам относятся все остальные процессы, выполняющиеся в системе. Как правило, это процессы, порожденные в рамках пользовательского сеанса работы. С такими процессами вы будете сталкиваться чаще всего. Например, запуск команды ls(l) породит соответствующий процесс этого типа.
Важнейшим пользовательским процессом является основной командный интерпретатор (login shell), который обеспечивает вашу работу в UNIX. Он запускается сразу же после вашей регистрации в системе, а завершение работы login shell приводит к отключению от системы.
Пользовательские процессы могут выполняться как в интерактивном, так и в фоновом режиме, но в любом случае время их жизни (и выполнения) ограничено сеансом работы пользователя. При выходе из системы все пользовательские процессы будут уничтожены. Интерактивные процессы монопольно владеют терминалом, и пока такой процесс не завершит свое выполнение, пользователь не сможет работать другими приложениями. Вы сможете работать с другими приложениями, если в функции интерактивного процесса входит запуск на выполнение других программ. Примером такой задачи является командный интерпретатор shell, который считывает пользовательский ввод и запускает соответствующие задачи.
Конспектики
Источник: kvckr.me
Что такое UNIX?
Тремя наиболее популярными операционными системами в мире являются Windows, Mac и Linux. Эти три операционные системы получают всю прессу, две из которых больше, чем вторая, и, вероятно, единственные, о которых вы слышали.
Что если я скажу вам, что две из трех самых популярных операционных систем на самом деле вобрали в себя основные принципы чего-то, называемого UNIX? Эти принципы являются основными понятиями системы с разделением времени, позволяющей нескольким пользователям одновременно получать доступ к одному мэйнфрейму.
Разработанная в 1970 году и разработанная как небольшая гибкая система, используемая исключительно программистами, UNIX быстро стала ведущей операционной системой для рабочих станций. Но сколько вы действительно знаете о UNIX?
UNIX и UNIX-подобные операционные системы — самые мощные и популярные многопользовательские и многозадачные операционные системы на рынке. Несколько лет UNIX разрабатывался для разных машин, включая современные системы POSIX, такие как Linux, его многочисленные варианты и Mac OS. Трудно поверить, что что-то такое могущественное может иметь такое скромное начало.
Разработанная в Bell Telephone Laboratories, или Bell Labs, несколькими программистами, UNIX была написана на языке программирования Си. Это позволило установить его практически на любом компьютере с компилятором Си. Одно это дало UNIX естественную мобильность, гибкость и позволяло использовать ее в качестве довольно мощного варианта в качестве операционной системы.
Помимо того, что Bell Labs была недорогой, она распространяла операционную систему в ее исходной языковой форме, что позволяло любому, кто в нее попал, модифицировать и настраивать ее для своих собственных целей. Это породило десятки различных версий UNIX на протяжении десятилетия, работающих на разных сайтах.
Bell Labs в конечном итоге распалась в 1984 году. Тем не менее, они начали продавать UNIX в попытке определить стандартную версию системы. Они разработали то, что многие считали слишком ограничительным, одним из них был Ричард Столлман, ответственный за проект GNU. Проект GNU является основой Linux, которую мы знаем сегодня, поскольку он состоит из ядра Linux, а не ядра UNIX.
Тем не менее, Linux был вдохновлен MINIX, которая была UNIX-подобной операционной системой, созданной для образовательных целей. Это привело к эффекту домино для большинства операционных систем, доступных сегодня. GNU / Linux является производной от UNIX, и, в свою очередь, многие современные операционные системы, включая Android, Chrome OS, Steam OS и огромное количество встроенных операционных систем для устройств, основаны на Linux.
Стандарт UNIX
Стандарт действительно появился, но не основанный ни на чем AT https://ip-calculator.ru/blog/ask/chto-takoe-unix/» target=»_blank»]ip-calculator.ru[/mask_link]