• Operating System Processes
Processes in the Operating System contain instructions, program counters, data, processing registers, delivery addresses, stack data and other supporting variables. For process activities, the operating system’s role is to manage all processes in the system and allocate resources to the process. Various processes run simultaneously, where each process gets its own memory and control parts. The process is the program that is being executed. Process execution is done sequentially. In a process there is a program counter, stack and data area. Operating systems execute various types of programs. In batch systems these programs are usually called jobs, whereas in time sharing systems, programs are called user programs or tasks. Some textbooks use the term job or process. In a process there is a program counter, stack and data area.
In multiprogramming, the process handling technique is to run one process and quickly move to another (rotating) process, thereby producing a semi-parallel effect (pseudoparallelism).
Although each process consists of a separate entity, but sometimes these processes need to interact with each other. One process can be generated from other process outputs as input.
When the process is executed, a status change will occur. The status of the process is defined as part of the ongoing process activities at the time. Process status consists of:
- New namely the process that is being made
- Running means the process that is being run
- Waiting means the process is waiting for several events (events) that will occur
- Ready, the process is waiting to be processed by the processor
- Terminated ie the process has finished running its job (finished executed)
The information contained in each process includes:
- Process Status, New, ready, running, waiting and terminated.
- Counter program, Show the address (address) of the next command to run for this process.
- CPU Registers, Registers vary in number and type depending on the design of the computer architecture in question. The register consists of accumulator, stack pointer, index register, multil-purpose register, plus code information in any condition.
- CPU Scheduling Information, This information contains the priority of a process, a pointer to the scheduling queue, and several other scheduling parameters.
- Memory Accounting Information, This information contains the number of CPUs and real time used, time limits, account numbers, number of jobs or processes
- Input Output Status Information, This information contains a series of input output devices (such as tape drivers) allocated to the process, a row of files opened, and so on.
- Memory Management Information, the information contains values (basis) and limit registers, page tables, or segment tables depending on the system memory used by the operating system.
• Operating System Thread
Thread is the control flow of a process. This allows the process to occur in one task at a time. A basic unit of CPU utilization which is a program counter, a collection of registers, and stack space called a lightweight process (LWP). Threads work together with other threads in the code, data and operating system resources.
The process in the thread can be described as follows:
A multi-thread process uses fewer resources than multiple processes, including memory, open files and CPU scheduling. Like processes, threads have the status: ready, blocked, running and terminated, and only one thread is active at a time. If one thread is blocked, then the other thread can be run. However, they are not free, because all threads can access every address in one task, threads can read and write stack from another thread. So there is no protection between one thread against another thread. A process can consist of one thread (single thread) and multiple threads (multi thread).
• Services in Operating Systems
- Making the program, the operating system simplifies and helps in accessing the debugger and editor processes that are already in the program in the form of utilities.
- Program execution, the operating system handles all user tasks. Tasks including data instructions must be loaded into memory, I / O devices must be initialized, including files must be initialized, and other resources must be stored.
- Accessing the I / O device, the device inside the I / O has its own instructions or signal control that is used for operations. The service provided by the operating system is to maintain the details so that programmers can think of it as a simple reading and writing operation.
- Controlled access to files, Controlled access is the file format contained in the storage media. furthermore the operating system provides a protection mechanism to control access to files.
- Detection of errors, Errors occur or errors in the computer are things that often occur. for example memory errors, overflow, device errors. etc. All errors that occur make the operating system must respond in order to eliminate the error, but little impact on the running application.
- Accounting, the operating system records all usage statistics of various resources and monitors performance parameters such as response time.