шпаргалка

c.Crearea.proc

[ Назад ]
-Cвnd contextul fiului este gata, pгrintele terminг partea sa a apelului fork prin schimbarea stгrii fiului оn "gata de rulare (оn memorie)" ?i prin оntoarcerea spre utilizator a identificatorului de proces al fiului. Nucleul programeazг mai tвrziu procesul fiu pentru execuюie cu ajutorul algoritmului normal de planificare ?i procesul fiu о?i terminг astfel partea sa de fork. Contextul procesului fiu a fost completat de cгtre procesul tatг; оn nucleu, procesul fiu pare a fi trezit dupг a?teptarea unei resurse. Procesul fiu executг porюiunea de cod din apelului sistem fork, оn acord cu contorul programului, pe care nucleul l-a refгcut din contextul regi?trilor salvaюi aflat оn nivelul context 2 ?i оntoarce un 0 din apelul sistem.
--^algoritm fork
^intrгri: niciuna
^ie?iri: la procesul pгrinte, identificatorul fiului (PID)la procesul fiu, 0
{
verificг resursele disponibile ale nucleului;
^obюine o intrare liberг оn tabela proceselor, un unic numгr pentru PID;
^verificг ca utilizatorul sг nu ruleze prea multe procese;
^marcheazг starea procesului ca "fiind creat";
^copiazг datele din intrarea tabela procese corespunzгtoare procesului pгrinte оn noua intrare a fiului;
^incrementeazг contorul i-nodului directorului curent ?i a rгdгcinii schimbate(dacг este necesar);
^face o copie a contextului pгrintelui (u area, text, date, stivг) оn memorie;
^depune contextul dummy al nivelului sistem оn contextul nivelului sistem al fiului;
^contextul dummy conюine date care permit procesului fiu sг se recunoascг singur ?i sг оnceapг sг ruleze de aici atunci cвnd este programat;
^if (procesul оn execuюie este procesul pгrinte)
{
chimbг starea procesului оn "gata de rulare";
^оntoarce (idetificatorul fiului); /* dinspre sistem cгtre utilizator */
^else /* procesul care se executг este procesul fiu */
{
iniюializeazг cвmpurile de timp ale u area;
return (0);
}
^ }

КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |