35485

Процессы. Системные вызовы fork() и exec(). Нити

Доклад

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

Процесс в Linux как и в UNIX это программа которая выполняется в отдельном виртуальном адресном пространстве. Когда пользователь регистрируется в системе автоматически создается процесс в котором выполняется оболочка shell например bin bash. Linux поддерживает параллельное или квазипараллельного при наличии только одного процессора выполнение процессов пользователя. Каждый процесс выполняется в собственном виртуальном адресном пространстве т.

Русский

2013-09-15

11.64 KB

1 чел.

Процессы. Системные вызовы fork() и exec(). Нити.

Процесс в Linux (как и в UNIX) - это программа, которая выполняется в отдельном виртуальном адресном пространстве. Когда пользователь регистрируется в системе, автоматически создается процесс, в котором выполняется оболочка (shell), например, /bin/bash.

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

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

В связи с развитием SMP (Symmetric Multiprocessor Architectures) в ядро Linux был внедрен механизм нитей или потоков управления (threads). Нить - это процесс, который выполняется в виртуальной памяти, используемой вместе с другими нитями процесса, который обладает отдельной виртуальной памятью.

Если интерпретатору (shell) встречается команда, соответствующая выполняемому файлу, интерпретатор выполняет ее, начиная с точки входа (entry point). Для С-программ entry point - это функция main. Запущенная программа тоже может создать процесс, т.е. запустить какую-то программу и ее выполнение тоже начнется с функции main.


 

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

63185. Культура та вірування людей за первісних часів 23.4 KB
  Мета: ознайомити учнів із розвитком знань мистецтва та релігійних вірувань перших людей; показати прикладний характер знань давньої людини звязок релігійних уявлень із господарською діяльністю наших предків.
63187. Узагальнення матеріалу з теми «Життя людей за первісних часів» 21.58 KB
  Після цього уроку учні зможуть: називати основні поняття із якими ознайомилися впродовж вивчення теми; називати хронологічні межі палеоліту неоліту енеоліту та бронзового віку основні заняття людей за різних періодів первісного суспільства...
63190. Громадянство України 26.18 KB
  Мета: розкрити зміст понять громадянин громадянство; ознайомити учнів з основними нормами Закону України Про громадянство України; навчити розрізняти статус громадянина іноземця особи без громадянства...
63191. Утворення Єгипетської держави 30.29 KB
  Мета: ознайомити учнів із природними умови та розташуванням Давнього Єгипту розглянути процес утворення держави в Давньому Єгипті; визначити функції держави в єгиптян; удосконалити навички роботи учнів у групах.
63192. Право на освіту 25.15 KB
  Мета: розкрити юридичний зміст права на освіту в Україні; ознайомити учнів із системою освіти; зясувати права та обовязки учасників навчального процесу; виховувати бажання поповнювати свої знання.
63193. Узагальнення знань за темою «Київська Русь наприкінці X — у першій половині XI ст.» 8 MB
  Мета: повторити та узагальнити матеріал, вивчений учнями з теми «Київська Русь наприкінці X - у першій половині XI ст.», підготуватися до тематичного оцінювання; розвивати в учнів уміння аналізувати та узагальнювати історичні факти...