The article discusses operating systems and their internal variations, emphasizing the importance of defining system goals before designing. The operating system can be viewed from multiple perspectives such as the services it provides, the interface it offers to users and programmers, and its components and their interconnections. The article explores these aspects, including the provision and debugging of services, the methodologies for designing such systems, and the process of creating operating systems and how computers start them.
CHAPTER OBJECTIVES
• Identify services provided by an operating system.
• Illustrate how system calls are used to provide operating system services.
• Compare and contrast monolithic, layered, microkernel, modular, and hybrid strategies for designing operating systems.
• Illustrate the process for booting an operating system.
• Apply tools for monitoring operating system performance.
• Design and implement kernel modules for interacting with a Linux kernel.
The article describes the different services provided by operating systems and how they interrelate. Operating systems offer services that make programming easier and services that ensure efficient operation of the system. User interface services, such as graphical user interface, command-line interface, and touch-screen interface, are helpful to users. Program execution, I/O operations, file-system manipulation, communications, and error detection are common services provided by operating systems. The second set of services, including resource allocation, logging, protection and security, ensure the efficient operation of the system itself. Resource allocation manages the allocation of resources to multiple processes running at the same time, and logging keeps track of the usage of computer resources for accounting and statistics. Protection and security services control access to system resources and defend external I/O devices from invalid access attempts to maintain security.
The article discusses three fundamental approaches for users to interface with the operating system, including a command-line interface that enables users to enter commands directly to be executed by the operating system, and two graphical user interfaces (GUIs) that provide a visual way for users to interact with the operating system.
The article explains how the command interpreter works on operating systems such as Linux, UNIX, and Windows. The command interpreter is treated as a special program that executes user-specified commands. On UNIX systems, users can choose from several different shells to use. The main function of the command interpreter is to execute the next user-specified command, which can manipulate files in various ways. Commands can be implemented in two general ways, either by containing the code to execute the command itself or by using system programs to execute the command. UNIX and other operating systems implement most commands through system programs, which allows programmers to easily add new commands to the system by creating new files with the proper program logic.
The ability to customize the user interface is significant. There's no point in software, tools, and systems you use in your business if you can't adapt them to your needs. The same goes for ERP systems. It's not enough to simply integrate a system like IFS Cloud; it needs to be properly customized, which you can now do with the low-code platform Novacura Flow. Novacura provides flexible low-code UI for your ERP applications, giving you the ability to go beyond the standard capabilities of the user interface.