Що означає “POSIX”?


898

Що таке POSIX? Я прочитав статтю у Вікіпедії і читаю її кожен раз, коли стикаюся з цим терміном. Справа в тому, що я ніколи не зрозумів, що це таке.

Чи може хто-небудь пояснити це мені, пояснивши "необхідність POSIX" теж?



швидке визначення посилань - whatis.techtarget.com/definition/…
парашут

Відповіді:


622

POSIX - це сімейство стандартів, визначених IEEE , щоб уточнити та зробити єдиними інтерфейси програмування додатків (і допоміжні питання, такі як утиліти оболонки командного рядка), що надаються операційними системами Unix-y. Коли ви пишете свої програми, що покладаються на стандарти POSIX, ви можете бути впевнені, що зможете легко перенести їх серед великої родини похідних Unix (включаючи Linux, але не обмежуючись цим!); якщо і коли ви використовуєте якийсь API Linux, який не стандартизований як частина Posix, у вас буде складніше, коли і коли ви захочете перенести цю програму або бібліотеку в інші системи Unix-y (наприклад, MacOSX) у майбутньому.


34
Ні, стандарт знаходиться на рівні API - кожен вказаний дзвінок може бути реалізований в ядрі або в бібліотеці C в рамках іншого дзвінка, і це просто чудово для Posix (і для ваших програм теж ;-). MacOSX сумісний з Posix, див. Devworld.apple.com/leopard/overview/osfoundations.html . Для Windows див. En.wikipedia.org/wiki/POSIX#POSIX_for_Windows : Відповідність Posix наразі включена лише у видання Enterprise та Ultimate (не у більш дешеві! -), хоча ви можете отримати частково w / Cygwin, en.wikipedia. org / wiki / Cygwin .
Алекс Мартеллі

23
Ваш коментар є хибним, оскільки частка ринку Microsoft на робочих столах, принаймні, робить його "тим, що слід за світом".
Джед Сміт

29
Я думаю, що саме кігті мали на увазі те, що Microsoft не докладає великих зусиль, щоб бути сумісною з іншими платформами.
mipadi

12
@deltaray обійняти, розширити та згасити . MS java (нестандартний java.util. Java.security, java.io, java.lang та java.awt), Internet Explorer (майже сказав "exploder") та .NET (так, я знаю, вони випустили частковий джерело для .NET, але це ліцензія є обмежувальною, і це ще НЕ є порту Linux. Моно є неповним). Також патенти exFAT . Ви абсолютно правильні.
Wyatt8740

25
Microsoft's market share on desktops, at least, makes it "what the world follows"- Цікаво відзначити, як багато чого змінилося після цього коментаря з 2009 року :)
GMA

516

