Основната концепция за осъществяване на комуникацията се гради върху механизма гнездo (socket). Този механизъм дава общ интерфейс не само до програмните канали, които са основно средство за комуникация между процесите и които са локални в една машина, но и до мрежата. Гнездото е крайна точка на комуникацията. Управлението му става чрез системни извиквания. Гнезда се създават и унищожават динамично. При създаването на гнездо се връща дескриптор, който е в пространството на имената на файловите дескриптори. Дескрипторът се използва при установяване и освобождаване на връзка, при четене и запис на данни.
Има няколко типа гнезда, всяко поддържащо определен тип от мрежови услуги:
- потоков;
- последователно пакетен;
- дейтаграмен;
- прозрачен.
Синхронизация.
Процесите трябва да не само да се изключват при работа с общи ресурси, но и трябва да синхронизират действието си във времето, като разменят информация. Минималната единица предавана информация е прост времеви сигнал. Пример за такъв е взаимодействие на процесите като “производител - потребител”, т.е. единия процес произвежда ресурс, а другия го използва - процесът - производител изработва информация, която записва в буфер, а процесът - потребител чете буфера. Тези действия се извършват асинхронно, поради различната скорост на работа на двата процеса, затова има опасност от запис на процеса - производител в пълен буфер, и съответно четене на процеса - потребител от празен буфер. За правилна работа двата процеса трябва да си обменят информация, за да синхронизират действията си.
Семафори - с въвеждането на семафори се избягва сложното и неефективно действие на командата TS. Въвеждат се две примитивни операции P и V, които оперират на цели променливи, наречени семафори. Различават се двоични семафори (приемат стойности само 0 и 1) и общи (приемат цели, неотрицателни стойности).
Коментари: