Kqueue (original) (raw)
kqueue — масштабируемый интерфейс уведомления о событиях. Впервые появился во FreeBSD 4.1, также поддерживается в NetBSD, OpenBSD, DragonflyBSD, и Mac OS X. Kqueue позволяет пользователям оперативно получать уведомления о событиях в системе.
Property | Value |
---|---|
dbo:abstract | Kqueue is a scalable event notification interface introduced in FreeBSD 4.1 in July 2000, also supported in NetBSD, OpenBSD, DragonFly BSD, and macOS. Kqueue was originally authored in 2000 by Jonathan Lemon, then involved with the FreeBSD Core Team. Kqueue makes it possible for software like nginx to solve the c10k problem. Kqueue provides efficient input and output event pipelines between the kernel and userland. Thus, it is possible to modify event filters as well as receive pending events while using only a single system call to kevent(2) per main event loop iteration. This contrasts with older traditional polling system calls such as poll(2) and select(2) which are less efficient, especially when polling for events on numerous file descriptors. Kqueue not only handles file descriptor events but is also used for various other notifications such as file modification monitoring, signals, asynchronous I/O events (AIO), child process state change monitoring, and timers which support nanosecond resolution, furthermore kqueue provides a way to use user-defined events in addition to the ones provided by the kernel. Some other operating systems which traditionally only supported select(2) and poll(2) also currently provide more efficient polling alternatives, such as epoll on Linux and I/O completion ports on Windows and Solaris. libkqueue is a user space implementation of kqueue(2), which translates calls to an operating system's native backend event mechanism. (en) kqueue — масштабируемый интерфейс уведомления о событиях. Впервые появился во FreeBSD 4.1, также поддерживается в NetBSD, OpenBSD, DragonflyBSD, и Mac OS X. Kqueue позволяет пользователям оперативно получать уведомления о событиях в системе. (ru) kqueue 是一种可扩展的事件通知接口。2000 年 7 月发布的 FreeBSD 4.1 中首次引入了 kqueue,随后也被 NetBSD、OpenBSD、macOS 等操作系统支持。 kqueue 在内核与用户空间之间充当输入输出事件的管线。因此在事件循环的迭代中,进行一次 kevent(2) 系统调用不仅可以接收未决事件,还可以修改事件过滤器。 (zh) |
dbo:wikiPageExternalLink | http://bxr.su/DragonFly/sys/kern/kern_event.c%23sys_kqueue http://bxr.su/FreeBSD/sys/kern/kern_event.c%23sys_kqueue http://bxr.su/NetBSD/sys/kern/kern_event.c%23sys_kqueue http://bxr.su/OpenBSD/sys/kern/kern_event.c%23sys_kqueue https://github.com/BrByte/brb_framework |
dbo:wikiPageID | 23655391 (xsd:integer) |
dbo:wikiPageLength | 7115 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1111882953 (xsd:integer) |
dbo:wikiPageWikiLink | dbc:Operating_system_APIs dbr:Epoll dbr:Nanosecond dbc:Events_(computing) dbr:User_space dbr:Userland_(computing) dbr:Inotify dbr:Input/output_completion_port dbc:DragonFly_BSD dbc:FreeBSD dbc:MacOS dbc:NetBSD dbc:OpenBSD dbr:Child_process dbr:Timer dbr:FreeBSD dbr:Libevent dbr:Libuv dbr:Linux dbr:MacOS dbr:Kernel_(operating_system) dbr:Polling_(computer_science) dbr:DragonFly_BSD dbc:System_calls dbr:Asynchronous_I/O dbc:BSD_software dbc:Operating_system_technology dbr:C10k_problem dbr:Solaris_(operating_system) dbr:File_Alteration_Monitor dbr:File_descriptor dbr:FreeBSD_Core_Team dbr:Microsoft_Windows dbr:NetBSD dbr:Nginx dbr:OpenBSD dbr:Operating_system dbr:System_call dbr:Select_(Unix) dbr:Event_loop dbr:Signal_(computing) |
dbp:wikiPageUsesTemplate | dbt:Lowercase_title dbt:Portal dbt:R dbt:Reflist dbt:Short_description dbt:OpenBSD dbt:DragonFly dbt:FreeBSD dbt:MacOS dbt:Man dbt:NetBSD |
dct:subject | dbc:Operating_system_APIs dbc:Events_(computing) dbc:DragonFly_BSD dbc:FreeBSD dbc:MacOS dbc:NetBSD dbc:OpenBSD dbc:System_calls dbc:BSD_software dbc:Operating_system_technology |
gold:hypernym | dbr:Interface |
rdf:type | dbo:Software |
rdfs:comment | kqueue — масштабируемый интерфейс уведомления о событиях. Впервые появился во FreeBSD 4.1, также поддерживается в NetBSD, OpenBSD, DragonflyBSD, и Mac OS X. Kqueue позволяет пользователям оперативно получать уведомления о событиях в системе. (ru) kqueue 是一种可扩展的事件通知接口。2000 年 7 月发布的 FreeBSD 4.1 中首次引入了 kqueue,随后也被 NetBSD、OpenBSD、macOS 等操作系统支持。 kqueue 在内核与用户空间之间充当输入输出事件的管线。因此在事件循环的迭代中,进行一次 kevent(2) 系统调用不仅可以接收未决事件,还可以修改事件过滤器。 (zh) Kqueue is a scalable event notification interface introduced in FreeBSD 4.1 in July 2000, also supported in NetBSD, OpenBSD, DragonFly BSD, and macOS. Kqueue was originally authored in 2000 by Jonathan Lemon, then involved with the FreeBSD Core Team. Kqueue makes it possible for software like nginx to solve the c10k problem. Some other operating systems which traditionally only supported select(2) and poll(2) also currently provide more efficient polling alternatives, such as epoll on Linux and I/O completion ports on Windows and Solaris. (en) |
rdfs:label | Kqueue (en) Kqueue (ru) Kqueue (zh) |
owl:sameAs | freebase:Kqueue wikidata:Kqueue dbpedia-fa:Kqueue dbpedia-ru:Kqueue dbpedia-zh:Kqueue https://global.dbpedia.org/id/3jrkG |
prov:wasDerivedFrom | wikipedia-en:Kqueue?oldid=1111882953&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Kqueue |
is dbo:wikiPageWikiLink of | dbr:Epoll dbr:Inotify dbr:Input/output_completion_port dbr:Enduro/X dbr:FreeBSD dbr:Libevent dbr:Libuv dbr:Poll_(Unix) dbr:Polling_(computer_science) dbr:DragonFly_BSD dbr:File_Alteration_Monitor dbr:File_descriptor dbr:FreeBSD_version_history dbr:Knot_DNS dbr:NetBSD dbr:Select_(Unix) dbr:IRCd |
is foaf:primaryTopic of | wikipedia-en:Kqueue |