Как называются программы работающие в разных операционных системах

Прикладная программа, созданная для работы в некоторой операционной системе, не будет работать в другой операционной системе, поскольку API у этих операционных систем различаются. Стремясь преодолеть это ограничение, разработчики операционных систем стали создавать так называемые операционные среды. Операционная система (в общем случае) может поддерживать несколько операционных сред, связанных с другими операционными системами.

Та программная среда, которая непосредственно образуется кодом операционной системы, называется основной, естественной, или нативной (native – по английски «туземец»). Помимо основной операционной среды в операционной системе могут быть организованы (путем эмуляции иной операционной среды) дополнительные программные среды. Если в операционной системе организована работа с различными операционными средами, то в такой системе можно выполнять программы, созданные не только для данной, но и для других операционных систем.

Например, можно создать программу для работы в среде DOS. Если такая программа все функции, связанные с операциями ввода-вывода и запросами памяти, выполняет не сама, а за счет обращения к системным функциям DOS, то она будет (в абсолютном большинстве случаев) успешно выполняться и в MS DOS, и в OS/2, и в Windows 2000, и даже в Linux.

Поговорим об альтернативных операционных системах

Операционная система Windows XP позволяет выполнять помимо основных приложений, созданных с использованием Win32API, 16-разрядные приложения для Windows 3.х, 16-разрядные DOS-приложения, 16-разрядные приложения для первой версии OS/2.

Операционная среда – это то системное программное окружение, в котором могут выполняться программы, созданные по правилам работы этой среды. Операционная среда может быть либо нативной (естественной), либо может быть организована в чужой операционной системе путем эмуляции.

1.3. Операционные оболочки

Как правило, все операционные системы имеют интерфейс командной строки. Хотя системному администратору без него не обойтись, пользоваться им не всегда удобно, поскольку необходимо держать в голове множество команд, принятых в данной операционной системе.

Для преодоления этого недостатка было создано множество программных «оболочек» – shell (по английски – «раковина»).

К ним относятся Norton Commander – программа, созданная как надстройка над DOS, FAR Manager – текстовая оболочка для Windows 95/98/NT/2000/XP, Midnight Commander – программная оболочка системы Linux и т.п. Программные оболочки предлагают пользователю меню, из которого он может выбрать желаемое действие.

В последнее время операционные оболочки активно вытесняются графическими интерфейсами (Graphical User Interface – GUI), например X-Window с различными менеджерами окон – KDE, Gnome и т.п., которые приобретают все большую популярность у пользователей.

По-видимому, операционные оболочки можно рассматривать как нечто промежуточное между интерфейсом командной строки и графическими интерфейсами.

1.4. Классификация операционных систем

По тому, какие из вышеперечисленных функций реализованы и каким было уделено больше внимания, а каким меньше, выделяют несколько различных классов ОС. Многие ОС можно отнести к нескольким классам, т.к. многие классы пересекаются.

Winderton / Операционные системы. Основы программирования.

ДОС (Дисковые Операционные Системы). Как правило, это просто некий резидентный набор подпрограмм, не более того. Он загружает пользовательскую программу в память и передает ей управление, после чего программа делает с системой все, что ей заблагорассудится. Считается желательным, чтобы после завершения программы машина оставалась в таком состоянии, чтобы ДОС могла продолжить работу (принципиально же, ДОС ничем не может помешать программе привести систему в нерабочее состояние).

Дисковая операционная система MS DOS для IBM PC является примером систем подобного класса. Она, правда, умеет загружать несколько программ, но не предоставляет средств для одновременного исполнения этих программ.

Читайте также:
Отзывы о программе битрикс 24

Существование систем такого класса обусловлено их простотой и тем, что они потребляют мало ресурсов. Еще одна причина, по которой такие системы могут использоваться даже на довольно мощных машинах — требование программной совместимости с ранними моделями того же семейства компьютеров.

