Interactivity performance benchmark for Windows and Mac OS - Fan, Wei Cong (2020)
Operating system (OS) is a piece of software that exists between computer hardware and programs. Communication between hardware and programs is impossible without the help of an operating system. Within a computer system, there will be a massive amount of tasks created by various types of installed programs which allows the user to perform their work, such as rendering an image and playing a video. However, the number of Central Processing Unit (CPU) available in a computer system will not be accessed by all of the tasks at the same time. In order to allow a fair CPU resource allocation to all the tasks, kernel scheduler is introduced as one of the fundamental component in operating systems. In this report, the interactivity performance of macOS kernel scheduler will be measured and compared with other OS kernel schedulers using a benchmark program called Interbench. However, Interbench was only available in Linux, making interactivity performance benchmarking impossible without porting it to macOS. Changes involving various semaphores implementations and macOS-specific headers/libraries application are included in the process of porting the original Interbench to macOS. The Interbench benchmark program which was ported to Windows in the past research will be reverified to ensure that the ported benchmark program is able to simulate the interactive tasks and background loads correctly when it is being executed in systems with different hardware configurations. The final outcome of this research is to compare the interactivity performance of kernel schedulers in macOS, Linux and Windows with the help of original and ported versions of Interbench. The comparison shows that Linux kernel scheduler has the greatest advantage in terms of interactivity performance in various types of interactive tasks and background load conditions.