69070

Крос-платформне програмування

Лекция

Информатика, кибернетика и программирование

Крос-платформність (багатоплатформність) — можливість виконувати програмне забезпечення (ПЗ) без переписування його коду на різних апаратних платформах та під управлінням різних операційних систем (інакше кажучи, на платформах різних ОС).

Украинкский

2014-09-29

286.5 KB

48 чел.

Лекція №1

Крос-платформне програмування

Крос-платформність (багатоплатфо́рмність) можливість виконувати програмне забезпечення (ПЗ) без переписування його коду на різних апаратних платформах та під управлінням різних операційних систем (інакше кажучи, на платформах різних ОС).

Платформа (комп'ютерна) – апаратний та/або програмний комплекс, який служить основою для різних обчислювальних систем.

Проаналізуємо стан корпоративного програмного середовища типової організації:

  •  основна маса комп'ютерів базується на апаратній платформі Intel або AMD, можливо є кілька комп'ютерів Compaq, Sun тощо;
  •  основна операційна система, встановлена на робочих місцях користувачів – MS Windows (91-93%);
  •  основний Web-серверApache (61-75%) на платформі UNIX;

Веб-сервер  це сервер, що приймає HTTP-запити від клієнтів, зазвичай веб-браузерів, і видає їм HTTP-відповіді, зазвичай разом з HTML-сторінкою, зображенням, файлом, медіа-потоком або іншими даними. Веб-сервери – це основа Всесвітньої павутини. Веб-сервером називають як програмне забезпечення, що виконує функції веб-сервера, так і безпосередньо комп'ютер, на якому це ПЗ працює.

Клієнт передає веб-серверу запити на отримання ресурсів, позначених URL-адресами. Ресурси  це HTML-сторінки, зображення, файли, медіа-потоки або інші дані, які необхідні клієнту. У відповідь веб-сервер передає клієнтові запитані дані. Цей обмін відбувається по протоколу HTTP. В якості клієнтів для звернення до веб-серверів можуть використовуватися різні програми та пристрої:

  •  веб-браузер, що працює на настільному комп'ютері або переносному пристрої (наприклад, кишеньковому ПК);
  •  різноманітні програми, що самостійно звертаються до веб-серверів для отримання оновлень або іншої інформації (наприклад, антивірус може періодично запитувати у певного веб-сервера оновлення своїх баз даних);
  •  мобільний телефон, який отримує доступ до ресурсів веб-сервера за допомогою протоколу WAP;
  •  інші цифрові пристрої або побутова техніка.

Деякі відомі веб-сервери:

  •  Apache  вільний веб-сервер, найчастіше використовуваний в UNIX-подібних операційних системах;
  •  IIS від компанії Microsoft, розповсюджуваний з серверними ОС сімейства Windows;
  •  Nginx  вільний веб-сервер, розроблювальний Ігорем Сисоєва з 2002 року і користується великою популярністю на великих сайтах;
  •  Lighttpd  вільний веб-сервер;
  •  Google Web Server  веб-сервер, заснований на Apache і доопрацьований компанією Google;
  •  Смола  вільний веб-сервер застосувань;
  •  Cherokee  вільний веб-сервер, керований тільки через веб-інтерфейс;
  •  Коренева система  веб-сервер, написаний на Java;
  •  THTTPD  простий, маленький, швидкий і безпечний веб-сервер.
  •  використовувані поштові програмилідер MS Outlook (40%);

  •  використовуваний інтернет-браузер;

Для перегляду інтернет-сайтів користувачі мережі Інтернет використовують спеціальні програми – браузери. Ще кілька років тому відвідувачам інтернету були відомі лише один-два різні браузери, те тепер число таких програм обчислюється десятками, особливо, якщо враховувати, що кожна з них має декілька версій, що відрізняються за функціональностю.

Кросбраузерність  властивість сайту відображатися та працювати у всіх популярних браузерах ідентично. Під ідентичністю розуміється відсутність розвалів верстки і здатність відображати матеріал з однаковим ступенем читабельності. Поняття «кросбраузерність» дуже часто плутають з попиксельною відповідністю, що насправді є різними поняттями.

Цей термін почали використовувати під час браузерних війн, що відбувалися в кінці 90-х років. У цьому контексті термін відноситься до сайтів, які працюють як в Internet Explorer, так і в Netscape Navigator. У той час виробники стали впроваджувати власні функції для браузерів, що призвело до деяких особливостей відображення і концептуальним відмінностей в роботі.

Війни браузерів. У середині 90-х ринок браузерів монополізував Netscape Navigator. У 1996 році компанія Microsoft випустила Windows 95 OSR2, що включала Internet Explorer 3.0. Цей момент можна вважати початком війни браузерів, що закінчилася у 1999 році повним падінням Netscape і тріумфом Internet Explorer, що зайняв більше 95% ринку.

Втім, гинучи, Netscape завдала «удар у спину» Microsoft, випустивши вихідний код свого браузера під вільною ліцензією MPL (Mozilla Public License). На його основі (код був написаний заново) були створені нові браузери Mozilla Suite та Mozilla Firefox. Останній поступово набирав популярність.

Війна браузерів була б виключно комерційною справою корпорацій, якби основним прийомом в боротьбі не стало додавання до браузера специфічних, нестандартних можливостей. Найбільші відмінності виникали у підтримці JavaScript – мови сценаріїв, що додає інтерактивність документам. У результаті багато документів було «оптимізовано» для конкретного браузера і абсолютно не читалися в іншому.

З появою на ринку у 2003 році браузера Opera , а потім у 2004 році – Mozilla Firefox, які з тих пір повільно, але планомірно набирали популярність, частка IE почала знижуватися, він перестав бути монополістом.

Насьогодні за даними StatCounter розподіл популярності інтернет-браузерів серед українських інтернет-користувачів має наступний вигляд (див. табл.). Дещо здивувала така статистика по Opera, але при подальшому вивченні матеріалів різних статистичних даних з'ясувалося, що в показнику по Opera підсумовувалися показники за версіями Opera РС та показники Opera Mini. Популярність Opera Mini швидше обумовлена різким зростанням попиту на всілякі мобільні пристрої в Україні за останні 2 роки.

Що слід зауважити стосовно IE і питання, яке багато кого цікавить, – коли ж він нарешті помре. Показники по IE значно не змінилися і, скоріше за все, сильно не змінюватимуться доти, доки IE буде передвстановленим браузером в операційній системі Windows.

Таблиця – Статистика використання Інтернет-браузерів по Україні

Браузер

2009

2010

січень 2011

Opera 

42.96%

35.40%

35.45%

Firefox 

27.01%

32.89%

33.41%

IE

26.53%

21.32%

17.40%

Google Chrome

2.38%

8.48%

12.15%

Інші

1,12%

1,91%

1,59

На сайті http://korrespondent.net/tech/406795-issledovateli-opredelili-samyj-populyarnyj-brauzer-sredi-ukraincev наведено статистику популярності браузерів на основі тримісячного дослідження, проведеного компанією Universal Studio Ukrainе серед різних верств населення в Україні. Дослідження проводилося з грудня 2007 по березень 2008 року, індексувалася активність користувачів всесвітньої мережі в залежності від віку та досвідченості у користуванні інтернетом. Отримані результати розділили на три категорії: недосвідчені користувачі, рядові користувачі та досвідчені користувачі інтернету.

У першу категорію потрапили користувачі, вік яких – 13-20 та 40-45 років, і які лише недавно підключилися до інтернету. Виявилося, що найпопулярнішим браузером серед даної категорії населення є Internet Explorer (74,5%), на другому місці опинився Firefox (13,4%), далі йде Opera (11,2%) та інші 0,9%.

У другу категорію потрапили рядові користувачі, переважний вік яких 17-40 років. Це люди з чималим досвідом використання ресурсів Інтернету, які знають, що і де шукати і половина хоч би раз здійснювали покупки в інтернеті. Виявилося, що серед даної категорії населення найпопулярнішим браузером є Firefox (48,8%), за ним йде Opera (27,4%), далі IE (23,1%) та інші (0,7%).

Що стосується досвідчених користувачів з переважним віком 25-40 років, серед яких чимало власників сайтів, адміністраторів, веб-дизайнерів і співробітників веб-студій, то вони надають перевагу Firefox (44,7%), за ним йде Opera (42,8% ), IE (11,9%), інші (0,6%).

А ось загальна статистика використання браузерів виглядає так: IE (40%), Firefox (35,2%), Opera (24%), інші браузери 0,8%.

  •  основне офісне програмне забезпечення MS Office;
  •  використовувані корпоративні СУБД – “велика трійка” Oracle, IBM та MS SQL Server, рішення для малих та середніх застосувань – MS Access, MySQL та PostgreSQL;

Система керування базами даних (СКБД)  сукупність програмних і лінгвістичних засобів загального або спеціального призначення, що забезпечують управління створенням і використанням баз даних. Деякі відомі СУБД:

Oracle Database – об'єктно-реляційна система керування базами даних компанії Oracle.

IBM DB2 – сімейство систем керування реляційними базами даних, що випускаються корпорацією IBM.

Microsoft SQL Server – система керування реляційними базами даних, розроблена корпорацією Microsoft.

Microsoft Office Access  реляційна СКБД корпорації Microsoft. Має широкий спектр функцій, включаючи зв'язані запити, зв'язок із зовнішніми таблицями і базами даних. Завдяки вбудованій мові VBA, в самому Access можна писати програми, що працюють з базами даних.

PostgreSQL – вільна об'єктно-реляційна система керування базами даних.

MySQL – вільна система керування базами даних. Розробку та підтримку MySQL здійснює корпорація Oracle.

Крім того, на комп’ютерах типової організації може бути встановлене наступне програмне забеспечення:

  •  системи документообігу;
  •  графічні редактори;
  •  системи автоматизації проектування тощо.

Аппаратні та програмні платформи для мобільних пристроїв

Сьогодні в абсолютній більшості мобільних пристроїв використовуються процесори архітектури ARM (Advanced RISC Machine). Архітектура (але не самі процесори) розробляється британською компанією ARM Limited. Власну реалізацію архітерктури ARM мають Apple, DEC, NVIDIA, Samsung, Quallcomm.

98% мобільних телефонів, смартфонів, планшетів  на платформі ARM.

90% вбудованих систем  теж ARM (цифрові плеєри, мережеве обладнання, ігрові приставки, комп'ютерні комплектуючі тощо).

Практично всі популярні ОС мають реалізацію для ARM:

  •  iPhone OS/IOS, Mac OS X (Apple);
  •  Android (Google);
  •  Windows Phone, Windows 8 (Microsoft);
  •  Bada (Samsung);
  •  Symbian (Nokia та інші);
  •  PalmOS (Palm/Hewlett-Packard) [ПРОЕКТ ЗАКРИТО];
  •  Linux;
  •  BSD;
  •  Solaris тощо.

Популярність мобільних ОС. Google та Apple  очевидні лідери на ринку смартфонів (див. таблицю). У другому кварталі 2011 року загальна частка IOS та Android подвоїлася і склала 62% проти трохи більше 31% у другому кварталі 2010 року. Аналітики Gartner відзначають, що обидві платформи мають приємні інтерфейси, пропонують потрібні споживачам застосування і зростаюче портфоліо сервісів від самих виробників операційних систем.

Таблиця – Світові продажі смартфонів по частках мобільних ОС

Мобільні ОС

2-й кв. 2011

2-й кв. 2010

Android

43.4 %

17.2 %

Symbian

22.1 %

40.9 %

iOS

18.2 %

14.1 %

Research In Motion

11.7 %

18.7 %

Bada

1.9 %

0.9 %

Microsoft

1.6 %

4.9 %

Інші

1.0 %

3.2 %

Крос-платформеність та ії типи

З усьго цього стає зрозуміло, що поняття кросплатформності може використовуватися на різних абстрактних рівнях структури компьютерної системи:

  •  апаратної платформи;
  •  операційної системи;
  •  мови програмування;
  •  середовища виконання;
  •  прикладних програм.

Крос-платформеність на рівні апаратної платформи

Апаратна платформа нижній шар багаторівневої організації обчислювальної системи (апаратура, операційна система, прикладне програмне забезпечення), на який спираються ОС та прикладне ПЗ. Апаратні платформи відрізняються одна від одної архітектурою центрального процесора і використовуваними шинами зв'язку функціональних блоків.

Основні апаратні платформи:

  •  платформи на базі процесорів Intel та їх аналогів (AMD);
  •  високопродуктивні сервера та робочі станції SUN (на базі процесорів SunSparc);
  •  високопродуктивні сервера HP (на базі RISC-процесорів);
  •  платформи Apple.

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

Відомі платформи ОС:

  •  Microsoft Windows — узагальнююча назва операційних систем, розроблених корпорацією Microsoft (див. схему Родинне дерево Windows”).

Перші версії були не повноцінними операційними системами, а лише оболонками до ОС MS DOS.Сімейство Windows 9х вже є повноцінними операційними системами та не потребують для своєї роботи підтримки з боку MSDOS. Підвищені вимоги до зворотньої сумісності (можливість виконання програм, написаних для MSDOS та ранніх версій Windows) призвели до компромісів в архітектурі, що вплинуло на стабільність Windows цього сімейства.

Windows NT була розроблена «з нуля», розвивалася окремо від інших ОС сімейства Windows. Із самого початку Windows NT позиціонувалась не на домашнє використання, а як надійне рішення для робочих станцій (Windows NT Workstation) та серверів (Windows NT Server). Це дозволяло не звертати значної уваги на зворотню сумісність. ОС сімейства Windows NT працювали на процесорах з архітектурою IA32 та деяких менших RISC-процесорів: Alpha, MIPS (до версії 2000, що вийшла лише у версії для IA32).

Windows XP є розвитком Windows 2000 Professional. Назва XP (походить від англ. experience – досвід, враження, професійний) увійшла до практики використання, як професійна версія. На відміну від Windows 2000, Windows XP є виключно клієнтською системою. Її серверним варіантом є випущена пізніше система Windows Server 2003, побудовані на основі одного і того ж ядра ОС.

Windows Vista — версія Microsoft Windows NT, використовується на персональних комп'ютерах, представлена у варіантах для 64- та для 32-розрядних процесорів.

Windows 7 — назва найновішої версії, котра менше, ніж через три роки після випуску попередньої комерційно невдалої ОС Windows Vista.Всі варіанти Windows 7, крім найбільш спрощених, працюють як на 32-бітній, так і на 64-бітній платформах.

Примітка. IA32 (Intel Architecture 32, x86 або 80x86) загальна назва мікропроцесорної архітектури, яка була вперше реалізована в процесорах компанії Intel, а потім інших виробників – AMD, VIA, Transmeta, IDT тощо. Сьогодні домінує на ринку настільних і мобільних комп'ютерів та малих серверів.

  •  Unixсімейство переносимих багатозадачних та багатокористувацьких операційних систем (див. схему Геніалогічне дерево UNIX-систем).

Перша система UNIX була розроблена у 1969 році в підрозділі Bell Labs компанії AT&T. З того часу була створена велика кількість різних UNIX-систем. Юридично лише деякі з них мають повне право називатися «UNIX»; решта ж, хоча і використовують подібні концепції та технології, поєднуються терміном «UNIX-подібні» (англ. UNIX-like).

Сьогодні  UNIX-системи використовуються в основному на серверах, а також як вбудовані системи для різного устаткування. На ринку ОС для робочих станцій та домашнього застосування лідером є Microsoft Windows, UNIX займає тільки друге (Mac OS X), третє (GNU / Linux) і багато наступні місця.

UNIX-системи мають велику історичну важливість, оскільки завдяки їм поширилися деякі популярні сьогодні концепції і підходи в області ОС і програмного забезпечення. Також, в ході розробки Unix-систем був створений мова Сі.

Серед прикладів відомих UNIX-подібних операційних систем: BSD, Solaris, Linux, Android, MeeGo, NeXTSTEP, Mac OS X, Apple iOS.

BSD (Berkeley Software Distribution)  система розповсюдження програмного забезпечення в початкових кодах, створена для обміну досвідом між навчальними закладами. Особливістю пакетів ПЗ BSD була спеціальна ліцензія BSD, яку коротко можна охарактеризувати так: весь вихідний код  власність BSD, всі правки  власність їх авторів.

Зараз термін BSD найчастіше вживається як синонім BSD-UNIX загальної назви варіантів UNIX, що сходять до дистрибутивів університету Берклі. До сімейстава BSD належать: NetBSD, FreeBSD, OpenBSD, ClosedBSD, MirBSD, DragonFly BSD, PC-BSD, DesktopBSD, SunOS, TrueBSD, Frenzy, Ultrix та частково Darwin (ядро Mac OS X).

Solaris  комп'ютерна операційна система, розроблена компанією Sun Microsystems, яка нині належить Oracle Corporation. Хоча Solaris – це ОС з закритим вихідним кодом, більша його частина відкрита та опублікована в проекті OpenSolaris.

Просто Linux або GNU/Linux  Unix-подібна операційна система, створена та поширювана згідно з моделлю розробки вільного та відкритого програмного забезпечення. На відміну від інших ОС, Linux не має єдиної «офіційної» комплектації, а поширюється (найчастіше безкоштовно) у вигляді ряду різних готових дистрибутивів, які мають свій набір прикладних програм і вже налаштованих під конкретні потреби користувача.

Android  портативна (мережева) операційна система для комунікаторів, планшетних комп'ютерів, електронних книжок, цифрових програвачів, наручних годинників, нетбуків та смартбуков, заснована на ядрі Linux.

OS X (до версії 10.7 Lion називалася Mac OS X)  пропріетарна операційна система від Apple. OS X входить в сімейство операційних систем OS X, до якого відноситься і Apple, IOS. Також, OS X є наступницею Mac OS 9 - останньої версії «класичної» Macintosh Operating System (Mac OS). OS X  друга за популярністю у світі операційна система. Її ринкова частка в сегменті настільних комп'ютерів в лютому 2012 року склала 6,92%.

iOS (до 2010 року iPhone OS)  мобільна операційна система, що розробляється і випускається американською компанією Apple. Була випущена в 2007 році, спочатку для iPhone та IPod Touch, пізніше - для таких пристроїв, як IPAD і Apple TV. На відміну від Windows Phone і Google Android, випускається тільки для пристроїв, вироблених фірмою Apple.

Інтерфейс користувача IOS заснований на концепції прямого маніпулювання з використанням жестів мультитач. Елементи керування інтерфейсом складаються з повзунків, перемикачів і кнопок.

IOS розроблена на основі Mac OS X і використовує той же POSIX-сумісний набір основних компонентів Дарвіна.

Переносимість операційних систем. Сучасні ОС часто є крос-платформними. Так, при розробці Windows NT переносимість була однією з її першочергових завдань, за приклад були взяті ОС Unix та Mach. Кількість платформ, для яких існували релізні версії ОС сімейства Windows NT, вражає: Intel x86, MIPS , PowerPC, DEC Alpha, Itanium та AMD x86-64. Незалежними виробниками комп'ютер-них систем були також розроблені версії Windows NT для архітектур Clipper та SPARC, однак ці версії не були випущені як самостійні програмні продукти.

ОС з відкритим кодом, такі як NETBSD, Linux, FREEBSD, AROS, можуть працювати на декількох різних платформах, найчастіше це x86, m68k, POWERPC, Alpha, AMD64, SPARC. Операційна система NETBSD вважається самою переносною, вона портована на більшість існуючих платформ.

Емуляція

Якщо програма не призначена для виконання (запуску) на певній платформі, але для цієї платформи існує емулятор платформи, базової для даної програми, то програма може бути виконана в середовищі емулятора.

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

Крос-платформність на рівні ОС

Платформа ОС являє собою загальну організацію виконання прикладних програм, задаючи, наприклад, порядок запуску програми, схему використання нею адресного простору, зафіксовані в архітектурі операційної системи, плюс – інтерфейс для програмування застосувань (API), на рівні операційної системи.

При розгляді сумісності, або подібності, на рівні ОС, наприклад, системних викликів, файлових систем та користувацького середовища, при порівнянні споріднених ОС (наприклад, UNIX) або сімейства, наприклад, Microsoft Windows, йдеться про сумісність на рівні API операційної системи, наприклад, в рамках сімейства ОС, а не абстрактного поняття «платформи».

Крос- платформні мови програмування

Згадаємо, що за способом реалізації розрізняють компільовані, інтерпретовані та змішані мови програмування (див. рис.).

Програма на компільованій мові за допомогою компілятора (спеціальної програми) перетворюється (компілюється) в машинний код (набір інструкцій) для даного типу процесора і далі збирається в виконуваний модуль. Іншими словами, компілятор переводить вихідний текст програми з мови програмування високого рівня в двійкові коди інструкцій процесора.

Якщо програма написана на скриптовій мові, то інтерпретатор безпосередньо виконує (інтерпретує) вихідний текст без попереднього перекладу. При цьому програма залишається написаною на вихідній мові й не може бути запущена без інтерпретатора. Процесор комп'ютера, у цьому контексті, можна назвати інтерпретатором для машинного коду.

Поділ на компільовані та інтерпретовані мови є умовним, бо для будь-якої традиційно компильованої мови, як, наприклад, Паскаль, можна написати інтерпретатор. Крім того, більшість сучасних «чистих» інтерпретаторів не виконують конструкції мови безпосередньо, а компілюють їх в деяке високорівневе проміжне представлення (наприклад, з разименованія змінних і розкриттям макросів).

Для будь-якої мови, що інтерпретується, можна створити компілятор – наприклад, мова Лісп, спочатку була інтерпретованою мовою, може компілюватися без будь-яких обмежень. Створюваний під час виконання програми код може так само динамічно компілюватися під час виконання.

Як правило, скомпільовані програми виконуються швидше і не вимагають для виконання додаткових програм, оскільки вже переведені на машинну мову. Разом з тим, після кожної зміни тексту програми потрібно її перекомпілювати, що уповільнює процес розробки. Крім того, скомпільована програма може виконуватися тільки на тому ж типі комп'ютерів і, як правило, під тією ж операційною системою, на яку був розрахований компілятор. Щоб створити виконуваний файл для машини іншого типу, потрібна нова компіляція.

Інтерпретовані мови володіють деякими специфічними додатковими можливостями (див. вище), крім того, програми на них можна запускати відразу ж після зміни, що полегшує розробку. Програма на скриптової мови може бути найчастіше запущена на різних типах машин та операційних систем без додаткових зусиль.

Однак інтерпретовані програми виконуються помітно повільніше, ніж компільовані, крім того, вони не можуть виконуватися без програми-інтерпретатора.

Деякі мови, наприклад, Java і C #, знаходяться між компільованих та інтерпретуються. А саме, програма компілюється не в машинну мову, а в машинно-незалежний код низького рівня, байт-код. Далі байт-код виконується віртуальною машиною. Для виконання байт-коду зазвичай використовується інтерпретація, хоча окремі його частини для прискорення роботи програми можуть бути трансльовані в машинний код безпосередньо під час виконання програми за технологією компіляції «на льоту» (Just-in-time compilation, JIT). Java байт-код виконується віртуальною машиною Java (Java Virtual Machine, JVM), байт-код для C # – Common Language Runtime.

Подібний підхід у деякому сенсі дозволяє використовувати плюси як інтерпретаторів, так і компіляторів. Слід згадати, що є мови, мають і інтерпретатор, і компілятор (Форт).

З огляду на ці міркування, крос-платформними можна назвати більшість сучасних мов програмування високо рівня.

Мови C, С++, PureBasic та Free Pascalкрос-платформні мови на рівні компіляції, тобто для цих мов існують компілятори під різні платформи.

Історична довідка. На початку 70-х років Деніс Рітчі (Dennis Ritchie), працівник компанії Bell Laboratories, займався розробкою операційної системи UNIX. Для цього Рітчі була потрібна мова, яка б бути забезпечувала ефективне керування апаратними засобами та одночасно створення компактних, швидко працюючих програм. Традиційно такі потреби програмістів задовольняв ассемблер, який тісно пов’язаний з внутрішньою машинною мовою комп’ютера. Однак ассемблер – це мова низького рівня, він прив’язаний до відповідного типу процесора і враховують його особливості, тому для перенесення програми на асемблері на іншу апаратну платформу її потрібно майже цілком переписати. ОС UNIX призначалася для робота на комп’ютерах різих типів. Рітчі потребував мови, що поєднувала б у собі характерну для мов низького рівня ефективність та можливість доступа до апаратних засобів з більш загальним характером та можливістю перенесення (у 70-ті роки це називалося мобільністю), що властиві мовам високого рівня. Тому на основі існуючих на той час старих мов програмування – BCPL та B Рітчі створив мову С.

Вперше в історії мова С була реалізована на комп’ютері DEC PDP-11 у 1972 році. Насьогодні практично всі нові операційні системи написані на С або на С++. Протягом двох наступних десятиліть С став доступним для більшості комп’ютерів. С незалежна від апаратних засобів. В кінці 70-х років С розвився у те, що зараз відносять до “традиційного С”, “класичного С” або “С Керніана та Рітчі” (публікація видавництвом Prentice-Hall книги Кернігана та Рітчі “Мова програмування С” звернула широку увагу до цієї мови).

Мови скриптів PHP, ActionScript, Perl, Python, Tcl та Rubyкрос-платформні мови, що інтерпретуються, їх інтерпретатори існують для багатьох платформ.

Java та C#крос-платформні мови на рівні виконання, тобто їх виконувані файли можна запускати на різних платформах без попередньої перекомпіляції. Це забезпечує двох-етапна компіляція через проміжний код, для виконання якого в Java використовується віртуальна машина (JRE), а в C# загальномовне середовища програмування CLR.

Не менш важливі для крос-платформності стандартизовані бібліотеки часу виконання. Зокрема, стандартом стала бібліотека мови С (це опис програмного інтерфейсу, а не справжня бібліотека, придатна для використання в процесі компіляції). З великих кроссплатформенних бібліотек – Qt, GTK+, FLTK, STL, Boost, OpenGL, SDL, OpenAL, OpenCL.

Qt (вимовляється «к'ют»)  крос-платформний інструментарій розробки ПЗ на мові C++. Є також «прив'язки» до багатьох інших мов програмування: Python – PyQt, PySide; Ruby  QtRuby; Java  Qt Jambi; PHP  PHP-Qt тощо. Дозволяє запускати написане за його допомогою ПЗ в більшості сучасних ОС шляхом простої компіляції програми для кожної ОС без зміни початкового коду. Включає в себе всі основні класи, які можуть знадобитися при розробці прикладного ПЗ, починаючи від елементів графічного інтерфейсу та закінчуючи класами для роботи з мережею, базами даних і XML. Qt є повністю об'єктно-орієнтованим, легко розширюваним і підтримує техніку компонентного програмування. Існують версії бібліотеки для Microsoft Windows, систем класу UNIX з графічною підсистемою X11, iOS, Android, Mac OS X, Microsoft Windows CE, QNX, Linux-систем, що вбудовуються, та платформи S60. У даний момент розглядається можливість впровадження підтримки Qt в Windows Phone. Також йде портування на Haiku.

GTK+ (скорочення від GIMP ToolKit)  крос-платформна бібліотека елементів інтерфейсу. Поряд з Qt є однією з двох найбільш популярних насьогодні бібліотек для X Window System. Спочатку була частиною графічного редактора GIMP, потім розвинулася в окремий проект і отримала помітну популярність. GTK +  вільне ПЗ, яке розповсюджується на умовах GNU LGPL, що дозволяє створювати як вільне, так і пропрієтарне ПЗ з використанням бібліотеки. GTK + є офіційною бібліотекою для створення графічного інтерфейсу проекту GNU.

FLTK (Fast, Light Toolkit) – багато-платформна бібліотека інструментів з відкритим вихідним кодом (ліцензія LGPL) для побудови графічного інтерфейсу користувача (GUI). FLTK почав розроблятися як заміна бібліотеці XForms, а пізніше був портований на Mac OS та Windows. FLTK з'явився раніше, ніж інші популярні бібліотеки для створення GUI, але був практично невідомий до 1998 року.

Стандартна бібліотека шаблонів STL (Standard Template Library)  набір узгоджених узагальнених алгоритмів, контейнерів, засобів доступу до їхнього вмісту і різних допоміжних функцій в C++. До включення в стандарт C++ бібліотека STL була сторонньою розробкою, спочатку фірми HP, а потім SGI. Стандарт мови не називає її «STL», оскільки ця бібліотека стала невід'ємною частиною мови, проте багато людей досі використовують цю назву, щоб відрізняти її від решти частини стандартної бібліотеки (потоки введення/виведення (iostream), підрозділ С та ін.). Архітектура STL розроблена Олександром Степановим і Менгом Лі.

Крос- платформні середовища виконання

Віртуальна машина JRE (Java Runtime Environment) на платформі Java компанії Sun Microsystems (нині належить Oracle). JRE доступні для багатьох платформ (Windows, Mac OS, Unix), звідси принцип «написано одного разу, запускається скрізь» (write once, run anywhere).

Java Virtual Machine (скорочено Java VM, JVM)  віртуальна машина Java  основна частина виконуючої системи Java, так званого Java Runtime Environment (JRE). Віртуальна машина Java інтерпретує і виконує байт-код Java, попередньо створений з вихідного тексту Java-програми компілятором Java (javac). JVM може також використовуватися для виконання програм, написаних на інших мовах програмування.

Java Runtime Environment (JRE)  мінімальна реалізація віртуальної машини, необхідна для виконання Java-застосувань, без компілятора та інших засобів розробки. Складається з віртуальної машини - Java Virtual Machine і бібліотеки Java-класів. JRE поширюється вільно і для більшості платформ може бути завантажена з сайту Oracle. Засоби розробки разом з JRE входять в JDK.

Java Development Kit (JDK) – безкоштовно поширюваний компанією Oracle Corporation (раніше Sun Microsystems) комплект розробника застосувань на мові Java, що включає в себе компілятор Java (javac), стандартні бібліотеки класів Java, приклади, документацію, різноманітні утиліти та виконавчу систему Java (JRE). До складу JDK не входить інтегроване середовище розробки на Java, тому розробник, що використовує тільки JDK, змушений використовувати зовнішній текстовий редактор і компілювати свої програми через утиліти командного рядка. Всі сучасні інтегровані середовища розробки застосувань на Java, такі, як NetBeans IDE, Sun Java Studio Creator, IntelliJ IDEA, Borland JBuilder, Eclipse, спираються на сервіси, що надаються JDK.

Середовище виконання CLR (Common Language Runtime) на платформі .NET Framework компанії Microsoft. Хоча .NET офіційно розрахована на роботу під ОС сімейства Microsoft Windows, існують незалежні проекти (Mono та Portable.NET), що дозволяють запускати програми .NET на багатьох інших ОС.

Microsoft .NET (читається дот-нет) — програмна технологія, запропонована фірмою Microsoft як платформа для створення як звичайних програм, так і веб-програм. Багато в чому є продовженням ідей та принципів, покладених в технологію Java.

Одною з ідей .NET є сумісність служб, написаних різними мовами. Хоча ця можливість рекламується Microsoft як перевага .NET, платформа Java має таку саму можливість.

Кожна бібліотека (збірка) в .NET має свідчення про свою версію, що дозволяє усунути можливі конфлікти між різними версіями збірок.

.NET — крос-платформена технологія, в цей час існує реалізація для платформи Microsoft Windows, FreeBSD (від Microsoft) і варіант технології для ОС Linux в проекті Mono (в рамках угоди між Microsoft з Novell), DotGNU [1].

Захист авторських прав відноситься до створення середовищ виконання (CLR — Common Language Runtime) для програм .NET. Компілятори для .NET випускаються багатьма фірмами для різних мов вільно.

.NET поділяється на дві основні частини — середовище виконання (по суті віртуальна машина) та інструментарій розробки.

Середовища розробки .NET-програм: Visual Studio .NET (C++, C#, J#), SharpDevelop, Borland Developer Studio (Delphi, C#) і т. д. Середовище Eclipse має додаток для розробки .NET-програм. Застосовні програми також можна розроблювати в текстовому редакторі та використовувати консольний компілятор.

Як і технологія Java, середовище розробки .NET створює байт-код, призначений для виконання віртуальною машиною. Вхідна мова цієї машини в .NET називається CIL (Common Intermediate Language), також відома як MSIL (Microsoft Intermediate Language), або просто IL. Застосування байт-кода дозволяє отримати кроссплатформеність на рівні скомпільованого проекту (в термінах .NET: збірка), а не на рівні початкового тексту, як, наприклад, в С. Перед запуском збірки в середовищі виконання (CLR) байт-код перетворюється вбудованим в середовище JIT-компілятором (just in time, компіляція на льоту) в машинні коди цільового процесора.

Слід зазначити, що один з перших JIT-компіляторів для Java був також розроблений фірмою Microsoft (тепер в Java використовується досконаліша багаторівнева компіляція — Sun HotSpot). Сучасна технологія динамічної компіляції дозволяє досягнути аналогічного рівня швидкодії з традиційними «статичними» компіляторами (наприклад, С++) і питання швидкодії часто залежить від якості того чи іншого компілятора.

Проект Mono

Mono – проект по створенню повноцінного втілення системи .NET Framework на базі вільного програмного забезпечення. Основний розробник проекту Mono – корпорація Xamarin, раніше Novell. Проект очолює Мігель де Ікаса, відомий розробник, засновник проекту GNOME. Реалізації Mono існують для наступних операційних систем: Windows, Linux, BSD (FreeBSD, OpenBSD, NetBSD), Solaris, Mac OS X, Apple iOS, Wii. Підтримуються платформи: s390, SPARC, PowerPC, x86/x86-64, IA64, ARM, Alpha, MIPS, HPPA.

Склад і функціональність. Mono включає компілятор мови C# – dmcs, середовище виконання .NET – mono (з підтримкою JIT) та mint (без підтримки JIT), відладчик, а також ряд бібліотек, включаючи реалізацію WinForms, ADO.NET та ASP.NET, а також компілятори smcs (для створення застосувань для Moonlight) і vbc (для додатків, написаних на VB.NET).

В рамках проекту також розробляються прив'язки для графічної бібліотеки GTK+ на платформу. NET.

Також Mono містить альтернативу структурі WPF-застосувань (XAML+ C#, або будь-який інший мову, який підтримується в даному середовищі виконання). Дана мова називається Glade, за допомогою нього можна збирати GTK-додатки.

Mono може виконувати модулі, написані на мовах C #, Visual Basic. NET, Java, Boo, Nemerle, Python, JavaScript, Erlang, SmallTalk, Lisp, PHP та Object Pascal (за наявності компілятора в середу .Net/Mono). Очікується також підтримка мов C, Ada 2005 та Eiffel.

Юридичні питання. Після укладення Microsoft домовленості з компанією Novell, платформа Mono була офіційно визнана реалізацією .NET на Unix-подібних ОС (Linux, Mac OS X та інших). Однак домовленість стосується тільки Novell та клієнтів Novell; також технології ASP.NET, ADO.NET і Windows.Forms не були стандартизовані ECMA/ISO, і використання їх у Mono знаходиться під загрозою юридичних претензій з боку Microsoft (претензії можливі тільки в країнах, де існують патенти на ПЗ). Mono надає реалізацію ASP.NET, ADO.NET та Windows.Forms, але в той же час рекомендує не використовувати ці API.

Прийнята в проекті ліцензія на компілятор та інші програми - GNU GPL. Ліцензія на середовище виконання та інші бібліотеки - GNU LGPL. Ліцензія на бібліотеки класів – X11 License. Патенти на C#/CLI належать Microsoft, і ведуться суперечки щодо ризику та допустимості зростання залежності від Mono або C#.

Програми, засновані на Mono:

  •  Pinta – растровий графічний редактор з відкритим вихідним кодом, натхненний редактором Paint.NET;
  •  Banshee – медіаплеєр з відкритим вихідним кодом для Linux та
    Mac OS X;
  •  MonoDevelop – вільне середовище розробки.

Крос-платформне програмне забезпечення

Крос-платформне програмне забезпечення програмне забезпечення, що працює більш ніж на одній апаратній платформі та операційній системі. 

Типовим прикладом є ПЗ, призначене для роботи в операційних системах Linux та Windows одночасно.

Типова мета створення кроссплатформенного програмного забезпечення – "пережити" ту конкретну платформу, для якої воно створювалося.

Прикладами ПЗ, що виконується на різних апаратних платформах та під управлінням різних операційних систем, є різноманітні програми, написані на мовах програмування для віртуальних машин, таких, як, наприклад, PHP, Perl, Python, Java, та багато інших, а також кросплатформні середовища розробки застосувань.

Велика кількість прикладних програм також є крос-платформними. Особливо це стосується програм, спочатку розроблених для UNIX-подібних ОС. Важливою умовою їх переносимості на інші платформи є сумісність платформ з рекомендаціями POSIX, а також існування компілятора GCC для платформи, на яку здійснюється перенесення. Приклади:

  •  Apacheвільний веб-сервер, підтримує операційні системи Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.
  •  IBM Lotus Notes (також Lotus Notes, Lotus Notes/Domino) – програмний продукт, платформа для автоматизації спільної діяльності робочих груп (Groupware), що містить засоби електронної пошти, персональних і групових електронних календарів, служби миттєвих повідомлень та середовище виконання застосувань ділової взаємодії. Випущений у 1989 році американською компанією Lotus Development, яка в 1995 році поглинула корпорація IBM.
  •  Mozilla Firefoxвільно поширюваний браузер, що входить в набір програм Mozilla застосувань, розробкою та поширенням якого займається Mozilla Corporation. Третій за популярністю браузер у світі. офіційно випускається для Microsoft Windows, Mac OS X, Android та Linux. Доступні неофіційні збірки для FreeBSD, BeOS, і безлічі інших Unix-подібних операційних систем.
  •  Mozilla Thunderbird безкоштовна, крос-платформена, вільно поширювана програма для роботи з електронною поштою і групами новин, а при установці розширення Lightning (ПО), і з календарем. Є складовою частиною проекту Mozilla.
  •  SeaMonkeyвільний набір програм для роботи в Інтернеті. Є прямим продовженням Mozilla Suite.
  •  MySQLвільна система керування базами даних. Розробку та підтримку MySQL здійснює корпорація Oracle, яка отримала права на торговельну марку разом з поглиненою Sun Microsystems, яка раніше придбала шведську компанію MySQL AB. MySQL є рішенням для малих і середніх застосувань.
  •  OpenOffice.org – вільний пакет офісних застосувань. Конкурує з комерційними офісними пакетами (у тому числі Microsoft Office) як на рівні форматів, так і на рівні інтерфейсу користувача. Одним з перших почав підтримувати новий відкритий формат OpenDocument (ISO/IEC 26300). Офіційно підтримується на платформах Linux, Microsoft Windows, Mac OS X Intel/PowerPC (підтримка оболонки Аква знаходиться на стадії альфа-тестування) й раніше підтримувався Solaris SPARC/Intel. Існують порти для OpenSolaris, FreeBSD і Linux PowerPC. Заснований на коді StarOffice, що був придбаний, а потім випущений з відкритим вихідним кодом фірмою Sun Microsystems. Після покупки останньої права на OO.o перейшли до компанії Oracle.
  •  Operaвеб-браузер і програмний пакет для роботи в Інтернеті, що випускається компанією Opera Software.
  •  BinkDмережевий протокол прикладного рівня, розроблений для передачі файлів в Фідонеті або в інших FTN-мережах, що походить поверх TCP-з'єднання.
  •  CVS (Concurrent Versions System) – програмний продукт, що відноситься до розряду систем керування версіями (version control system). Зберігає історію змін певного набору файлів, як правило, вихідного коду програмного забезпечення, та полегшує спільну роботу групи людей (програмістів) над одним проектом. CVS популярна у світі відкритого ПЗ.
  •  Emacsсімейство багатофункціональних розширюваних текстових редакторів.
  •  GIMP, GoldEd, Inkscape, LibreOffice, VIM тощо.

Компілятор GCC (GNU Compiler Collection, GCC) — набір компіляторів для різних мов програмування. GCC — вільне програмне забезпечення, розроблене Фондом Вільних Програм під ліцензією GNU GPL та GNU LGPL, і є ключовою складовою набору знарядь розробки GNU (GNU development toolchain). Це стандартний компілятор для вільних Юнікс-подібних операційних систем, і деяких пропрієтарних систем, що з них розвинулись, наприклад Mac OS X.

Спочатку називався GNU Компілятор Сі, оскільки підтримував лише одну мову програмування — C. Пізніше був розширений для підтримки C++, Fortran, Java (компілятор GCJ), Ada, та інших.

Портування

Під портуванням (англ. porting) в програмуванні розуміють адаптацію деякої програми або її частини, для того, щоб вона працювала в іншому середовищі, яке відрізняється від того середовища, під яке вона була спочатку написана, з максимальним збереженням її користувацьких властивостей. У цьому основна відмінність понять порт і форк – у першому випадку намагаються зберегти всі користувацькі властивості пакета, а у другому – це базована на загальній основі самостійна розробка з новими корисними властивостями.

Процес портування також називають портуванням або перенесенням, а результат – портом. Але в будь-якому випадку головним завданням під час портування є збереження звичних користувачеві інтерфейсу та прийомів роботи з пакетом і його властивостей. Додавання нових або видалення частини наявних властивостей при портуванні програмних продуктів не допускається.

Портування – включення коду програми в роботу Апаратно-програмного забезпечення.

Портовність (переносимість, англ. Portability) зазвичай відноситься до однієї з двох речей:

  •  Портовність – як можливість один раз відкомпілювати код (зазвичай в певний проміжний код, який потім інтерпретується або компілюється під час виконання, «на льоту», англ. Just-In-Time), а потім запускати його на безлічі платформ без будь-яких змін.
  •  Портовність – як властивість ПЗ, що описує, наскільки легко це ПЗ може бути портоване. З розвитком ОС, мов і техніки програмування стає все простіше портувати програми між різними платформами. Однією з початкових цілей створення мови С та стандартної бібліотеки цієї мови була можливість простого портування програм між несумісними апаратними платформами. Додаткові переваги в плані портовності можуть мати програми, що задовольняють спеціальним стандартам та правилам написання (див., наприклад, Smart Package Manager).

Необхідність у виконанні портування виникає зазвичай через відмінності в системі команд процесора, відмінностей між способами взаємодії операційної системи та програм (API, Application Program Interface), принципових відмінностей в архітектурі обчислювальних систем, або через деяких несумісності, або навіть за повної відсутності використовуваної мови програмування в цільовому оточенні.

Міжнародні стандарти (зокрема, просувні ISO) значно спрощують портування, завдяки тому що вони описують середовище виконання програм таким чином, що відмінності між платформами стають мінімальними. Часто портування програм між платформами, що реалізують один і той же стандарт (такий як POSIX.1), зводиться до перекомпіляції програми на новій платформі.

Існує також все більш розширюваний набір інструментів, що полегшують портування, наприклад, таких як GCC, що надає незмінну мову програмування на різних платформах.

Деякі мови програмування високого рівня (Eiffel, Esterel) досягають портованості шляхом трансляції вихідного коду в проміжну мову, що має компілятори для багатьох процесорів та операційних систем.

Термін портування часто застосовується до комп'ютерних ігор, а саме, до процесу переносу комп'ютерної гри з первісної цільової платформи (персонального комп'ютера або ігрової приставки) на іншу платформу. Ранні порти відеоігор, по суті, були результатом значного або повного переписування програми, але все більше сучасних ігор розробляється з використанням програмного забезпечення, що дозволяє генерувати код як для PC так і для однієї або декількох ігрових консолей.

В залежності від того, для чого спочатку розроблялося те чи інше програмне забезпечення, його називають рідним або портувати. Рідне ПЗ (англ. native) розробляється відразу для тієї платформи (апаратного забезпечення та/або операційної системи), про яку йде мова. Портоване ПЗ (англ. ported) розробляється для одних платформ, після чого переноситься для роботи на інших платформах.

Мобільність та переносимість

Мобільність програмного забезпечення (software mobility або software portability) – здатність програмного забезпечення працювати на різних апаратних платформах або під управлінням різних операційних систем.

Синоніми: Переносимість програмного забезпечення 

Мобільне програмне забезпечення – програмне забезпечення, здатне функціонувати на різних програмно-апаратних платформах.

Глоссарий по информационному обществу / Под общ. ред. Ю.Е. Хохлова. – М.: Институт развития информационного общества, 2009. – 162 с. 

Мобільність ПЗ (portability) – група властивостей ПЗ, яка зумовлює їх пристосованість для переносу з одного середовища функціонування в інші.

ДСТУ 2844-94 Програмні засоби ЕОМ. Забезпечення якості. Терміни та визначення 


Мови програмування (МП)

омпільовані МП

Інтерпретовані МП

Змішані МП


 

А также другие работы, которые могут Вас заинтересовать

21536. Активная детоксикационная терапия 111.5 KB
  Методы детоксикационной терапии . При выраженных клинических проявлениях отравления после проведения мероприятий по стабилизации состояния больного обычно в комплекс терапии включают методы искусственной детоксикации. Свидетельством этого является возрастающая роль энтеросороции и активированного угля в терапии начальных этапов отравления и в предотвращении гепатоэнтеральной циркуляции токсина. Стимуляция выведения яда и его метаболитов почками Значительное число токсических веществ и их метаболитов элиминируются из организма почками...
21537. АММИАК (НАШАТЫРНЫЙ СПИРТ) 35.5 KB
  Внутрь 12 таблетки кодеина по 0015 10 г аскорбиновой кислоты подкожно 10 мл 01 раствора атропина 10 мл 2 раствора промедола внутримышечно 20 мл 1 раствора димедрола 20 мл кордиамина. В случае попадания в глаза – обильное промывание не менее 15 мин проточной водой с последующим закапыванием 30 раствора сульфацилнатрия альбуцид натрия. Введение 24 мл 2 раствора фуросемида лазикса внутривенно; 100200 мг метилпреднизолона каждые 46 часов гидрокортизона 150250 мг или преднизолона 100150 мг внутривенно медленно...
21538. ДИАГНОСТИКА И ЛЕЧЕНИЕ ОСТРЫХ БЫТОВЫХ ОТРАВЛЕНИЙ И ОТРАВЛЕНИЙ НАИБОЛЕЕ ЧАСТО ВСТРЕЧАЮЩИХСЯ В ВОЙСКАХ 60.5 KB
  МЕТОДИЧЕСКАЯ РАЗРАБОТКА ДЛЯ ПРОВЕДЕНИЯ ПРАКТИЧЕСКОГО ЗАНЯТИЯ по военнополевой терапии на тему: ДИАГНОСТИКА И ЛЕЧЕНИЕ ОСТРЫХ БЫТОВЫХ ОТРАВЛЕНИЙ И ОТРАВЛЕНИЙ НАИБОЛЕЕ ЧАСТО ВСТРЕЧАЮЩИХСЯ В ВОЙСКАХ со слушателями 1 факультета СанктПетербург 2001 г. Характерные особенности отравлений спиртами хлорированными углеводородами угарным газом некоторыми группами фармпрепаратов. Среди острых отравлений фармакологическими препаратами наиболее часто встречаются отравления снотворноседативными препаратами анальгетиками гипотензивными препаратами...
21539. ИНТЕНСИВНАЯ ТЕРАПИЯ ТЕРМИНАЛЬНЫХ СОСТОЯНИЙ 163.5 KB
  Тенденция к увеличению объема выброса в ответ на увеличение давления наполнения является важным адаптивным механизмом позволяющим приводить в соответствие сердечный выброс и венозный возврат. Обособленно от длины и диаметра сосудов вязкость крови является важной детерминантой постнагрузки. В таком состоянии миокард находится несколько дней что является стадией в полном восстановлении после преходящей дисфункции. ЦВД является важным диагностическим критерием инфаркта правого желудочка и более того форма его кривой помогает установить...
21540. КЛИНИКА, ДИАГНОСТИКА И ТЕРАПИЯ ПОРАЖЕНИЙ ОТРАВЛЯЮЩИМИ ВЕЩЕСТВАМИ УДУШАЮЩЕГО ДЕЙСТВИЯ 197 KB
  Классификация отравляющих веществ удушающего действия В настоящее время существует несколько подходов к классифицированию и рассмотрению механизмов токсического действия веществ способных при остром отравлении нарушать основную функцию легких – газообмен. Помимо названных существует большое количество химических соединений как природного происхождения так и синтетических которые нарушают функцию легких при энтеральном и парэнтеральном путях поступления. Объединяющим свойством пульмонотоксикантов вне зависимости от пути проникновения в...
21541. КЛИНИКА, ДИАГНОСТИКА И ТЕРАПИЯ ПОРАЖЕНИЙ ОТРАВЛЯЮЩИМИ ВЕЩЕСТВАМИ НЕРВНО-ПАРАЛИТИЧЕСКОГО ДЕЙСТВИЯ 53 KB
  Обстоятельства при которых появились первые жалобы; динамику и последовательность развития признаков поражения: находился ли в зараженной атмосфере и сколько времени; принял внутрь какоето вещество и в какой дозе; сколько времени прошло с момента отравления до оказания помощи и в каком объеме она была оказана; каково было состояние на догоспитальном этапе была ли потеря сознания нарушения дыхания и сердечной деятельности мышечная слабость миофибрилляция судороги; 2. Состояние накануне заболевания возраст наличие болезней...
21542. КЛИНИКА, ДИАГНОСТИКА И ТЕРАПИЯ ПОРАЖЕНИЙ ОТРАВЛЯЮЩИМИ ВЕЩЕСТВАМИ УДУШАЮЩЕГО ДЕЙСТВИЯ И АГРЕССИВНЫМИ ЖИДКОСТЯМИ 99.5 KB
  В результате развития патологического процесса в легких нарушается оксигенация крови наступает гипоксия. Распространенность и степень выраженности патологического процесса в дыхательных путях и легких определяется характером яда его концентрацией и временем действия состоянием организма и его реакцией на воздействие яда. Поражениям ОВ удушающего действия средней и тяжелой степени как правило сопутствует острая эмфизема легких которая еще в большей степени усугубляет дыхательную недостаточность и создает дополнительную нагрузку на...
21543. ОСТРЫЕ ОТРАВЛЕНИЯ ХЛОРОМ, АММИАКОМ, ГИПОКСИЧЕСКИМИ ГАЗАМИ 82.5 KB
  ОТРАВЛЕНИЯ ГИПОКСИЧЕСКИМИ ГАЗАМИ ОСТРЫЕ ОТРАВЛЕНИЯ ОКИСЬЮ УГЛЕРОДА Окись углерода встречается везде где существуют условия для неполного сгорания веществ содержащих углерод. Она входит в состав многих промышленных газов доменный генераторный коксовый; содержание окиси углерода в выхлопных газах двигателей внутреннего сгорания колеблется от 1 до 13. Окись углерода широко применяется как одно из исходных соединений в современной промышленности органического синтеза. Окись углерода СО это бесцветный газ без запаха и вкуса.
21544. ОТРАВЛЕНИЯ СПИРТАМИ (клиника, диагностика, лечение) 82 KB
  Отравления могут носить профессиональный характер и возникать вследствие нарушений правил техники безопасности приема спиртсодержащей жидкости внутрь по ошибке или преднамеренно с целью опьянения. Наиболее часто встречаются и тяжело протекают острые отравления такими веществами как этиленгликоль и его производные метиловый спирт этиловый спирт амиловый бутиловый тетрагидрофурфуриловый спирт. Острые отравления спиртсодержащими жидкостями это трудный для диагностики и сложный для лечения раздел клинической токсикологии имеющий большую...