Линукс. Процеси и linux ядрото
| Информационни технологии | 2009-12-04 | 117 сваляния |
Процеси и Linux ядрото
Материалът е преведен от Никола Колев
и представлява глава 4 от фундаменталната книга
на David A. Rusling "The Linux kernel"

В този материал се описва какво представлява един процес, и как Linux ядрото създава, управлява и унищожава процесите в системата. Процесите изпълняват задачи вътре в операционната система. Програмата представлява множество от машинни инструкции и данни, които се съхраняват в изпълним файл на диска и като такова то е една пасивна единица.
Можете да си представите процеса като компютърна програма в действие. Той е една динамична единица, постоянно променяща се при изпълнението на машинните инструкции от процесора. Както инструкциите и данните на програмата, процесът включва програмен брояч и всички регистри на процесора, а също стекове за процеси, съдържащи временни данни - например функционални параметри, адреси на връщане и запазени променливи. Програмата или процеса, който се изпълнява в момента, иззема всички ресурси на микропроцесора. Linux обаче е операционна система, която управлява множество процеси. Те са отделни задачи, всяка със собствени права и отговорности. Ако един процес "забие", то това няма да причини "забиването" и на други процеси. Всеки отделен процес работи в свое собствено виртуално адресно пространство и не може да общува с други процеси освен чрез подсигурени, управлявани от ядрото механизми.
През "живота" си един процес използва множество системни ресурси. Използва CPU-то на системата, за да изпълнява инструкциите си, а също и системната физическа памет, за да помещава в нея себе си и своите данни. Той отваря и използва файлове във файловите системи и може директно или индиректно да използва физическите устройства в системата. Linux трябва сам да следи процеса и системните ресурси, които има, за да може "честно" да управлява и другите процеси в системата. Не би било справедливо за останалите процеси, ако един от тях монополизира по-голямата част от системната физическа памет или процесор(ите).
Най-ценният ресурс в системата е централният процесор, и обикновено той е един. Linux е операционна система, която управлява множество процеси, и неговата цел е да има по един процес, работещ на всеки процесор в системата по всяко време, за да се увеличи полезността на процесора. Ако има повече процеси, отколкото процесори (както обикновено става), останалите процеси трябва да изчакат, преди процесора да се освободи, за да могат да се стартират и те. Мултипроцесинга е просто нещо; всеки процес се изпълнява, докато трябва да изчака, обикновено за някой системен ресурс; когато той получи необходимия ресурс, може отново да се стартира. В една еднопроцесна система, като например ДОС, CPU-то просто ще си седи тихо и така ще бъде пропиляно времето за изчакване. В друга, многопроцесна система множество процеси се пазят в паметта по едно и също време.
Тагове от реферата: инукс, ядрот, LINUX, процеси











