https://en.wikipedia.org/wiki/Scheduling_(computing)
Some scheduling disciplines
First in first out
Shortest Remaining time
Fixed priority pre-emptive scheduling
Round robin
Multilevel queue
Manual Scheduling
In real time environments, such as embedded systems for
the scheduler also must ensure that processes can meet deadlines; this is crucial for keeping the system stable
https://en.wikipedia.org/wiki/Pipeline_(Unix)
In most Unix-like systems, all processes of a pipeline are started at the same time, with their streams appropriately connected, and managed by the scheduler together with all other processes running on the machine. An important aspect of this, setting Unix pipes apart from other pipe implementations, is the concept of buffering: for example a sending program may produce 5000 bytes per second, and a receiving program may only be able to accept 100 bytes per second, but no data is lost. Instead, the output of the sending program is held in a queue. When the receiving program is ready to read data, the operating system sends its data from the queue, then removes that data from the queue. If the queue buffer fills up, the sending program is suspended (blocked) until the receiving program has had a chance to read some data and make room in the buffer. In Linux, the size of the buffer is 65536 bytes.
No comments:
Post a Comment