<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Shubham Tyagi</title>
    <description>The latest articles on DEV Community by Shubham Tyagi (@shubhamtyagi).</description>
    <link>https://dev.to/shubhamtyagi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F560737%2F9c4a8d91-22e1-4e3b-862f-8d9fc047ad84.png</url>
      <title>DEV Community: Shubham Tyagi</title>
      <link>https://dev.to/shubhamtyagi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shubhamtyagi"/>
    <language>en</language>
    <item>
      <title>Priority Scheduling in operating system</title>
      <dc:creator>Shubham Tyagi</dc:creator>
      <pubDate>Wed, 29 Sep 2021 21:07:32 +0000</pubDate>
      <link>https://dev.to/shubhamtyagi/priority-scheduling-in-operating-system-44p5</link>
      <guid>https://dev.to/shubhamtyagi/priority-scheduling-in-operating-system-44p5</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Why we need scheduling algorithms ?&lt;br&gt;
When two or more processes demands the same resource for its processing, how will the CPU decide to which process should the resource be given. So there are many scheduling algorithms which could be used by CPU to decide it.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;One of which is &lt;strong&gt;priority scheduling&lt;/strong&gt;. Each process is assigned a priority and on the basis of the priority of the process the CPU compare between them. If we have two process with the same priority than it will give the resource to the process which came earlier.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KsyG2HMf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://imgur.com/H7uY0VK.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KsyG2HMf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://imgur.com/H7uY0VK.png" alt="Priority Scheduling"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The problem with priority scheduling is &lt;strong&gt;starvation&lt;/strong&gt;. It occurs When a process with a much lower priority never gets a chance to be completed. for example there is a process with priority 100 (the higher the value the less its priority) and there is continue occurence of processes with higher priorities than how will it get a chance to be executed.This phenomenon is called &lt;strong&gt;starvation&lt;/strong&gt;. Starvation is different than deadlock.   &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To deal with starvation there is a technique called &lt;strong&gt;Aging&lt;/strong&gt;. So in this technique, we increase the priority of the process after every particular period of time. For example we have a process with priority 100 and we decide to increase it's priority by 1 after every 10 minutes. So in the worst case the process will be executed at priority 0 which it will reach after approximately 17 hours. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>schelulingalgorithm</category>
      <category>priorityscheduling</category>
      <category>aging</category>
      <category>starvation</category>
    </item>
    <item>
      <title>5 Basic linux commands with detailed explanation and their resemblance to windows.</title>
      <dc:creator>Shubham Tyagi</dc:creator>
      <pubDate>Wed, 29 Sep 2021 19:15:37 +0000</pubDate>
      <link>https://dev.to/shubhamtyagi/5-basic-linux-commands-detailed-explanation-to-start-with-your-linux-journey-443f</link>
      <guid>https://dev.to/shubhamtyagi/5-basic-linux-commands-detailed-explanation-to-start-with-your-linux-journey-443f</guid>
      <description>&lt;p&gt;Linux sometimes seems to be very difficult from the outside but once you get a head start there are a ton of possibilities with linux which are not available with windows. Obviously you may not get as attractive and beginner friendly interface as windows does but everything comes with a price doesn't it.&lt;/p&gt;

&lt;p&gt;Here I will list 10 commands and explain them which you could try out yourself on your linux OS right away and experience it yourselves. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;df&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
this command will show the amount of available disk space and used disk space for file system to which you as a user currently has access to. For eg : if you have a dual boot system established in your pc and your linux OS doesn't have access to the D folder.If you run this command on your linux terminal then you wont be able to see the partiton of used and unused space of D folder. this command is same as when you open the disk management tool in windows.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2F9ds5e0B.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.imgur.com%2F9ds5e0B.png" alt="df command"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;top&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This command when you type in your terminal it will show the active linux processes which are managed by your linux kernel. This command is used like how you would use task manager in windows, the difference being , it shows the details of all the processes in far more depth than windows does.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it will look something like this when you type the command.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FULJ9dee.png"&gt;
&lt;/li&gt;
&lt;li&gt;this is what is meant by each column head.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2FqTZSL7Z.png"&gt;
you can press 'q' to exit this window in your termial.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ls&lt;/strong&gt;&lt;br&gt;
This command list all the files and directory present in the location of where you are in your system. for example if you are in a directory games which has 3 sub-directory. then this command will list those 3 sub-directory.&lt;br&gt;
observe in the below image how the directories are highlighted in the terminal.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2F3QKd57l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgur.com%2F3QKd57l.png"&gt;&lt;/a&gt;  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;cd&lt;/strong&gt;&lt;br&gt;
This command is a fairly self explanatory command,'''cd''' is a change directory command when you type&lt;br&gt;
&lt;br&gt;
&lt;code&gt;cd [directory name]&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
then you will be in that particular directory. If you type&lt;br&gt;
&lt;br&gt;
&lt;code&gt;cd ..&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
you will go in the root directory of current directory.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;touch&lt;/strong&gt;&lt;br&gt;
This command is used to create a file. This works like when you right click and create a new document in windows. You have to type&lt;br&gt;
&lt;br&gt;
&lt;code&gt;touch [filename.extension]&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>linux</category>
      <category>linuxcommands</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