Найважливіші речі, які POSIX 7 визначає

  1. C API

    Значно розширює ANSI C такими речами, як:

    • більше файлових операцій: mkdir, dirname, symlink, readlink, link() жорсткі посилання, poll(), stat, sync,nftw()
    • обробляти і потоки: fork, execl, wait, pipe, semaphors sem_*, спільна пам'ять ( shm_*), killпараметри планування ( nice, sched_*), sleep, mkfifo,setpgid()
    • мережа: socket()
    • управління пам'яттю: mmap, mlock, mprotect, madvise,brk()
    • утиліти: регулярні вирази ( reg*)

    Ці API також визначають основні системні концепції, від яких вони залежать, наприклад, forkвимагає поняття процесу.

    Багато системні виклики Linux існують для реалізації конкретної POSIX C функції API і зробити Linux сумісний, наприклад sys_write, sys_read... Багато з цих системних викликів також Linux-специфічні розширення , однак.

    Основна реалізація настільних систем Linux: glibc, яка у багатьох випадках просто забезпечує дрібну обгортку для системних викликів.

  2. Утиліти CLI

    Наприклад: cd, ls, echo...

    Багато утиліт - це прямі передні оболонки оболонки для відповідної функції API API, наприклад mkdir.

    Реалізація настільних Основні Linux: GNU Coreutils для маленьких, окремі GNU проекти для великих ,: sed, grep, awk, ... Деякі утиліти CLI реалізуються Bash як вбудовані модулі .

  3. Мова оболонки

    Наприклад, a=b; echo "$a"

    Основна реалізація настільних систем Linux: GNU Bash .

  4. Змінні середовища

    Напр .: HOME, PATH.

    PATH уточнюється семантика пошуку , включаючи те, як косої риски перешкоджають PATHпошуку .

  5. Статус виходу з програми

    ANSI C говорить 0або EXIT_SUCCESSпро успіх, EXIT_FAILUREза невдачу, а решту реалізації залишає визначеною.

    POSIX додає:

    • 126: команда знайдена, але не виконується.

    • 127: команда не знайдена.

    • > 128: закінчується сигналом.

      Але, схоже, POSIX не вказує 128 + SIGNAL_IDправило, яке використовує Bash: /unix/99112/default-exit-code-when-process-is-terminated

  6. Регулярне вираження

    Існує два типи: BRE (Basic) та ERE (Extended). Basic є застарілим і зберігається лише для того, щоб не порушувати API.

    Вони реалізовані за допомогою функцій API API та використовуються у всіх утилітах CLI, наприклад, grepприймає BRE за замовчуванням та ERE з -E.

    Наприклад: echo 'a.1' | grep -E 'a.[[:digit:]]'

    Основна реалізація Linux: glibc реалізує функції під regex.h, такі програми, як, наприклад, grepможуть використовувати як резервний .

  7. Структура каталогів

    Наприклад: /dev/null,/tmp

    Linux FHS значно розширює POSIX.

  8. Імена файлів

    • / є роздільником шляху
    • NUL не можна використовувати
    • .є cwd, ..батьківський
    • переносні імена файлів
      • використовувати максимум 14 символів та 256 для повного шляху
      • може містити лише: a-zA-Z0-9._-

    Дивіться також: що таке відповідність позіксам для файлової системи?

  9. Конвенції API API утиліти

    Не є обов'язковим, використовується POSIX, але майже ніде більше, особливо не в GNU. Але це правда, це занадто обмежувально, наприклад, лише прапорці з однією літерою (наприклад -a), відсутність подвійних версій з дефісом (наприклад --all).

    Кілька широко використовуваних конвенцій:

    • - означає stdin, де очікується файл
    • --завершує прапори, наприклад, ls -- -lдля переліку каталогу з назвою-l

    Дивіться також: Чи існують стандарти для комутаторів і аргументів командного рядка Linux?

  10. "POSIX ACL" (списки контролю доступу), наприклад, як використовується як резервний файл для setfacl.

    Це було вилучено, але воно було реалізовано в декількох ОС, в тому числі в Linux зsetxattr .

Хто відповідає POSIX?

Багато систем уважно дотримуються POSIX, але мало хто насправді сертифікований Open Group, яка підтримує стандарт. До відомих сертифікованих належать:

  • OS X (Apple) X означає як 10, так і UNIX. Першою була система Apple POSIX, випущена близько 2001 року. Дивіться також: OSX є POSIX OS?
  • AIX (IBM)
  • HP-UX (HP)
  • Solaris (Oracle)

Більшість дистрибутивів Linux дуже сумісні, але не сертифіковані, оскільки не хочуть платити за перевірку відповідності. Inspur K-UX та EulerOS компанії Huawei два сертифікованих приклади.

Офіційний список сертифікованих систем можна знайти за посиланням: https://www.opengroup.org/openbrand/register/, а також на сторінці wiki .

Windows

Windows впровадила POSIX у деяких своїх професійних дистрибутивах.

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

У Windows 8 підтримка застаріла:

У 2016 році було оголошено про новий офіційний Linux-подібний API під назвою "Підсистема Windows для Linux". Вона включає в себе системні виклики Linux, запущений ELF, частини /procфайлової системи, Bash, GCC, (TODO, ймовірно, glibc?) apt-getТа інше: https://channel9.msdn.com/Events/Build/2016/P488, тому я вважаю, що це дозволить Windows працювати багато, якщо не всі, POSIX. Однак він орієнтований на розробників / розгортання замість кінцевих користувачів. Зокрема, не було планів надати доступ до інтерфейсу інтерфейсу Windows.

Історичний огляд офіційної сумісності Microsoft POSIX: http://brianreiter.org/2010/08/24/the-sad-history-of-the-microsoft-posix-subsystem/

