Don't forget to Upvote if useful. 😊

I will cover the most important topics asked in interviews cs core. Most important topics related to OS/DBMS/OOPS/CN (Updated).

CONTENT OF THIS POST :
Most important topics related to OS/DBMS/OOPS/CN.

Important Topic for OS

  • Process (Attributes, state, life cycle, PCB) vs Thread.

    • Process: Processes are basically the programs that are dispatched from the ready state and are scheduled in the CPU for execution. PCB(Process Control Block) holds the concept of process. A process can create other processes which are known as Child Processes. The process takes more time to terminate and it is isolated means it does not share the memory with any other process. The process can have the following states new, ready, running, waiting, terminated, and suspended.
    • Thread: Thread is the segment of a process which means a process can have multiple threads and these multiple threads are contained within a process. A thread has three states: Running, Ready, and Blocked. The thread takes less time to terminate as compared to the process but unlike the process, threads do not isolate.

    ProcessThread
    Process means any program is in execution.Thread means a segment of a process.
    It takes more time for creation.It takes less time for creation.
    It also takes more time for context switching.It takes less time for context switching.
    The process is less efficient in terms of communication.Thread is more efficient in terms of communication.
    Multiprogramming holds the concepts of multi-process.We don’t need multi programs in action for multiple threads because a single process consists of multiple threads.
    The process is isolated.Thread shares memory.
    The process is called the heavyweight process.A Thread is lightweight as each thread in a process shares code, data, and resources.
    Process switching uses an interface in an operating system.Thread switching does not require calling an operating system and causes an interrupt to the kernel.
    If one process is blocked then it will not affect the execution of other processes.If a user-level thread is blocked, then all other user-level threads are blocked.
    The process has its own Process Control Block, Stack, and Address Space.Thread has Parents’ PCB, its own Thread Control Block, and Stack and common Address space.
    Changes to the parent process do not affect child processes.Since all threads of the same process share address space and other resources so any changes to the main thread may affect the behavior of the other threads of the process.
    A system call is involved in it.No system call is involved, it is created using APIs.
    The process does not share data with each other.Threads share data with each other.

  • Scheduling Algorithms

    • Preemptive Scheduling: Preemptive scheduling is used when a process switches from running state to ready state or from the waiting state to the ready state.

    • Non-Preemptive Scheduling: Non-Preemptive scheduling is used when a process terminates , or when a process switches from running state to waiting state.
      image

      1. First Come First Serve:
        FCFS considered to be the simplest of all operating system scheduling algorithms. First come first serve scheduling algorithm states that the process that requests the CPU first is allocated the CPU first and is implemented by using FIFO queue.

      • Characteristics of FCFS:

        • FCFS supports non-preemptive and preemptive CPU scheduling algorithms.
        • Tasks are always executed on a First-come, First-serve concept.
        • FCFS is easy to implement and use.
        • This algorithm is not much efficient in performance, and the wait time is quite high.
      • Advantages of FCFS:

        • Easy to implement
        • First come, first serve method
      • Disadvantages of FCFS:

        • FCFS suffers from Convoy effect.
        • The average waiting time is much higher than the other algorithms.
        • FCFS is very simple and easy to implement and hence not much efficient.
      1. Shortest Job First(SJF):
        Shortest job first (SJF) is a scheduling process that selects the waiting process with the smallest execution time to execute next. This scheduling method may or may not be preemptive. Significantly reduces the average waiting time for other processes waiting to be executed. The full form of SJF is Shortest Job First.
        image

      • Characteristics of SJF:

        • Shortest Job first has the advantage of having a minimum average waiting time among all operating system scheduling algorithms.
        • It is associated with each task as a unit of time to complete.
        • It may cause starvation if shorter processes keep coming. This problem can be solved using the concept of ageing.
      • Advantages of Shortest Job first:

        • As SJF reduces the average waiting time thus, it is better than the first come first serve scheduling algorithm.
        • SJF is generally used for long term scheduling
      • Disadvantages of SJF:

        • One of the demerit SJF has is starvation.
        • Many times it becomes complicated to predict the length of the upcoming CPU request
      1. Longest Job First(LJF):
        Longest Job First(LJF) scheduling process is just opposite of shortest job first (SJF), as the name suggests this algorithm is based upon the fact that the process with the largest burst time is processed first. Longest Job First is non-preemptive in nature.

      • Characteristics of LJF:

        • Among all the processes waiting in a waiting queue, CPU is always assigned to the process having largest burst time.
        • If two processes have the same burst time then the tie is broken using FCFS i.e. the process that arrived first is processed first.
        • LJF CPU Scheduling can be of both preemptive and non-preemptive types.
      • Advantages of LJF:

        • No other task can schedule until the longest job or process executes completely.
        • All the jobs or processes finish at the same time approximately.
      • Disadvantages of LJF:

        • Generally, the LJF algorithm gives a very high average waiting time and average turn-around time for a given set of processes.
        • This may lead to convoy effect.
      1. Priority Scheduling:
        Preemptive Priority CPU Scheduling Algorithm is a pre-emptive method of CPU scheduling algorithm that works based on the priority of a process. In this algorithm, the editor sets the functions to be as important, meaning that the most important process must be done first. In the case of any conflict, that is, where there are more than one processor with equal value, then the most important CPU planning algorithm works on the basis of the FCFS (First Come First Serve) algorithm.
      • Characteristics of Priority Scheduling:

        • Schedules tasks based on priority.
        • When the higher priority work arrives while a task with less priority is executed, the higher priority work takes the place of the less priority one and
        • The latter is suspended until the execution is complete.
        • Lower is the number assigned, higher is the priority level of a process.
      • Advantages of Priority Scheduling:

        • The average waiting time is less than FCFS
        • Less complex
      • Disadvantages of Priority Scheduling:

        • One of the most common demerits of the Preemptive priority CPU scheduling algorithm is the Starvation Problem. This is the problem in which a process has to wait for a longer amount of time to get scheduled into the CPU. This condition is called the starvation problem.
      1. Round robin:
        Round Robin is a CPU scheduling algorithm where each process is cyclically assigned a fixed time slot. It is the preemptive version of First come First Serve CPU Scheduling algorithm. Round Robin CPU Algorithm generally focuses on Time Sharing technique.

      • Characteristics of Round robin:

        • It’s simple, easy to use, and starvation-free as all processes get the balanced CPU allocation.
        • One of the most widely used methods in CPU scheduling as a core.
        • It is considered preemptive as the processes are given to the CPU for a very limited time.
      • Advantages of Round robin:

        • Round robin seems to be fair as every process gets an equal share of CPU.
        • The newly created process is added to the end of the ready queue.
      1. Shortest Remaining Time First:
        Shortest remaining time first is the preemptive version of the Shortest job first which we have discussed earlier where the processor is allocated to the job closest to completion. In SRTF the process with the smallest amount of time remaining until completion is selected to execute.

      • Characteristics of Shortest remaining time first:

        • SRTF algorithm makes the processing of the jobs faster than SJF algorithm, given it’s overhead charges are not counted.
        • The context switch is done a lot more times in SRTF than in SJF and consumes the CPU’s valuable time for processing. This adds up to its processing time and diminishes its advantage of fast processing.
      • Advantages of SRTF:

        • In SRTF the short processes are handled very fast.
        • The system also requires very little overhead since it only makes a decision when a process completes or a new process is added.
      • Disadvantages of SRTF:

        • Like the shortest job first, it also has the potential for process starvation.
        • Long processes may be held off indefinitely if short processes are continually added.
      1. Longest Remaining Time First:
        The longest remaining time first is a preemptive version of the longest job first scheduling algorithm. This scheduling algorithm is used by the operating system to program incoming processes for use in a systematic way. This algorithm schedules those processes first which have the longest processing time remaining for completion.

      • Characteristics of longest remaining time first:

        • Among all the processes waiting in a waiting queue, the CPU is always assigned to the process having the largest burst time.
        • If two processes have the same burst time then the tie is broken using FCFS i.e. the process that arrived first is processed first.
        • LJF CPU Scheduling can be of both preemptive and non-preemptive types.
      • Advantages of LRTF:

        • No other process can execute until the longest task executes completely.
        • All the jobs or processes finish at the same time approximately.
      • Disadvantages of LRTF:

        • This algorithm gives a very high average waiting time and average turn-around time for a given set of processes.
        • This may lead to a convoy effect.
      1. Highest Response Ratio Next:
        Highest Response Ratio Next is a non-preemptive CPU Scheduling algorithm and it is considered as one of the most optimal scheduling algorithms. The name itself states that we need to find the response ratio of all available processes and select the one with the highest Response Ratio. A process once selected will run till completion.

      • Characteristics of Highest Response Ratio Next:

        • The criteria for HRRN is Response Ratio, and the mode is Non-Preemptive.

        • HRRN is considered as the modification of Shortest Job First to reduce the problem of starvation.

        • In comparison with SJF, during the HRRN scheduling algorithm, the CPU is allotted to the next process which has the highest response ratio and not to the process having less burst time.

            Response Ratio = (W + S)/S
            Here, W is the waiting time of the process so far and S is the Burst time of the process.
      • Advantages of HRRN:

        • HRRN Scheduling algorithm generally gives better performance than the shortest job first Scheduling.
        • There is a reduction in waiting time for longer jobs and also it encourages shorter jobs.
      • Disadvantages of HRRN:

        • The implementation of HRRN scheduling is not possible as it is not possible to know the burst time of every job in advance.
        • In this scheduling, there may occur an overload on the CPU.
      1. Multiple Queue Scheduling:
        Processes in the ready queue can be divided into different classes where each class has its own scheduling needs. For example, a common division is a foreground (interactive) process and a background (batch) process. These two classes have different scheduling needs. For this kind of situation Multilevel Queue Scheduling is used.
        image
      • The description of the processes in the above diagram is as follows:

        • System Processes: The CPU itself has its process to run, generally termed as System Process.
        • Interactive Processes: An Interactive Process is a type of process in which there should be the same type of interaction.
        • Batch Processes: Batch processing is generally a technique in the Operating system that collects the programs and data together in the form of a batch before the processing starts.
      • Advantages of multilevel queue scheduling:

        • The main merit of the multilevel queue is that it has a low scheduling overhead.
      • Disadvantages of multilevel queue scheduling:

        • Starvation problem
        • It is inflexible in nature
      1. Multilevel Feedback Queue Scheduling::
        Multilevel Feedback Queue Scheduling (MLFQ) CPU Scheduling is like Multilevel Queue Scheduling but in this process can move between the queues. And thus, much more efficient than multilevel queue scheduling.

      • Characteristics of Multilevel Feedback Queue Scheduling:

        • In a multilevel queue-scheduling algorithm, processes are permanently assigned to a queue on entry to the system, and processes are not allowed to move between queues.
        • As the processes are permanently assigned to the queue, this setup has the advantage of low scheduling overhead,
        • But on the other hand disadvantage of being inflexible.
      • Advantages of Multilevel feedback queue scheduling:

        • It is more flexible
        • It allows different processes to move between different queues
      • Disadvantages of Multilevel feedback queue scheduling:

        • It also produces CPU overheads
        • It is the most complex algorithm.
  • Multiprogramming vs Multiprocessing vs Multitasking vs Multithreading.

    • image
  • Memory Allocation

    • Fixed Partioning
    • Dynamic Partioning
    • Paging
    • Segmentation
  • Internal and External Fragmentation.

  • Memory Allocation Technique.

  • Page replacement Algos

  • Deadlock

  • Critical section problem

  • Benefits of a multiprocessor system

  • RAID structure in OS and different levels of RAID Configration.

  • Bootstrap program in OS

  • Demand paging

  • RTOS

  • IPC

  • Main Memory Vs Secondary Memory

  • Mutex vs Semaphore


