{"id":3294,"date":"2025-06-06T14:14:47","date_gmt":"2025-06-06T14:14:47","guid":{"rendered":"https:\/\/diznr.com\/?p=3294"},"modified":"2025-06-06T14:14:47","modified_gmt":"2025-06-06T14:14:47","slug":"day-01part-13-general-purpose-register-list-of-open-files-and-list-of-devices-open","status":"publish","type":"post","link":"https:\/\/www.reilsolar.com\/pdf\/day-01part-13-general-purpose-register-list-of-open-files-and-list-of-devices-open\/","title":{"rendered":"Day 01Part 13 &#8211; General purpose register list of open files and list of open devices."},"content":{"rendered":"<p>Day 01Part 13 &#8211; General purpose register list of open files and list of open devices.<\/p>\n<p>[fvplayer id=&#8221;339&#8243;]<\/p>\n<h3 data-start=\"0\" data-end=\"84\"><strong data-start=\"4\" data-end=\"82\">\u00a0General Purpose Registers, List of Open Files, and List of Open Devices<\/strong><\/h3>\n<p data-start=\"86\" data-end=\"219\">In an <strong data-start=\"92\" data-end=\"117\">Operating System (OS)<\/strong>, registers, open files, and open devices are essential for process management and system execution.<\/p>\n<h3 data-start=\"226\" data-end=\"270\"><strong data-start=\"229\" data-end=\"268\">\u00a0General Purpose Registers (GPRs)<\/strong><\/h3>\n<p data-start=\"271\" data-end=\"445\"><strong data-start=\"271\" data-end=\"300\">General Purpose Registers<\/strong> are used by the CPU to store temporary data, addresses, or instructions during execution. They improve efficiency by minimizing memory access.<\/p>\n<p data-start=\"447\" data-end=\"502\">\u00a0Examples of <strong data-start=\"461\" data-end=\"490\">General Purpose Registers<\/strong> in a CPU:<\/p>\n<ul data-start=\"503\" data-end=\"595\">\n<li data-start=\"503\" data-end=\"547\"><strong data-start=\"505\" data-end=\"523\">AX, BX, CX, DX<\/strong> (in x86 architecture)<\/li>\n<li data-start=\"548\" data-end=\"595\"><strong data-start=\"550\" data-end=\"562\">R0 &#8211; R31<\/strong> (in modern RISC architectures)<\/li>\n<\/ul>\n<h3 data-start=\"602\" data-end=\"641\"><strong data-start=\"605\" data-end=\"639\">\u00a0List of Open Files in an OS<\/strong><\/h3>\n<p data-start=\"642\" data-end=\"744\">An <strong data-start=\"645\" data-end=\"697\">Operating System maintains a table of open files<\/strong> to keep track of all active file operations.<\/p>\n<p data-start=\"746\" data-end=\"808\"><strong data-start=\"748\" data-end=\"777\">File Control Block (FCB):<\/strong> Stores file details such as:<\/p>\n<ol data-start=\"809\" data-end=\"989\">\n<li data-start=\"809\" data-end=\"870\"><strong data-start=\"812\" data-end=\"831\">File Descriptor<\/strong> (Unique identifier for an open file)<\/li>\n<li data-start=\"871\" data-end=\"896\"><strong data-start=\"874\" data-end=\"894\">File Name &amp; Path<\/strong><\/li>\n<li data-start=\"897\" data-end=\"940\"><strong data-start=\"900\" data-end=\"938\">Access Mode (Read, Write, Execute)<\/strong><\/li>\n<li data-start=\"941\" data-end=\"989\"><strong data-start=\"944\" data-end=\"987\">Pointer to File Location in Memory\/Disk<\/strong><\/li>\n<\/ol>\n<p data-start=\"991\" data-end=\"1135\"><strong data-start=\"991\" data-end=\"1003\">Example:<\/strong><br data-start=\"1003\" data-end=\"1006\" \/>If a process opens <code data-start=\"1025\" data-end=\"1035\">data.txt<\/code>, the OS stores its details in the <strong data-start=\"1070\" data-end=\"1089\">open file table<\/strong>, ensuring correct access and modifications.<\/p>\n<h3 data-start=\"1142\" data-end=\"1183\"><strong data-start=\"1145\" data-end=\"1181\">\u00a0List of Open Devices in an OS<\/strong><\/h3>\n<p data-start=\"1184\" data-end=\"1281\">Similar to open files, the OS keeps a <strong data-start=\"1222\" data-end=\"1246\">list of open devices<\/strong> to manage hardware interactions.<\/p>\n<p data-start=\"1283\" data-end=\"1311\"><strong data-start=\"1285\" data-end=\"1309\">Device Table Stores:<\/strong><\/p>\n<ol data-start=\"1312\" data-end=\"1491\">\n<li data-start=\"1312\" data-end=\"1370\"><strong data-start=\"1315\" data-end=\"1337\">Device Name &amp; Type<\/strong> (Keyboard, Printer, USB, etc.)<\/li>\n<li data-start=\"1371\" data-end=\"1405\"><strong data-start=\"1374\" data-end=\"1403\">Device Driver Information<\/strong><\/li>\n<li data-start=\"1406\" data-end=\"1447\"><strong data-start=\"1409\" data-end=\"1445\">Current Process Using the Device<\/strong><\/li>\n<li data-start=\"1448\" data-end=\"1491\"><strong data-start=\"1451\" data-end=\"1489\">Status of the Device (Active\/Idle)<\/strong><\/li>\n<\/ol>\n<p data-start=\"1493\" data-end=\"1636\"><strong data-start=\"1493\" data-end=\"1505\">Example:<\/strong><br data-start=\"1505\" data-end=\"1508\" \/>If a process is using a <strong data-start=\"1532\" data-end=\"1543\">printer<\/strong>, the OS tracks it in the open device list to prevent conflicts between multiple processes.<\/p>\n<h3 data-start=\"1643\" data-end=\"1664\"><strong data-start=\"1647\" data-end=\"1662\">\u00a0Summary:<\/strong><\/h3>\n<p data-start=\"1665\" data-end=\"1895\"><strong data-start=\"1667\" data-end=\"1696\">General Purpose Registers<\/strong> store temporary data for CPU operations.<br data-start=\"1737\" data-end=\"1740\" \/><strong data-start=\"1742\" data-end=\"1764\">List of Open Files<\/strong> tracks active file usage for efficient data management.<br data-start=\"1820\" data-end=\"1823\" \/><strong data-start=\"1825\" data-end=\"1849\">List of Open Devices<\/strong> ensures proper hardware access and control.<\/p>\n<p data-start=\"1897\" data-end=\"1990\" data-is-last-node=\"\" data-is-only-node=\"\">Would you like more details on <strong data-start=\"1928\" data-end=\"1986\">register functions, file systems, or device management<\/strong>?<\/p>\n<h3 data-start=\"1897\" data-end=\"1990\"><a href=\"https:\/\/delta.io\/pdfs\/dldg_databricks.pdf\" target=\"_blank\" rel=\"noopener\">Day 01Part 13 &#8211; General purpose register list of open files and list of open devices.<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/sbi.co.in\/webfiles\/uploads\/files_2324\/050720231818-Annexure-A-UPMRCL-AGAFC-01-PART-01.pdf\" target=\"_blank\" rel=\"noopener\">PART I: BIDDING PROCEDURE TENDER \u201cAGAFC-01\u201d<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/www.commerce.gov\/sites\/default\/files\/ofm\/DOC_Standardized_Object_Class_Definitions.pdf\" target=\"_blank\" rel=\"noopener\">Standardized Object Classes Definitions<\/a><\/h3>\n<p>Here\u2019s a well-organized explanation for <strong>Day 01 \u2013 Part 13<\/strong> of your Operating System study:<\/p>\n<hr \/>\n<h2>\ud83e\udde0 <strong>Day 01 \u2013 Part 13: General Purpose Registers, List of Open Files &amp; Open Devices (OS Concepts)<\/strong><\/h2>\n<hr \/>\n<h3>\ud83d\udccc <strong>1. General Purpose Registers<\/strong><\/h3>\n<p><strong>Definition<\/strong>:<br \/>\nGeneral Purpose Registers (GPRs) are <strong>small, fast memory units<\/strong> inside the <strong>CPU<\/strong> used to <strong>temporarily store data<\/strong> and <strong>perform operations<\/strong> during instruction execution.<\/p>\n<h4>\ud83e\uddfe <strong>Common General Purpose Registers:<\/strong><\/h4>\n<p>(Names vary by architecture; here&#8217;s an x86 and general view)<\/p>\n<table>\n<thead>\n<tr>\n<th><strong>Register<\/strong><\/th>\n<th><strong>Purpose<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>AX, BX, CX, DX<\/td>\n<td>Arithmetic, data movement<\/td>\n<\/tr>\n<tr>\n<td>SP (Stack Pointer)<\/td>\n<td>Points to top of stack<\/td>\n<\/tr>\n<tr>\n<td>BP (Base Pointer)<\/td>\n<td>Used in stack frame addressing<\/td>\n<\/tr>\n<tr>\n<td>SI, DI<\/td>\n<td>Source and Destination Indexing<\/td>\n<\/tr>\n<tr>\n<td>PC (Program Counter)<\/td>\n<td>Holds address of next instruction<\/td>\n<\/tr>\n<tr>\n<td>FLAGS<\/td>\n<td>Holds condition codes (Zero, Carry, etc.)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote><p>\ud83d\udd04 Used <strong>by CPU during context switching<\/strong>, interrupt handling, and execution of instructions.<\/p><\/blockquote>\n<hr \/>\n<h3>\ud83d\udcc2 <strong>2. List of Open Files<\/strong><\/h3>\n<p><strong>Definition<\/strong>:<br \/>\nThis is a <strong>system-maintained list<\/strong> of all files that are <strong>currently opened by processes<\/strong>.<\/p>\n<h4>\ud83d\udd38 <strong>Components:<\/strong><\/h4>\n<ul>\n<li>Each process has a <strong>File Descriptor Table<\/strong>.<\/li>\n<li>The OS maintains a <strong>global Open File Table<\/strong>.<\/li>\n<li>Each entry contains:\n<ul>\n<li>File descriptor number<\/li>\n<li>File pointer (current read\/write position)<\/li>\n<li>File access mode (read\/write)<\/li>\n<li>File control block (metadata)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>\ud83d\udcdd <strong>Purpose:<\/strong><\/h4>\n<ul>\n<li>Track <strong>who is using what file<\/strong>.<\/li>\n<li>Manage <strong>access rights<\/strong>.<\/li>\n<li>Ensure <strong>concurrent access control<\/strong>.<\/li>\n<\/ul>\n<blockquote><p>Example: Linux maintains this using <code>\/proc\/[pid]\/fd\/<\/code><\/p><\/blockquote>\n<hr \/>\n<h3>\ud83d\udcbb <strong>3. List of Open Devices<\/strong><\/h3>\n<p><strong>Definition<\/strong>:<br \/>\nThe list of open devices refers to <strong>I\/O devices<\/strong> currently being <strong>used by active processes<\/strong>.<\/p>\n<h4>\ud83d\udd38 <strong>Includes:<\/strong><\/h4>\n<ul>\n<li>Printers<\/li>\n<li>USB drives<\/li>\n<li>Keyboard\/mouse<\/li>\n<li>Network interfaces<\/li>\n<li>Display devices<\/li>\n<\/ul>\n<h4>\ud83d\udccb <strong>What is tracked:<\/strong><\/h4>\n<ul>\n<li>Device ID \/ type<\/li>\n<li>Status (open, busy, available)<\/li>\n<li>Which process is using it<\/li>\n<li>I\/O mode (read\/write)<\/li>\n<li>Buffer and driver info<\/li>\n<\/ul>\n<h4>\ud83d\udee0\ufe0f <strong>Managed Through:<\/strong><\/h4>\n<ul>\n<li><strong>Device Tables<\/strong><\/li>\n<li><strong>I\/O Control Blocks<\/strong><\/li>\n<li><strong>Driver queues<\/strong><\/li>\n<\/ul>\n<hr \/>\n<h3>\u2705 <strong>Summary Table<\/strong><\/h3>\n<table>\n<thead>\n<tr>\n<th><strong>Concept<\/strong><\/th>\n<th><strong>Explanation<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>General Purpose Register<\/td>\n<td>Temporary fast-access storage in CPU<\/td>\n<\/tr>\n<tr>\n<td>List of Open Files<\/td>\n<td>Tracks all files currently opened by processes<\/td>\n<\/tr>\n<tr>\n<td>List of Open Devices<\/td>\n<td>Maintains data on in-use input\/output devices<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<p>Would you like a <strong>diagram or memory structure illustration<\/strong> to visually explain these OS components?<\/p>\n<h3><a href=\"https:\/\/www.dauniv.ac.in\/public\/frontassets\/coursematerial\/computer-architecture\/CompArchCh04L01GPRbasedOrgan.pdf\" target=\"_blank\" rel=\"noopener\">Day 01Part 13 &#8211; General purpose register list of open files and list of open devices.<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/www.tecnrt.org\/docs\/cse\/materials\/OS.pdf\" target=\"_blank\" rel=\"noopener\">OPERATING SYSTEMS (R13 III B.TECH I SEM) UNIT &#8211; I<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Day 01Part 13 &#8211; General purpose register list of open files and list of open devices. [fvplayer id=&#8221;339&#8243;] \u00a0General Purpose Registers, List of Open Files, and List of Open Devices In an Operating System (OS), registers, open files, and open devices are essential for process management and system execution. \u00a0General Purpose Registers (GPRs) General Purpose [&hellip;]<\/p>\n","protected":false},"author":66,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[78],"tags":[],"class_list":["post-3294","post","type-post","status-publish","format-standard","hentry","category-operating-system"],"_links":{"self":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/3294","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/users\/66"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/comments?post=3294"}],"version-history":[{"count":0,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/3294\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/media?parent=3294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/categories?post=3294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/tags?post=3294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}