Cygwin є відомим стороннім проектом GPL, який "забезпечує значну функціональність POSIX API" для Windows, але вимагає, щоб ви "відновлювали додаток з джерела, якщо ви хочете, щоб він працював у Windows". MSYS2 - пов'язаний проект, який, здається, додає більше функціональних можливостей на додаток до Cygwin.

Android

Android має власну бібліотеку C (Bionic), яка не повністю підтримує POSIX, як для Android O: Чи сумісний Android POSIX?

Рівень бонусу

Standard Base Linux розширює POSIX.

Використовуйте індекси без кадру, вони значно зручніші для читання та пошуку: http://pubs.opengroup.org/onlinepubs/9699919799/nfindex.html

Отримайте повну зашифровану версію HTML-сторінок для приведення тексту: Де знаходиться список функцій API POSIX C?


17
Фантастичні приклади, якби у вас було визначення, як і прийнята відповідь, це була б найкраща відповідь.
Марк

8
@Marc спасибі! Я намагаюся не повторювати сказане в інших відповідях, оскільки люди, ймовірно, вже прочитали їх, і щоб уникнути дублювання ;-) Це відома дилема: meta.stackoverflow.com/questions/305645/…
Ciro Santilli 冠状 病毒 审查 六四事件 法轮功

1
Гарна ідея насправді пояснити, що покриває POSIX (а що ні).
sleske

4
Повсюдно в літературі з'являються посилання на "відповідність POSIX", і типове визначення людей, що виявляються POSIX, - це "набір стандартів сумісності операційних систем, схожих на Unix". Хоча це корисне визначення, залишає багато сумнівів, особливо щодо особливостей, які, як очікується, взаємодіяти. Звичайно, ви можете піти і прочитати всю специфіку POSIX, щоб заглибитись у деталі (і витратити на це багато часу). Але ця відповідь надає дуже потрібне резюме, щоб отримати широку картину щодо сфери POSIX. Особлива подяка Ciro за те, що він витратив час на його написання!
ARX

Буде також непогано додати деякі гарантії Posix щодо цілих типів. Я не знаю точно, що є і не вказано, але я знаю, що як мінімум Posix вимагає існування uint8_t, uint16_t, uint32_t та відповідних підписаних типів. Я не впевнений, чи це гарантує, що такі типи, як "int", мають розмір потужності двох розмірів і що система не зробить чогось неприємного, як, наприклад, "int" з 32 бітами значення, 1 знаком і 31 бітом [таким чином приріст uint32_t може давати UB]; якщо у вас є підручний Стандарт, можливо, було б добре сказати, що є, а не гарантується з цього приводу.
supercat

74

POSIX :

POSIX (вимовляється / ˈpɒzɪks /) або «Інтерфейс портативної операційної системи [для Unix]» 1 - назва сімейства відповідних стандартів, визначених IEEE для визначення інтерфейсу програмування прикладних програм (API), а також інтерфейсів оболонки та утиліти для програмного забезпечення сумісний з варіантами операційної системи Unix, хоча стандарт може застосовуватися до будь-якої операційної системи.

В основному це був набір заходів для полегшення болю при розробці та використанні різних ароматів UNIX, маючи (переважно) загальний API та утиліти. Обмежена відповідність POSIX також поширюється на різні версії Windows.


1. Ви маєте на увазі POSIX говорить, що всі * nix ОС (ядра) повинні мати принаймні цей набір системних викликів. правильно? 2. Чи відповідає WINDOWS / MAC POSIX? If / Ifnot WINDOWS (95,98,2000, xp, vista, 7) дотримується деякого загального (може бути їх власного) стандарту? Іншими словами, POSIX у світі Microsoft ==?
кігті

1
В основному це був "комплекс заходів" для полегшення болю в розвитку. БУЛО ??
кігті

5
Я поставив під сумнів використання слова було теж, але це спірно. Щоб відповісти на ваші запитання: (1) ні, POSIX абсолютно не пов'язаний з ядром, він просто описує, як воно має працювати; (2) OS X має BSD і цілком сумісний з POSIX, але є сірі ділянки. Windows 2008 найближчий до скарги POSIX; у світі Microsoft немає еквівалента POSIX.
Джед Сміт

1
@claws: Не майте на увазі забруднити область під відповіді клетуса ... але. Я пов’язав POSIX.1-2008 у своїй відповіді ... прямо там.
Джед Сміт

3
@ Джед Сміт, немає сірих областей з точки зору відповідності Mac OS X; Mac OS X сертифікований відповідно до Єдиної специфікації UNIX v3, стандарт якої POSIX є підмножиною.
Michael Aaron Safyan

43

Дозвольте дати чітке "неофіційне" пояснення.

POSIX - це набір стандартів, який намагається відрізнити "UNIX" та UNIX-подібні системи від тих, які з ними несумісні. Він був створений урядом США для цілей закупівель. Ідея полягала в тому, що федеральним закупівлям США потрібен спосіб юридично конкретизувати вимоги до різного роду тендерних пропозицій та контрактів таким чином, щоб вони могли бути використані для виключення систем, до яких дана існуюча база коду чи персонал програмування НЕ переносяться.

Оскільки POSIX був написаний пост-факто ... для опису слабко схожого набору конкуруючих систем ... НЕ було написано способом, який міг бути реалізований.

Так, наприклад, NT Майкрософт був написаний з достатньою кількістю відповідності POSIX, щоб отримати право на деякі ставки ... навіть незважаючи на те, що підсистема POSIX була по суті марною з точки зору практичної портативності та сумісності з системами UNIX.

Протягом десятиліть були написані різні інші стандарти для UNIX. Такі речі, як SPEC1170 (вказано одинадцять сотень сімдесят викликів функцій, які потрібно було реалізувати сумісно) та різні втілення SUS (Єдина специфікація UNIX).

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


1
Тоді як же Linux реалізує більшість POSIX, включаючи багато розширень?
ніндзя

8
@ninjalj: Linux був написаний для реалізації практичного набору функцій, схожих на UNIX. Це робити, дотримуючись POSIX, має ідеальний сенс. Однак, моя думка полягала в тому, що POSIX не був створений як специфікація для впровадження нових операційних систем ... він був створений як спосіб, щоб співробітники державних закупівель США відрізнили тих, хто кваліфікувався за певними категоріями торгів, від тих, які не могли б . Основна увага в Linux полягає в наданні корисних функцій таким чином, який є розумним сумісним, надійним та ефективним. POSIX - це не зовсім випадкова ситуація.
Джим Денніс

3
Досить геніально з вас стверджувати, що POSIX був написаний пост-факто! Це є ознакою хорошої організації з розробки стандартів (SDO), де консенсус не досягнутий, поки не існує хоча б однієї відповідної реалізації.
fpmurphy

4
@fpmurphy: Створення специфікації ex post facto на основі однієї або двох сумісних реалізацій є нормою для стандартів протоколу мережевих протоколів IETF ..., які взаємодіють над навмисно розпущеними муфтами. Це не був успішним процесом стандартизації ОС. API між програмами та системою (ядро чи мікрокернел та його підсистеми) є набагато більш щільно пов'язаним, ніж клієнти та сервери чи однорангові мережі. (Я не кажу, що це неможливо; просто зазначивши, що існують відмінності, і історія не показала, що останні є перспективними).
Джим Денніс

2
Зусилля IEEE щодо визначення POSIX ще в 1985 році були стимульовані урядом США. Провести якісь дослідження, прочитати книгу історії чи щось.
rustyx

29

POSIX - стандарт для операційних систем, який повинен був полегшити написання кросплатформенного програмного забезпечення. Це особливо велика справа у світі Unix.


15
Це не просто "належить" полегшити запис крос-платформного коду, а спростити запис крос-платформного коду. Єдиний виняток - Windows, оскільки Microsoft вважає, що це якось краще, ніж усі інші, і не потрібно його виконувати. Однак я прогнозую, що це буде працювати проти них, тим більше, що Mac та Linux отримують більшу частку ринку. Якщо вони дійсно є для "розробників, розробників, розробників", вони зрозуміють, що розробники хочуть, щоб вони відповідали UNIX.
Michael Aaron Safyan

Виходячи з того, що я чув від людей, які працюють з ним набагато ближче, ніж я колись, це, можливо, полегшило роботу, але це, звичайно, не було достатньо для враження від написання один раз, запустити на будь-який POSIX люди отримують, коли чують, що це "стандарт" для операційних систем.
Хенк Гей

