Spl (Unix) - Spl (Unix)
Тема этой статьи может не соответствовать Википедии общее руководство по известности.Октябрь 2017 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
spl (Короче для установить уровень приоритета, после PDP-11 ассемблер одноименная инструкция[1]) - это название коллекции Unix ядро распорядки или макросы используется для изменения уровень приоритета прерывания.[2][3] Исторически это было необходимо для синхронизации критические разделы кода ядра, который нельзя прерывать.[4] Новые варианты Unix, поддерживающие симметричная многопроцессорная обработка сейчас в основном использую мьютексы для этой цели, что является более общим решением, поэтому несколько процессоров могут выполнять код ядра одновременно.[5][1]
В старых версиях Unix для PDP-11 было восемь таких подпрограмм, начиная от spl0
к spl7
, каждый из которых соответствует одному уровню приоритета прерывания PDP-11,[3] в дополнение к splx
, который восстанавливает предыдущий уровень приоритета (возвращенный одной из других подпрограмм).[2] На BSD Unix и его производные, они называются взмахнуть
, дополнительный
, залитый
, splclock
, splstatclock
, splvm
, spltty
, splsofttty
, splnet
, Splbio
, splsoftnet
, splsoftclock
, Spllowersoftclock
, spl0
, и splx
.[2]
По состоянию на март 2019 г.[Обновить], семейство примитивов spl все еще активно используется в OpenBSD[6] и NetBSD,[7] о чем свидетельствует обилие звонков в splnet ()
в сетевом коде;[6][7] в то время как FreeBSD и DragonFly BSD использовать более современные концепции; например, в DragonFly, Токены LWKT может использоваться вместо spl.
Смотрите также
использованная литература
- ^ а б Лехи, Грег (2001), Улучшение реализации FreeBSD SMP, получено 11 мая 2018
- ^ а б c "spl (9) - страницы руководства OpenBSD". Получено 11 мая 2018.
- ^ а б Львы, Джон (1976). Комментарий Льва к 6-му изданию UNIX с исходным кодом. п. 43.
- ^ Львы, Джон (1976). Комментарий Льва к 6-му изданию UNIX с исходным кодом. п. 41.
- ^ МакКусик, Маршалл Кирк; и другие. (авторы) (2004). Дизайн и реализация операционной системы FreeBSD. Эддисон-Уэсли. п. 93.
- ^ а б "/sys/net/if.c". Перекрестная ссылка BSD. OpenBSD. 2019-03-01. Получено 2019-03-05.
s = splnet ();
- ^ а б "/sys/net/if.c". Перекрестная ссылка BSD. NetBSD. 2019-03-01. Получено 2019-03-05.
s = splnet ();
Эта Unix -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |