Тема: Як програми взаємодіють з операційною системою?
Як програми взаємодіють з операційною системою?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Обговорення → Як програми взаємодіють з операційною системою?
Для відправлення відповіді ви повинні увійти або зареєструватися
Як програми взаємодіють з операційною системою?
Я чомусь завжди думав, що це ОС взаємодіє з виконуваними файлами відповідного формату.
я зробив собі таке правило "на всяку роботу ОС, чи то протоколу є правила і стандарти, а саме найголовніше документація", крлись я теж такі питання задавав, але з орієнтувався шо до чого, наприклад файл з форматом ELF в UNIX подібних ОС https://uk.wikipedia.org/wiki/Executabl … ble_Format
Через API же.
Через API же.
ще до цього додати системні виклики типу int 80h, int 2ch (windows здається, вжей забув)
В мене таке запитання. В мене стоїть лінукс, але деякі програми потрібно запускати через термінал( бо так він не відкриється). А коли й сама відкривається, то не з'являється чорний екран з курсором, а гарне віконечко. Ось. Дививсь код ядра лінукса, але там багато мороки. Да й ще потрібно до ядра встановити X Window System. Так мені не зрозуміло, як ця система взаємодіє з ядром. Вибачте, якщо ви подумаєте, що це дурне запитання, але це просто заради цікавості.
В мене таке запитання. В мене стоїть лінукс, але деякі програми потрібно запускати через термінал( бо так він не відкриється). А коли й сама відкривається, то не з'являється чорний екран з курсором, а гарне віконечко. Ось. Дививсь код ядра лінукса, але там багато мороки. Да й ще потрібно до ядра встановити X Window System. Так мені не зрозуміло, як ця система взаємодіє з ядром. Вибачте, якщо ви подумаєте, що це дурне запитання, але це просто заради цікавості.
Тут немає запитання. Ядро - це перше, що починає працювати в системі, без ядра не будуть працювати Ікси.
В мене таке запитання. В мене стоїть лінукс, але деякі програми потрібно запускати через термінал( бо так він не відкриється). А коли й сама відкривається, то не з'являється чорний екран з курсором, а гарне віконечко. Ось. Дививсь код ядра лінукса, але там багато мороки. Да й ще потрібно до ядра встановити X Window System. Так мені не зрозуміло, як ця система взаємодіє з ядром. Вибачте, якщо ви подумаєте, що це дурне запитання, але це просто заради цікавості.
Там все куди цікавіше і заплутаніше. Мені цікаво, що саме шукаєте.. бо в мільйонах строк коду лише ядра можна заблукати на десяток років, а якщо ще згадати що є модулі то на все життя.
Kizyak написав:В мене таке запитання. В мене стоїть лінукс, але деякі програми потрібно запускати через термінал( бо так він не відкриється). А коли й сама відкривається, то не з'являється чорний екран з курсором, а гарне віконечко. Ось. Дививсь код ядра лінукса, але там багато мороки. Да й ще потрібно до ядра встановити X Window System. Так мені не зрозуміло, як ця система взаємодіє з ядром. Вибачте, якщо ви подумаєте, що це дурне запитання, але це просто заради цікавості.
Там все куди цікавіше і заплутаніше. Мені цікаво, що саме шукаєте.. бо в мільйонах строк коду лише ядра можна заблукати на десяток років, а якщо ще згадати що є модулі то на все життя.
Добре, що там є цитати. На вигляд в йому заблукати не важко. Там ж інструкції є. Самому зкомпілювати - не важко.
Так мені не зрозуміло, як ця система взаємодіє з ядром.
є простір корситувача і ядра і між собою викликами працюють
орієнтуватись потрібно на такі малюнки
а якщо детально розмалювати то тут фіг знає який формат має бути бумаги
На малюнку є деякі незначні помилки.. бо якщо не розмалювати схему повністю на папір з динамічно визначуваними розмірами помилки неминучі, крім того як показують практичні досліди папір для схеми функціонування ОС linux має мати не 2 а 4 виміри, інакше при 3 отримаєте будь-який unix (freebsd, macos, solaris і т.д.), а при 2 - ms-dos, а при одному Windows. Саме відсутність 100% доведення що окрім 4 вимірів є ще 7 стримує створення ще свіжішої ОС за Linux яка так само як він поєднає найкращі досягнення попередніх. Також відсутність чотирьох вимірного паперу пояснює чому незважаючи на поєднання найкращих досягнень всіх ОС Linux не може монополізувати ринок. Так як відсутність носія на якому можна від образити функціональну структуру всієї ОС неможливо надати розробникам без помилково опис як має все виглядати в результаті їхньої роботи. Ці неточності породжують помилки та недоведені до кінця задуми, що складає враження про незавершеність та неготовність ОС. Також це породжує міф, що linux створили інопланетяни.. та те ніби останні хочуть впровадити linux всюди і тим самим позбавити тупеньких землян можливості користуватися засобами обчислень, що не дасть останнім розробити засоби протидії інопланетянам коли буде викрито їх задум. Тож не треба хвилюватися та намагатися розібратися у принципах функціонування ОС Linux, просто користуйтеся.
Так мені не зрозуміло, як ця система взаємодіє з ядром.
є простір корситувача і ядра і між собою викликами працюють
орієнтуватись потрібно на такі малюнки
а якщо детально розмалювати то тут фіг знає який формат має бути бумаги
якась дивна схема,що "GPU Driver" не є модулем, тобто частиною ядра??
тобто частиною ядра??
от коли Торвальд чи хтось подібне напише і в несе в ядро, то тоді буде, а так треба дивитись вже на більш детальну картинку з стрілками і взаємодії мііж цими компонентами
Там якісь книжки Таненбаума є про це.
Так ось. Програма на Сі, що просто пише "хело" займає 8 кб, а така ж, тільки на паскалі - 156 кб. Чому так?
Програма на Сі, що просто пише "хело" займає 8 кб, а така ж, тільки на паскалі - 156 кб. Чому так?
де код ? Яка версія паскаля і яка версія С ?
янапишу ше більше, то що скомпільований код 8 кб, це ще не означає що в ОС він буде займати 8 кб, він може займати і більше з приєднанними бібліотеками і так дальше.
от коли Торвальд чи хтось подібне напише і в несе в ядро, то тоді буде, а так треба дивитись вже на більш детальну картинку з стрілками і взаємодії мііж цими компонентами
тому від тої схеми ніякого толку, бо вона без стрілок
Там якісь книжки Таненбаума є про це.
Так ось. Програма на Сі, що просто пише "хело" займає 8 кб, а така ж, тільки на паскалі - 156 кб. Чому так?
ELF, PE чи щось інше?
Програма на Сі, що просто пише "хело" займає 8 кб, а така ж, тільки на паскалі - 156 кб. Чому так?
де код ? Яка версія паскаля і яка версія С ?
янапишу ше більше, то що скомпільований код 8 кб, це ще не означає що в ОС він буде займати 8 кб, він може займати і більше з приєднанними бібліотеками і так дальше.
Який код? В першому випадку функція printf(), а в паскалі - write() чи writeln().
Pascal - free, C - 89.
Kizyak написав:Pascal - free, C - 89.
Ви різницю між стандартом і компілятором розумієте?
Компілятор GNU.
Може ще дезасемблювати?
Програма на Сі звертається до якоїсь ситемної бліотеки, так здається.
І що саме цікаве, компілятор вписує інформацію про операційну систему та самого себе.
давайте виконувані файли, а ми вже подізассемблуємо
Для відправлення відповіді ви повинні увійти або зареєструватися