6
Вони не вважають, що вони "кращі за всіх"; вони знають, що вони більші за всіх. Тому вони також змінять свою мелодію, втрачаючи частку ринку. Для них це не властиво, наприклад, Netscape почав більше піклуватися про веб-стандарти, коли вони вже не були найпопулярнішими.
Кен

Написання програми для використання лише POSIX API значно полегшує порт між різними Unix та Unix-подібними операційними системами. Однак це найнижчий стандарт консенсусу загального знаменника - тому утиліти або додатки, що мають операційну систему або обладнання, зазвичай потребують певного переписування.
fpmurphy

2
@Ken, і тому ми не повинні дозволяти хрому Google занадто зручним.
Wyatt8740

29

POSIX - це набір стандартів, розроблених IEEE та The Open Group, який описує, як ідеально працюватиме Unix. Програмісти, користувачі та адміністратори можуть ознайомитись із документом POSIX та очікують, що POSIX-скарга Unix надасть усі згадані стандартні засоби.

Оскільки кожен Unix робить дещо інакше - Solaris, Mac OS X, IRIX, BSD та Linux, всі свої химерності - POSIX особливо корисний для тих, хто в цій галузі, оскільки він визначає стандартне середовище для роботи. Наприклад, більшість функцій бібліотеки С базуються на POSIX; програміст може, таким чином, використовувати його у своїй програмі та очікувати, що він поводитиметься однаково у більшості Unices.

Однак, як правило, фокус, а не стандартний, розбігаються в Unix.

Чудова річ у POSIX полягає в тому, що ви можете прочитати його самостійно:

Тема технічної бази відкритої групи 7

Випуск 7 відомий як POSIX.1-2008, і там є нові речі - однак, Google-фу для POSIX.1 і подібного дозволять вам побачити всю історію, за якою є Unix.


2
Я думаю, що ви неправильно використовуєте термін "UNIX". Тепер UNIX посилається на Єдину специфікацію UNIX, і будь-яка операційна система UNIX є операційною системою, яка відповідає Єдиній специфікації UNIX. Можливо, ви маєте на увазі UNIX?
Майкл Аарон Сафьян

8
@Michael: Враховуючи ваші коментарі в інших відповідях, ви, очевидно, дуже поляризована людина з думками, не зовсім конструктивними. Цей конкретний коментар дуже педантичний, і моє значення було передано незалежно від вибору етикетки, з якою ви можете не погодитися. Також Windows підтримує POSIX у версії вищого класу. Зроби подих і відступи, будь ласка.
Джед Сміт

1
@ Джед Сміт, осторонь думок, наслідком цієї посади є те, що деякі операційні системи, які сертифіковані сумісністю UNIX, не є ... так що, я думаю, справедливо сказати, що це вводить в оману. Крім того, що стосується Windows, якщо існують невідповідні версії, розробники не можуть розраховувати на POSIX під час націлювання на платформу Windows, тим самим заперечуючи всю мету наявності POSIX.
Майкл Аарон Сафян

Unix - це операційна система. UNIX - бренд, який проводить The Open Group. Системи, сертифіковані як на брендові профілі UNIX95, UNIX98, так і на UNIX03, відповідність конкретній версії Єдиної специфікації UNIX становить більшість вимог щодо брендингу, можуть використовувати термін UNIX.
fpmurphy

6

