Պրոցեսների ստեղծումը Linux ՕՀ - ում. fork fork ֆունկցիան ստեղծում է նոր ( զավակ ) պրոցես : fork ֆունկցիան ստեղծում է նոր ( զավակ ) պրոցես : #include #include.

Презентация:



Advertisements
Похожие презентации
Վիրտուալ հիշողություն Windows. Հիշողության կազմակերպումը Հիշողության կազմակերպումը Ինչպես բաշխել հիշողությունը պրոցեսների միջև Ինչպես բաշխել հիշողությունը.
Advertisements

Հոսքերը Windows ՕՀ - ում. Ներածություն Ներածություն Հոսքի ստեղծումը Հոսքի ստեղծումը Հոսքի ավարտը Հոսքի ավարտը Հոսքի ստեկը Հոսքի ստեկը Հոսքերի առաջնայնությունը.
Հարցումներ հիմնված մեկից ավելի աղյուսակների վրա ( շարունակություն )
Սինխրոնիզացիան Linux ՕՀ - ում. mutex – արգելափակում է մուտքը դեպի ռեսուրսը mutex – արգելափակում է մուտքը դեպի ռեսուրսը join – սպասում է ուրիշ հոսքերի.
Հարցումներ հիմնված մեկից ավելի աղյուսակների վրա. SQL- ը հնարավորություն է տալիս միակցելով (join) երկու և ավելի աղյուսակ ստանալ նոր աղյուսակ : Տարբերակվում.
Adobe Photoshop Adobe Photoshop Adobe Photoshop Adobe Photoshop Corel Draw Corel Draw Corel Draw Corel Draw.
Թեմա 3 Զբոսաշրջային ձեռնարկության մարքեթինգային համալիրի մշակումը կամ « մարքեթինգ - միքս »
Ենթահարցումներ (Subqueries). Ենթահարցումը SQL հարցում է օգտագործված մեկ այլ հարցման մեջ : Ենթահարցումները կարող են օգտագործվել Select- ի ցուցակում,from-
Linux Daemons. Agenda What is a daemon What is a daemon What Is It Going To Do? What Is It Going To Do? How much interaction How much interaction Basic.
Միավորում, հատում, հանում. ՄԻԱՎՈՐՈՒՄ (UNION, UNION ALL) Դիցուք ունենք հետևյալ `T1 և T2 աղյուսակները. AB 1C 2E 3KAB 1C 7D Select A,B From T1 Union Select.
Խմբավորում և ագրեգատային ֆունկցիաներ. Դիտարկենք Products հարաբերությունը Product IDProductName Supplier ID Unit Price UnitsIn StockDiscontinued… 1Chai …
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Հետո ԵԹԵ ՆԿԱՐԸ ԻՆՏԵՐՆԵՏԻՑ Է ( ավելի հեշտ է ). Կբացվի նոր պատուհան հետո.
Процессы Процесс – это исполняемый экземпляр программы и набор ресурсов, которые выделяются данной исполняемой программе. Ресурсы: виртуальное адресное.
Virtual memory Linux. Ներածություն Kernel and user space work with virtual addresses (also called linear addresses) that are mapped to physical addresses.
Реализация взаимодействия процессов. Взаимодействие процессов взаимодействие в рамках локальной ЭВМ (одной ОС) взаимодействие в рамках сети родственные.
Управление процессами. Определение процесса. Основные понятия Процесс совокупность машинных команд и данных, которая обрабатывается в рамках вычислительной.
Управление процессами. Определение процесса. Основные понятия Процесс совокупность машинных команд и данных, которая исполняется в рамках вычислительной.
Test 17 Вопрос 1. public class TKO { public static void main(String[] args) { String s = "-"; Integer x = 343; long L343 = 343L; if (x.equals(L343)) s.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Транксрипт:

Պրոցեսների ստեղծումը Linux ՕՀ - ում

fork fork ֆունկցիան ստեղծում է նոր ( զավակ ) պրոցես : fork ֆունկցիան ստեղծում է նոր ( զավակ ) պրոցես : #include #include unistd.h #include #include sys/types.h pid_t fork(); pid_t fork();

Նկարագրությունը fork- ը ստեղծում է նոր պրոցես կրկնօրինակելով իրեն կանչող պրոցեսը : fork- ը ստեղծում է նոր պրոցես կրկնօրինակելով իրեն կանչող պրոցեսը : Զավակ պրոցեսը տարբերվում է ծնողից հետևյալ կետերով. Զավակ պրոցեսը տարբերվում է ծնողից հետևյալ կետերով. Զավակ պրոցեսը ունի իր սեփական ունիկալ ID- ն Զավակ պրոցեսը ունի իր սեփական ունիկալ ID- ն Զավակի սպասող սիգնալների հերթը դատարկ է Զավակի սպասող սիգնալների հերթը դատարկ է

Նկարագրությունը Զավակը չի ժառանգում իր ծնող պրոցեսին ուղղված հրահանգները կախված ընթացիկ դիրեկտորիայի փոփոխման մասին : Զավակը չի ժառանգում իր ծնող պրոցեսին ուղղված հրահանգները կախված ընթացիկ դիրեկտորիայի փոփոխման մասին : Ծնող պրոցեսը նման հրահանգ կարող է անել այն դեպքում երբ աշխատում է որպես սերվիս : Ծնող պրոցեսը նման հրահանգ կարող է անել այն դեպքում երբ աշխատում է որպես սերվիս :

fork Ֆունկցիայի վերադարձվող արժեքը Վերադարձվող արժեքի տիպը pid_t է : Վերադարձվող արժեքի տիպը pid_t է : Հաջող ավարտի դեպքում ֆունկցիան վերադարձնում է զավակ պրոցեսի համարը : Եթե ֆունկցիան վերադարձնում է 0 ապա աշխատում է զավակ պրոցեսը : Հաջող ավարտի դեպքում ֆունկցիան վերադարձնում է զավակ պրոցեսի համարը : Եթե ֆունկցիան վերադարձնում է 0 ապա աշխատում է զավակ պրոցեսը : -1 արժեքը վերադարձվում է այն դեպքում, երբ fork– ը չի կարողանում ստեղծել զավակ պրոցես : -1 արժեքը վերադարձվում է այն դեպքում, երբ fork– ը չի կարողանում ստեղծել զավակ պրոցես :

fork Ֆունկցիայի վերադարձվող արժեքը Զավակ պրոցեսի անհաջող ստեղծման դեպքում բացի -1 արժեքից համապատասխան արժեք է ընդունում նաև errno փոփոխականը : Զավակ պրոցեսի անհաջող ստեղծման դեպքում բացի -1 արժեքից համապատասխան արժեք է ընդունում նաև errno փոփոխականը :

errno- ի հնարավոր արժեքները EAGAIN – հնարավոր չի եղել հատկացնել բավականաչափ հիշողություն և պատճենել ծնող պրոցեսի աղյուսյակները … EAGAIN – հնարավոր չի եղել հատկացնել բավականաչափ հիշողություն և պատճենել ծնող պրոցեսի աղյուսյակները … ENOMEM - հնարավոր չէ հատկացնել հիշողություն քանի որ ՕՀ - ի հիշողությունը սպառված է ENOMEM - հնարավոր չէ հատկացնել հիշողություն քանի որ ՕՀ - ի հիշողությունը սպառված է

Օրինակ #include #include int main() { pid_t pID = fork(); pid_t pID = fork(); if (pID == 0) { /* Child process */ } else if (pID < 0) { /* Fail */ } else if (pID < 0) { /* Fail */ } else { /* Parent process */ } else { /* Parent process */ }}

Հարցեր