ОС. К этому классу относятся системы, берущие на себя выполнение всех вышеперечисленных функций. Под ОС мы будем подразумевать системы «общего назначения», то есть рассчитанные на интерактивную работу одного или нескольких пользователей в режиме разделения времени, при не очень жестких требованиях на время реакции системы на внешние события.

Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных действий программ и пользователей. Обычно такие системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся такие широко распространенные системы, как различные семейства Unix, OS/2, семейство Windows NT, хотя некоторые из них не обеспечивают одновременной работы нескольких пользователей и защиты пользователей и программ друг от друга.

ОС могут работать на компьютерах с одним или несколькими процессорами. ОС с мультипроцессорной обработкой делятся на две категории – с асимметричной либо симметричной обработкой.

Операционные системы с асимметричной мультипроцессорной обработкой (asymmetric multiprocessing, ASMP) обычно выбирают для исполнения собственного кода один и тот же процессор, в то время как другие процессоры выполняют только пользовательские задачи. Так как код ОС исполняется на одном процессоре, то ОС ASMP довольно просто создать, усовершенствовав существующую однопроцессорную ОС.

Особенно хорошо ОС ASMP подходят для работы на асимметричном оборудовании, например, процессоре, к которому подключен сопроцессор, или на двух процессорах, совместно использующих не всю доступную память. Однако такую ОС трудно сделать переносимой. Аппаратура разных производителей (и даже разные версии аппаратуры одного производителя) имеет тенденцию различаться по типу и степени асимметрии. Либо производители оборудования должны ориентироваться на одну ОС, либо ОС придется постоянно переписывать для каждой аппаратной платформы.

Системы с симметричной мультипроцессорной обработкой (symmetric multiprocessing, SMP) позволяют коду ОС выполняться на любом свободном процессоре или на всех процессорах одновременно, причем каждому из процессоров доступна вся память. Такой подход полнее реализует возможности нескольких процессоров, так как дает возможность полнее использовать процессорное время, независимо от того, какие приложения исполняются. Исполнение ОС только на одном процессоре может сильно загружать его, в то время как остальные простаивают, что уменьшит производительность системы; при увеличении числа процессоров в системе возрастает вероятность того, что узким местом станут именно действия, выполняемые ОС. Помимо равномерного распределения системной загрузки, системы SMP сокращают время простоя из-за неисправностей, так как при сбое одного процессора код ОС может исполняться на других. Наконец, поскольку симметричная аппаратура реализуется разными производителями сходным образом, имеется возможность создания переносимой ОС SMP.

Системы реального времени. Это системы, предназначенные для облегчения разработки так называемых приложений реального времени. Это программы, управляющие некомпьютерным по своей природе оборудованием, часто с очень жесткими ограничениями по времени реакции.

Примером такого приложения может быть программа бортового компьютера крылатой ракеты, системы управления ускорителем элементарных частиц или промышленным оборудованием. Такие системы обязаны поддерживать многопроцессность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Примером такой системы может служить ОС QNX.

Любопытно, что multimedia при качественной реализации предъявляет к системе те же требования, что и промышленные задачи реального времени. В multimedia основной проблемой является синхронизация изображения на экране со звуком. Именно в таком порядке. Звук обычно генерируется внешним аппаратным устройством с собственным таймером, и изображение синхронизируется с ним же.

Читайте также:
Как называется программа с очками

Человек способен заметить довольно малые временные неоднородности в звуковом потоке. Напротив, пропуск кадров в визуальном потоке не так заметен, а расхождение звука и изображения заметно уже при задержках около 30 мс. Поэтому системы качественного multimedia должны обеспечивать синхронизацию с такой же или более высокой точностью, что мало отличается от систем мягкого реального времени.

