To understand what operating system is, first it is very important to understand what software is. Software can be defined as it is set of instructions that allows user of computer system of interact with hardware. Basically software can be classified into three types that are system software, application software, software development language and tools. The operating system can be defined as it a set of programs which are used to manage the computer hardware as well as the application program used by another user. Operating system acts as intermediary between system and user. It is not possible for user to interact with computer system without operating system. Operating system fills the gap between user and hardware and provides the interface to use computer. Image there is no operating then you will not understand how to make file and how to use software in your computer. For hardware functions such as input and output and the operating system acts as an intermediary between programs and the computer hardware
Kernel is known as heart of operating system. Kernel is layer above the hardware. The kernel’s primary function is to manage the computer’s hardware and resources and allow other programs to run and use these resources. Application layer can interact with hardware using kernel.
A system call provides an interface between the process and the operating system. System call allows user-level to request some services from the operating system. From example when user uses some instruction appropriate system call gets generated for that instruction. System calls are written in languages like C or C++. System calls are accessed via application program interface.
Process is the program in execution or it is any activity performed by CPU. There is different between process and program is idle process and process is program in execution for example suppose when you write program in java and save on disk it is just program but when you load it into memory by double clicking it becomes process. Process could contain different parts like text section, data section, code section, etc. process is managed using process control block (PCB). PCB is used to keep track on number of different process
Among other things, a multiprogramming operating system kernel must be responsible for managing all system memory which is currently in use by programs. This ensures that a program does not interfere with memory already in use by another program. Since programs time share, each program must have independent access to memory.
Thread is also called as light weight process because thread is nothing but a thread is basic unit of CPU utilization because a thread can share resources threads can share code data file stack register etc.
All thread run in same address space. A thread is contained inside a process. Multiple threads can exist within the same process and share resources such as memory while different processes do not share these resources. In particular, the threads of a process share the latter are instructions (its code) and its context (the values that its variables reference at any given moment).
TYPES OF OPERATING SYSTEMS