У 1985 році люди з компаній у всій галузі комп'ютерної промисловості об'єдналися разом для розробки стандарту POSIX (Портативний інтерфейс операційної системи для комп'ютерних середовищ), який в основному базується на визначенні інтерфейсу UNIX System V (SVID) та інших попередніх зусиллях із стандартизації. Ці зусилля були спонукані урядом США, якому було потрібно стандартне обчислювальне середовище, щоб мінімізувати витрати на навчання та закупівлю. Випущений у 1988 році, POSIX - це група стандартів IEEE, які визначають інтерфейси API, оболонки та утиліти для операційної системи. Хоча стандарти спрямовані на UNIX-подібні системи, стандарти можуть застосовуватися до будь-якої сумісної операційної системи. Тепер, коли ці стандарти отримали прийняття, розробники програмного забезпечення можуть розробляти додатки, які працюють на всіх відповідних версіях UNIX, Linux,

З книги: Практичний посібник з Linux


4

Posix - це більше як ОС, це "стандарт ОС". Ви можете уявити це як уявну ОС, якої насправді не існує, але вона має документацію. Ці документи є "стандартом позі", визначеним IEEE, яка є великою стандартною організацією США. Операційні ОС, що реалізують цю специфікацію, "сумісні з Posix".

Урядові постанови віддають перевагу Posix-сумісним рішенням у своїх інвестиціях, тому сумісність з Posix має значну фінансову перевагу, особливо для великих ІТ-компаній США.

Нагорода за повну сумісність з ОС, що це гарантія того, що вона буде безперебійно збирати та запускати всі програми, сумісні з Posix.

Linux - найвідоміший. Тут також грають OSX, Solaris, NetBSD та Windows NT. Безкоштовні та OpenBSD лише "майже" сумісні з Posix. Відповідність позіксу WinNT є лише псевдо рішенням, щоб уникнути цього урядового регулювання вище.


3

Цей стандарт забезпечує загальну основу для Unix-подібних операційних систем. Він визначає, як оболонка повинна працювати, чого очікувати від таких команд, як ls та grep, та ряд бібліотек C, для яких автори C можуть розраховувати.

Наприклад, тут детально вказані труби, якими користуються користувачі командного рядка для з'єднання команд, що означає, що функція Popen (труба відкрита) є стандартом POSIX, а не стандартом ISO C.


3

POSIX розшифровується як інтерфейс портативної операційної системи і є стандартом IEEE, розробленим для полегшення переносимості додатків. POSIX - це спроба консорціуму постачальників створити єдину стандартну версію UNIX.


0

POSIX визначає набір стандартів для операційної системи або програми. Мета - написати нове програмне забезпечення, сумісне з UNIX-подібними системами.

Наприклад, програма, запущена на Linux, також може бути компільована та запущена в інших UNIX-подібних системах, таких як Solaris, HP-UX та AIX тощо.

Найпопулярніші приклади - GNU Bashце 100% відповідність POSIX та gawkкорисність.


0

Posix керує взаємодією, портативністю та в інших сферах, таких як використання та механізм вилки, дозволи та стандарти файлової системи, такі як / etc, / var, / usr тощо . Отже, коли розробники пишуть програму під сумісну систему Posix, таку як, наприклад, Linux, це, як правило, не завжди, гарантовано працювати в іншій сумісній системі, яка відповідає стандарту Posix, такі як система AIX IBM або інші комерційні варіанти Unix. Posix - це добре, тому що він полегшує розробку програмного забезпечення для максимальної мобільності, до якої прагне. Сподіваюся, що ця відповідь має сенс.

Дякую Jed Smith & Tinkertim за те, що вони вказали на мою помилку - моя погана !!! :(


Стандарти файлової системи обробляються поза POSIX.
Джед Сміт

Ви плутаєте POSIX з такими речами, як LSB (Linux Standard Base). Дві (здебільшого) сумісні з POSIX операційні системи будуть FBSD та Linux, проте обидві мають досить різну організацію файлової системи та встановлення за замовчуванням бібліотеки.
Tim Post

0

Специфікація (креслення) про те, як зробити ОС сумісною з пізньою ОС UNIX (нехай Бог благословить його!). Ось чому macOS та GNU / Linux мають дуже схожі термінальні командні рядки, графічний інтерфейс, бібліотеки тощо. Оскільки вони були розроблені згідно з концепцією POSIX.

POSIX не повідомляє інженерам та програмістам, як кодувати, але що кодувати.


-1

Деякі факти про POSIX не такі яскраві.

POSIX - це також інтерфейс системного виклику або API, і йому майже 30 років.

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

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

Серйозні помилки досі виявляються, помилки, які могли бути відвернуті з більш безпечним дизайном POSIX API.

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

Цей синхронний API особливо поганий для доступу до віддалених та хмарних об'єктів, де важлива висока затримка.


API синхронного ядра не потрібно означати однопотокові процеси та серіалізований IO. Це також не має нічого спільного з машинами SMP. Вони абсолютно не пов'язані між собою. (Хоча я згоден, що API ядра синхронізації є неоптимальним, але не настільки сильним, як у вашому дописі.)
peterh - Поновіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.