В последнее время вошел в употребление еще один термин: сетевые ОС, или сокращенно NOS (Networking Operating System). Его употребляют в двух различных смыслах:

  1. Системы, предназначенные только для предоставления сетевых услуг, аналогично тому, как ДОС предназначена для предоставления средств работы с диском. Под такое понимание NOS подходят узкоспециализированные системы, такие как Novell Netware или, например, программное обеспечение маршрутизаторов Cisco.
  2. Системы, способные предоставят сетевые услуги. Под такое определение подходят практически все современные ОС общего назначения.

Источник: studfile.net

Какое ПО называется кроссплатформенным?

Понятие «кроссплатформенност­ ь» намекает на пересечение различных платформ. Такое ПО подразумевает возможность работы на нескольких различных «платформах» (можно сказать «устройствах»). Не любое приложение, работающее на Android, будет работать на MacOs, в Windows или под Linux (основные, на сегодняшний день, платформы). И для охвата большего числа пользователей, производители ПО создают его для различных устройств, то есть кроссплатформенным.

комментировать
в избранное ссылка отблагодарить
Лара Изюми­ нка [60.1K]
3 года назад

Ранее прогрраммное обеспечение было предназначено для определенной операционной системы. Но появились сравнительно недавно средства программирования, которые позволяютт создавать программы, работающие в разных ОС (кроссплатформенные)­ .

Обычно они разрабатываются на основе специальных библиотек GTK+, Qt. Они дают возможность построить исполняемую программу для другой платформы без изменения исходного кода программы. Есть программные средства, позволяющие запустить в одной ОС программы, написанные под др. например, Wine. А вот среды VirtualBox, VMware позволяют запускать несколько ОС в разных окнах на одном компьютере.

Источник: www.bolshoyvopros.ru

Что такое нативные и кроссплатформенные приложения? Плюсы и минусы.

Что такое нативные и кроссплатформенные приложения? Плюсы и минусы.

08.04.2019

12626

Рейтинг: 5 . Проголосовало: 4
Вы проголосовали:
Для голосования нужно авторизироваться

advertisement advertisement

  1. Что такое нативные приложения?
  2. Что из себя представляют кроссплатформенные приложения?
  3. Какие инструменты для разработки кроссплатформенных приложений применяют чаще всего?
  4. Преимущества и недостатки нативного подхода
  5. Преимущества и недостатки кроссплатформенных приложений
  6. Вывод

Мировая статистика использования смартфонов показывает абсолютное преобладание всего двух мобильных операционных систем. Так, по данным портала statista.com, во втором квартале 2018 OS Android была установлена на 88% всех используемых смартфонов, а iOs – на 11.9%. Данные портала netmarketshare.com, в свою очередь, показывают на апрель 2019 для OS Android – 69.63%, а для iOs — 28.50%.

По состоянию на март 2019 в Google Play Store находилось более 2 600 000 приложений. В Apple App Store, по данным на июль 2018 – 2 450 220 приложений. В течение последних лет количество доступных приложений растет на сотни тысяч в год. По прогнозам statista – к 2020 году объем рынка мобильных приложений приблизится к 190 млрд $. При таком, постоянно растущем количестве конкурентов, перед разработчиками мобильных приложений встает вопрос — какой подход использовать в разработке, чтобы новые, конкурентоспособные приложения:

  • разрабатывались быстро;
  • получались качественными и надежными;
  • легко обновлялись и поддерживались;
  • легко задействовали все необходимые возможности платформы.

Фактически, рынок заставляет разработчика делать выбор между разработкой кроссплатформенных приложений и разработкой нативных приложений. Рассмотрим детальнее, что представляет из себя каждый из указанных подходов.

advertisement advertisement

Что такое нативные приложения?

Нативные приложения (от англ. native — родной) разрабатываются под конкретную аппаратно-программную платформу и пишутся на языках, созданных для данной платформы. И iOs, и Android имеют свои SDK (от англ. software development kit — набор средств разработки) и свой стек технологий, завязанные на определенный язык программирования. Например, родными языками для Android являются Java и Kotlin, для iOS, соответственно — Swift и Objective-C.

