Comparison of POSIX-compliance and performance of Linux shells
2025 (English)Independent thesis Basic level (degree of Bachelor), 20 credits / 30 HE credits
Student thesis
Abstract [en]
Shells are an important part of most operating systems, acting as the part that allows the user to communicate with and send commands to the operating system itself. Many shells exist, especially in Linux environments, but not much research has been performed on them.
This work looks at nine different Linux shells, Bash, dash, yash, fish, ksh, mksh, zsh, tcsh, and OSH, and compares them on how compliant they are with POSIX (portable operating system interface) and performance. To achieve this goal different tests were presented and used to quantify both POSIX-compliance and performance. POSIX-compliance was tested by running different test suites aimed at testing POSIX functions and helping with scripting compatibility. Performance was tested by setting up different scripts, in part with the help of the Shellbench program, that tested how fast the different shells could run different functions/commands.
The results found that in terms of POSIX compliance, the shells that aim for POSIX compatibility all have equal levels of compliance, with Bash being the most compliant. In terms of performance the shell that stood out the most was dash, performing the best on every test except for the tests where subshell functionality was tested, where ksh was the fastest due to a unique optimisation involving subshells.
Place, publisher, year, edition, pages
2025. , p. ii, 39
Keywords [en]
POSIX, shell, Linux, performance, scripting
National Category
Information Systems, Social aspects
Identifiers
URN: urn:nbn:se:his:diva-25617OAI: oai:DiVA.org:his-25617DiVA, id: diva2:1985766
Subject / course
Informationsteknologi
Educational program
Network and Systems Administration
Supervisors
Examiners
2025-07-282025-07-282025-09-29Bibliographically approved