-Job scheduling: the operating system determines the job to be processed first and ensure the one currently being processed is closely monitored to avoid wasting time in the processor.
-Resource control and management: it allocates a
unique interrupt request number which it uses to determine which task uses a given source, and at what time. When two or more devices request to use a resource at the same time, the one with higher priority number is granted the resource.
-Memory management: it allocates memory to the
user program and itself. It ensures that each program has enough memory to execute the processes.
-Error handling: it monitors the status of the computer system and performs error checks on both hardware and software. It maintains a database of all possible errors that could occur on any device together with an
accompanying message. When an error occurs while a program is running, it goes through the database and immediately informs the user by a beep.
-Input/output handling: operating system controls the activities of the various input, output and other peripheral devices attached to the computer. It ensures
easy flow of data between the devices and assigns names to the communication ports used by the input/output devices