Читайте также:
Термин ошибка в программе

Нативные приложения создаются специально для запуска на целевой платформе — с поддержкой всех нативных технологий и аппаратных возможностей конкретной платформы.

Что из себя представляют кроссплатформенные приложения?

Как следует из названия, кроссплатформенность подразумевает создание приложений, которые могут работать в различных операционных системах. После написания кода приложения его можно развернуть на разных устройствах и платформах, не беспокоясь о проблемах несовместимости. Это универсальный подход, который широко используется для экономии времени и денег на разработку. Часто для этого используются специализированные кроссплатформенные фреймворки.

Примером такой разработки является применение фреймворка Xamarin для создания приложений, работающих не только на Windows. Благодаря использованию Mono (опенсорс реализации платформы .Net), проекты, написанные на C#, успешно запускаются на Unix-like системах – iOs, Android, Linux.

Какие инструменты для разработки кроссплатформенных приложений применяют чаще всего?

Ссылаясь на статистику appfigures.com можно выделить такие инструменты:

Как мы видим наиболее часто применяемым инструментом разработки кроссплатформенных мобильных приложений на конец 2017 года был Cordova – 39.89%. Вторым по частоте применения инструментом является Unity – 30.93%. Третьим – Adobe Flash с 10.39%. Следом идут Cocos2D – 9.37%, Xamarin – 4.5%, Appcelerator – 3.79%, Corona – 2.68%, React Native – 1.85%.

Итак, стоит ли вам инвестировать в разработку отдельных нативных приложений на несколько платформ сразу, или убивать двух зайцев одним выстрелом, разрабатывая кроссплатформенные приложения? Или может стоит вообще сосредоточиться только на одной платформе и не обращать внимание на другую, пока не достигнут успех среди приложений первой?
По данным портала appfigures.com на начало 2018 года количество приложений, присутствующих на обеих популярных платформах, было вполне ощутимым:

Тема связана со специальностями:

450 тысяч приложений на обеих платформах. Это более 28% приложений в Apple App store и 14% в Google Play Store. Это выглядит достаточно весомой частью, чтобы задуматься об присутствии на обеих платформах и попытке экономии используя кроссплатформенную разработку.

По данным того же портала, многие уже существующие приложения расширяют свой рынок, выходя, со временем, на другой платформе. При че чаще приложения выходят дополнительно на Android, выпускаясь изначально под iOs.

Можно также наблюдать тенденцию к снижению процента кроссплатформенных приложений за 2016 – 2017 годы.

Так стоит ли потратить деньги на разработку двух нативных приложений, идеально соответствующих каждой платформе, или есть смысл сэкономить ресурсы и получить одно – кроссплатформенное?

Давайте рассмотрим плюсы и минусы каждого из указанных подходов.

Преимущества и недостатки нативного подхода

Плюсы нативных приложений

  1. Высокая производительность Поскольку технологии, используемые при разработке платформозависимых приложений, напрямую связаны с этой платформой, собственный нативный код имеет прямой доступ ко всем функциям операционной системы.
    Это, более простое взаимодействие приложения с собственными функциями мобильных устройств, повышает общую производительность приложения, особенно при представлении графического или мультимедийного контента.
    Следовательно, создание нагруженных приложений с использованием нативного кода может снизить время отклика, вероятность сбоев и зависаний.
  2. Максимальное использование возможностей платформы Нативные приложения задумываются и разрабатываются, чтобы решать конкретные задачи на конкретной платформе. Это приводит к лучшему соответствию возможностей приложений аппаратным возможностям устройств, включая Bluetooth, NFC, камеру, GPS и т. д. Эта соответствие необходимо, когда приложение должно использовать такие данные, как физическое и географическое местоположение и др.
  3. Лучший пользовательский интерфейс

Минусы разработки нативных приложений

  1. Дороговизна и затраты времени на разработку

Видео курсы по схожей тематике:

Источник: itvdn.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru