How Do I Compare Operating Systems?

Universal operating system: An operating system with many types of operating characteristics. It can have multiple batch processing, time-sharing, real-time processing functions, or two or more of them.

A general-purpose operating system is an operating system with various types of operating characteristics. Can have multiple channels at the same time
Break
For a task that is currently running, an interrupt is a concurrent event, and to a certain extent exhibits great randomness, so it is not possible to predict when the interrupt will occur. In GPOS, the priority of interrupts is higher than the priority of task execution. Therefore, the interruption has uncertainties, which causes the execution time of the interrupted task to become uncertain. This uncertainty can be fatal for real-time systems with time constraints.
Multitasking and task scheduling
GPOS generally uses a round-robin priority-based scheduling algorithm, and its core is a set of queues with adjustable priorities. Each queue maintains a set of tasks with the same priority. The scheduling algorithm assigns a time slice to each task of the highest priority queue, and the task multiplexes the CPU according to the time slice. The scheduling algorithm will gradually adjust the priority of each queue so that tasks in the low-priority queue can eventually be executed. In this scheduling algorithm, because it is impossible to accurately predict how long a task will wait to be executed and how long it can be completed, this scheduling algorithm cannot satisfy the scheduling of real-time tasks.
Virtual storage
Almost all GPOSs currently use page-based virtual memory technology. In the virtual memory mechanism, when a page fails, it must be accompanied by a page change operation, which has a negative impact on the real-time performance of the task. On the one hand, if the current task has a page failure, the task is interrupted and the system performs a page change operation; on the other hand, if multiple tasks share a physical page, there will be page thrashing. The process of page invalidation is very complicated and involves many factors, such as invalidation interruption, disk operation, system storage capacity, etc. In page-based GPOS, frequent page failures make it impossible to accurately predict the execution time of a task.
DMA
DMA technology greatly improves the overall throughput of the system, effectively reduces processor intervention in I / O device operations, and improves processor utilization. But because the DMA must access the main memory, during the DMA transfer, the I / O device and the CPU are competing for the main memory in a time-sharing manner. When the DMA transfer occupies the memory bus, the processor cannot read or write the main memory. Although in many current systems, the processor reads and writes the memory through the cache instead of directly reading and writing the main memory, but when the cache fails and the system is performing DMA transfer, the cache still cannot read and write the main memory immediately. The DMA transfer method adds uncertainty to accurately predict the time it takes the CPU to complete a task [2]
(1) Integrated scheduling
Integrated scheduling is a concept that refers to the use of both real-time and non-real-time scheduling algorithms in the same operating system for scheduling real-time and non-real-time tasks, respectively. In the integrated scheduling scheme, because real-time tasks are all assigned deadlines, real-time tasks and non-real-time tasks are fairly scheduled by the scheduler, and the system does not give higher priority to real-time tasks. The scheduler first allocates processor time slices to real-time tasks, and the allocation algorithm is performed according to the morning and evening of the end deadline. According to the requirements of real-time tasks on processor time slices and the workload of non-real-time tasks, the scheduling algorithm maintains a fair distribution scheme between real-time and non-real-time tasks. For non-real-time tasks, the scheduler uses the round-robin scheduling algorithm for scheduling. Although integrated scheduling can fairly allocate processor time slices to real-time tasks and non-real-time tasks, experimental data show that the completion time of real-time tasks fluctuates greatly with different system loads. When the fluctuation is too large, the performance prediction of the entire system is incorrect, and as a result, the processor utilization rate is greatly reduced or other real-time tasks cannot be performed.
(2) Processor resource reservation
Processor resource reservation (PCR) is an abstract mechanism. PCR allows users to control the allocation of processor cycles, track reserved resources and measure processor resources used by tasks, and solves the problem of scheduling real-time and non-real-time tasks. In PCR, the real-time task model is a periodic model. In the PCR scheme, almost all functional components of the operating system need to be modified or redesigned.
(3) Real-time Mach
The real-time Mach project hopes to develop a real-time version of the Mach kernel. In real-time Mach, all sub-parts of all original Mach kernels have been redesigned. Real-time Mach adds real-time thread management, integrated time-driven scheduler, real-time synchronization, and memory-resident objects on top of the original kernel. In real-time Mach, processes can create both real-time and non-real-time threads. When creating a real-time thread, the user needs to provide some parameters about the time characteristics of the thread, such as the cycle, maximum overhead, deadline, and whether the deadline is hard or soft. Real-time Mach implements a real-time synchronization mechanism through priority inheritance to solve the priority inversion problem in GPOS. Through the real-time synchronization mechanism, when a high-priority task is suspended because a shared resource is locked by a low-priority task, its suspension waiting time has an upper limit.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?