Important Topic for DBMS

  • Advantage of DBMS
  • All type of Keys
  • Normalization
  • SQL queries
  • Relational Algebra
  • Joins
  • Database and it's Utility
  • Languages in DBMS
  • Null vs Blank spaces, or Zero
  • Data Warehousing
  • Levels of data abstraction in DBMS
  • Entity - Relationship (E-R) Model
  • Trigger, cursor, view
  • Dirty read problem
  • Conflict serializable vs View serializable.
  • ACID properties.
  • Indexing | Indexing methods

Important Topic for COMPUTER NETWORK

  • Network Topology
  • Switch hub router bridge
  • Transmission modes
  • ipv4 vs ipv6
  • subnetting in IP
  • Ethernet
  • Media Access Control and Address Resolution Protocols
  • witches, wireless access points, routers, modems
  • Firewalls, TCP ports, UDP ports
  • OSI layer
  • TCP/IP model
  • ARQ (Automatic Repeat Request Technique)
  • Transmission Modes
  • TCP vs UDP
  • DNS DHCP FTP HTTP vs HTTPS SMTP SNMP
  • Flow vs Error control

Important Topic for OOPS

  • Class and Objects.
  • Feature/characteristics of OOPs.
  • Advantages of OOPs.
  • OOPs so Popular ?
  • Compile time and Runtime polymorphism.
  • Variable scopes.
  • static (variables, Functions, Objects).
  • Inheritence (Type and Mode)
  • Virtual (Functions and Class)
  • Abstract class and Interface.
  • Friend function and Friend class.
  • Call by value, refrence.
  • This pointer
  • Abstraction
  • Exception Handling
  • Constructor and Destructor.
  • Copy constructor
  • copy assignemnt operator
  • Refrences variable
  • Const (variable, Function, Arguement)
  • Overloading (Function, Constructor, Operator)
  • Function overriding and Inline function.

plaese UPVOTE 👍👍👍

Comments (17)