brk і sbrk — системні виклики у операційній системі Unix (і подібних), призначені для керування розміром програми. Використовуються, як правило, більш високорівневими бібліотечними функціями керування пам'яттю, такими як . У оригінальній системі Unix brk і sbrk були єдиним методом, за допомогою якого програма могла отримати додаткову пам'ять у своєму сегменті даних. Пізніші версії для такої мети дозволили також використання системного виклику .
Дані виклики декларуються у заголовному файлі наступним чином:
#include <unistd.h> int brk(void *end_data_segment); void *sbrk(intptr_t increment);
Функція brk встановлює адресу кінця сегменту даних програми згідно з наданим значенням end_data_segment.
Функція sbrk додає параметр increment до поточного значення адреси кінця сегменту даних. Параметр increment може бути від'ємним — у такому випадку розмір сегменту даних зменшується. Виклик функції з нульовим значенням параметру increment дозволяє отримати програмі поточну адресу кінця сегменту даних.
При успішному виконанні brk повертає значення 0, а sbrk — нове значення адреси кінця сегменту даних. Якщо сталася помилка, повертається значення −1 і глобальній змінній errno надається значення помилки.
У операційній системі Mac OS X функція sbrk емулюється, максимум можна виділити 4 мегабайти. Коли цей ліміт перевищено, у errno записується код помилки ENOMEM.
Див. також
Посилання
- Process Memory Concepts. Free Software Foundation. Архів оригіналу за 11 жовтня 2015. Процитовано 9 жовтня 2015.
- A new malloc(3) for OpenBSD (PDF). Архів оригіналу (PDF) за 22 серпня 2017. Процитовано 13 червня 2018.
- Архівована копія. Архів оригіналу за 9 серпня 2018. Процитовано 9 серпня 2018.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
brk i sbrk sistemni vikliki u operacijnij sistemi Unix i podibnih priznacheni dlya keruvannya rozmirom segmentu danih programi 1 Vikoristovuyutsya yak pravilo bilsh visokorivnevimi bibliotechnimi funkciyami keruvannya pam yattyu takimi yak malloc U originalnij sistemi Unix brk i sbrk buli yedinim metodom za dopomogoyu yakogo programa mogla otrimati dodatkovu pam yat u svoyemu segmenti danih Piznishi versiyi dlya takoyi meti dozvolili takozh vikoristannya sistemnogo vikliku mmap 2 Dani vikliki deklaruyutsya u zagolovnomu fajli unistd h nastupnim chinom include lt unistd h gt int brk void end data segment void sbrk intptr t increment Funkciya brk vstanovlyuye adresu kincya segmentu danih programi zgidno z nadanim znachennyam end data segment Funkciya sbrk dodaye parametr increment do potochnogo znachennya adresi kincya segmentu danih Parametr increment mozhe buti vid yemnim u takomu vipadku rozmir segmentu danih zmenshuyetsya Viklik funkciyi z nulovim znachennyam parametru increment dozvolyaye otrimati programi potochnu adresu kincya segmentu danih Pri uspishnomu vikonanni brk povertaye znachennya 0 a sbrk nove znachennya adresi kincya segmentu danih Yaksho stalasya pomilka povertayetsya znachennya 1 i globalnij zminnij errno nadayetsya znachennya pomilki U operacijnij sistemi Mac OS X funkciya sbrk emulyuyetsya maksimum mozhna vidiliti 4 megabajti 3 Koli cej limit perevisheno u errno zapisuyetsya kod pomilki ENOMEM Div takozhred exec Kupa pam yat Keruvannya pam yattyuPosilannyared Process Memory Concepts Free Software Foundation Arhiv originalu za 11 zhovtnya 2015 Procitovano 9 zhovtnya 2015 A new malloc 3 for OpenBSD PDF Arhiv originalu PDF za 22 serpnya 2017 Procitovano 13 chervnya 2018 Arhivovana kopiya Arhiv originalu za 9 serpnya 2018 Procitovano 9 serpnya 2018 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Otrimano z https uk wikipedia org w index php title Sbrk amp oldid 35728832