<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>PRINCIPLES OF OPERATING SYSTEM by MUHAMMAD NUR AZREE MOHAMAD NASIR</title>
      <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u</link>
      <description>CSC520</description>
      <language>en-us</language>
      <pubDate>2021-10-13 07:13:40 UTC</pubDate>
      <lastBuildDate>2023-07-26 18:56:23 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f4bb.png</url>
      </image>
      <item>
         <title>What is Operating System(OS)?</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813145413</link>
         <description><![CDATA[<ul><li>Operating system is like intermediary person between user and the program.</li><li>Its interact with hardware and application.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 07:17:13 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813145413</guid>
      </item>
      <item>
         <title>Computer System can be divided into different components?</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813157271</link>
         <description><![CDATA[<div>Yes, computer system can be divided by 4 components.<br><br></div><ul><li>&nbsp;User</li><li>&nbsp;Application</li><li>&nbsp;Operating System</li><li>&nbsp;Hardware</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 07:23:58 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813157271</guid>
      </item>
      <item>
         <title>Roles of each Components</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813251786</link>
         <description><![CDATA[<div>User : people, machines, other computers.<br><br>Application : word processors, compilers, web browsers.<br><br>Operating System :</div><ul><li>control and coordinates use of hardware</li><li>e.g. : Windows, Macintosh, Android, IOS, Linux.&nbsp;</li></ul><div><br></div><div>Hardware:</div><ul><li>provides basic computing resources</li><li>resources : cpu, memory, I/O devices, storage.</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:14:07 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813251786</guid>
      </item>
      <item>
         <title>What Operating Systems do?</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813272650</link>
         <description><![CDATA[<ul><li>Operating system provides the means for proper use of these resources (cpu, memory, i/o devices, storage) in the operation of the computer system.</li></ul><div><br></div><ul><li>Provides an environment within which other programs can do useful work.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:25:04 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813272650</guid>
      </item>
      <item>
         <title>Operating Systems from two viewpoints?</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813282242</link>
         <description><![CDATA[<ul><li>User view</li><li>System view</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:29:51 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813282242</guid>
      </item>
      <item>
         <title>User view: Single user</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813295748</link>
         <description><![CDATA[<ul><li>ease of use&nbsp;</li><li>good performance</li><li>efficient<br><br><br></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:36:54 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813295748</guid>
      </item>
      <item>
         <title>User view : Multi user</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813301801</link>
         <description><![CDATA[<div>Share resources and may exchange information</div><ul><li>fairness in utilization the resources</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:39:59 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813301801</guid>
      </item>
      <item>
         <title>User view: Mobile computers</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813316998</link>
         <description><![CDATA[<div>Mobile computers (e.g., smartphones and tablets)<br>To provide easy accessibility&nbsp;</div><ul><li>optimized for usability &amp; battery life</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:47:11 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813316998</guid>
      </item>
      <item>
         <title>User view: Embedded computers</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813319419</link>
         <description><![CDATA[<div>Embedded computers(e.g., computers in home devices, washing machine)<br><br></div><ul><li>Run without user intervention</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:48:23 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813319419</guid>
      </item>
      <item>
         <title>System view</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813336108</link>
         <description><![CDATA[<div>1. Operating System is a resource allocator</div><ul><li>Manages all resources(cpu, memory, i/o, storage)</li><li>Decides between conflict request for efficient &amp; fair resource use&nbsp;</li></ul><div><br></div><div>2. Operating System is a control program</div><ul><li>Security system</li><li>Control execution of programs to prevent errors</li></ul><div><br></div><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-13 08:55:29 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1813336108</guid>
      </item>
      <item>
         <title>Modern Computer System</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1840931560</link>
         <description><![CDATA[<ul><li>Each of the I/O devices has a controller.</li><li>Each of the controller has its own buffer.</li><li>The function of buffer is to store data that required by its own devices.</li><li>The device controller and buffers are connected to memory subsequently connected to our CPU.</li><li>CPU will take data/instruction from memory to process it.</li></ul>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/99d423537995b21f10a1248abae17513/modern_computer_system.PNG" />
         <pubDate>2021-10-25 07:36:32 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1840931560</guid>
      </item>
      <item>
         <title>How does CPU know any task to be process or to be execute?</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1845373628</link>
         <description><![CDATA[<div>The CPU will be request that some task/services to be process or to be execute.<br><br>The answer is Interrupt.<br>Any event that request the CPU to act is known by interrupt.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-26 15:21:55 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1845373628</guid>
      </item>
      <item>
         <title>Interrupt</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1845415572</link>
         <description><![CDATA[<div>The occurrence of an event is usually signaled by an <strong>interrupt.<br><br>There are 2 types of interrupt :&nbsp;</strong></div><ul><li><strong>Hardware</strong></li><li><strong>Software &nbsp;</strong></li></ul><div><br>Hardware Interrupt&nbsp;</div><ul><li>I/O devices that trigger the interrupt by sending a signal to CPU through the System Bus.</li></ul><div><br>Software Interrupt</div><ul><li>Software program that trigger the interrupt by another software known by system call.&nbsp;</li></ul>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/e5a02577251149d950ae997ac09df1bc/interrupt.jpg" />
         <pubDate>2021-10-26 15:32:39 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1845415572</guid>
      </item>
      <item>
         <title>Interrupt Timeline</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855134138</link>
         <description><![CDATA[<div>The straight line in the diagram shows that the CPU is executing the process.<br>When interrupt occur in the CPU, the CPU will be stop for a while.<br>Its stop to handling a new request.<br>Then, the CPU will continue the process of executing the request that occur based on the priority of the request.&nbsp;<br><br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/eac01367928715eb111f3cb31da865eb/Interrupt_timeline.PNG" />
         <pubDate>2021-10-30 04:31:54 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855134138</guid>
      </item>
      <item>
         <title>Storage Hierarchy </title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855173216</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/43e7294133656104b3a8beec7c8ea90c/storage_hierarachy.PNG" />
         <pubDate>2021-10-30 05:48:35 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855173216</guid>
      </item>
      <item>
         <title>Direct Memory Access Structure(DMA)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855181677</link>
         <description><![CDATA[<div>Direct memory access is designed so that less interrupt occurs.<br>The device controller transfers an entire block of data to or from its own buffer to memory with no intervention by the CPU.</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-30 06:07:09 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855181677</guid>
      </item>
      <item>
         <title>Multicore Systems</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855184594</link>
         <description><![CDATA[<div>Most CPU design nowadays includes multiple computing cores on a single chip. Such multiprocessor systems are called multicore.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-30 06:12:59 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1855184594</guid>
      </item>
      <item>
         <title>Operating System Services</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887925177</link>
         <description><![CDATA[<div>There is 2 types of services:<br>1. For User<br>2. For System Programs<br><br>Operating System Services provide their function for both types.</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-13 06:28:46 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887925177</guid>
      </item>
      <item>
         <title>OS Services that are helpful to user:</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887926149</link>
         <description><![CDATA[<div>1. User interface&nbsp;</div><ul><li>&nbsp;Command Line Interface(CLI), Graphical User Interface(GUI), Touch Screen, Batch</li></ul><div>2. Program execution</div><ul><li>System must be able to load a program into memory and to run that program, end execution, either normally or abnormally( indicating error)</li></ul><div>3. I/O operations</div><ul><li>A running program may require I/O, which may involve a file or an I/O devices.</li></ul><div>4. File-system manipulation&nbsp;</div><ul><li>Programs need to read and write files or directories, create, delete, search, list file information, and permission management for file.&nbsp;</li></ul><div>5. Communication</div><ul><li>Processes may exchange information, on the same computer or between another computer over a network</li></ul><div>6. Error detection (aware of possible errors in the OS)</div><ul><li>error may occur in the CPU and memory hardware, I/O devices, or in user program.</li><li>OS should take the appropriate action of the error.</li><li>Debug the facilities can enhance the user's and programmer's abilities to efficiently use the system.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-13 06:30:44 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887926149</guid>
      </item>
      <item>
         <title>OS Services that are helpful for the system programs.</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887926475</link>
         <description><![CDATA[<div>1. Resource allocation&nbsp;</div><ul><li>when multiple users or multiple jobs running concurrently, resources must be allocated to each of them</li></ul><div>- Many types of resources:- CPU cycles, main memory file storage, I/O devices.<br>2. Logging&nbsp;</div><ul><li>to keep track of which users use how much and what kinds of computer resources</li></ul><div>3. Protection and security<br>owners information stored in a multiuser or networked computer system may want to control use of that information and should not interfere with each other.<br>- <strong>Protection</strong> involves ensuring that all access to system resources is controlled<strong><br>- Security </strong>of the system from outsiders requires user authentication, extends to defending external I/O devices from invalid access.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-13 06:31:17 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887926475</guid>
      </item>
      <item>
         <title>A view of OS Services</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887977740</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/a09991b73a3dd88ef84af7aa9803e998/2_01_OS_Services.jpg" />
         <pubDate>2021-11-13 08:01:32 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887977740</guid>
      </item>
      <item>
         <title>System Call</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887987343</link>
         <description><![CDATA[<ul><li>Programming interface to the services provided by the OS</li><li>Is a system operation that have instruction to tell the CPU what had to be done to execute the task.&nbsp;</li><li>It is a set of instruction.&nbsp;</li><li>Use High Level Language (API)</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-13 08:16:55 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887987343</guid>
      </item>
      <item>
         <title>API - System Call - OS Relationship</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887988668</link>
         <description><![CDATA[<div>Explanation:<br>When user click open of the file directories.<br>System call will switch from user mode to kernel mode, where kernel mode is the part of the operating system want to execute the task.<br>System call will take the instruction of the task and implement the instruction to do the task that user want.<br>The user can view the file directories.</div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/c31ad113383d772ec8ff2e9c0f8ab2ef/Difference_Between_API_and_System_Call_Figure_2.jpg" />
         <pubDate>2021-11-13 08:19:00 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887988668</guid>
      </item>
      <item>
         <title>Types of System Calls</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887992678</link>
         <description><![CDATA[<ul><li>Process control</li><li>File Management</li><li>Device Management</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-13 08:25:30 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1887992678</guid>
      </item>
      <item>
         <title>System Services</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1888096118</link>
         <description><![CDATA[<div>Provide a convenient environment for program development and execution.<br>Can be divided into:</div><ul><li>File manipulation</li><li>Status information sometimes stored in a file</li><li>Programming language support</li><li>Program loading and execution</li><li>Communications</li><li>Background services</li><li>Application programs</li></ul><div>Most user's view of the operation system is defined by system programs, not the actual system calls.</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-13 10:53:01 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1888096118</guid>
      </item>
      <item>
         <title>Process Concept</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1893465281</link>
         <description><![CDATA[<ul><li><strong>Process - a program in execution; process must progress in sequential fashion.</strong></li><li>Multiple parts<ul><li>&nbsp; &nbsp;program code also known as <strong>text section</strong>.</li><li>&nbsp; &nbsp;current activity including <strong>program counter</strong></li><li>&nbsp; &nbsp;<strong>Stack</strong> containing temporary data</li><li>&nbsp; &nbsp;<strong>Data section</strong> containing global variables</li><li>&nbsp; &nbsp;<strong>Heap</strong> containing memory dynamically allocated during time</li></ul></li><li>Program is passive entity; process is active&nbsp;<ul><li>&nbsp; &nbsp;Program becomes process when execute file loaded into memory</li></ul></li><li>Execution of program started via GUI mouse clicks, cmd entry of its name, etc</li><li>One program can be several processes<ul><li>&nbsp; &nbsp; Consider multiple users executing the same program</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-16 07:42:31 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1893465281</guid>
      </item>
      <item>
         <title></title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907671305</link>
         <description><![CDATA[<div>When a program in the secondary storage is being execute, that program will be transfer into memory and becoming a process.</div>]]></description>
         <enclosure url="http://1.bp.blogspot.com/-DoCFzIcQGDs/VlnGRLw69mI/AAAAAAAAAz0/xxrtrqK39FU/s1600/process%2Blooks%2Bin%2Bmemory.jpg" />
         <pubDate>2021-11-23 05:59:43 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907671305</guid>
      </item>
      <item>
         <title>Process State</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907684248</link>
         <description><![CDATA[<div>As a process executes, it changes state.<br>A process at any one time can be at any state:</div><ul><li>New - the process&nbsp; is being created.</li><li>Running - Instructions are being executed</li><li>Waiting - The process is waiting for event to occur</li><li>Ready - The process is waiting to be assigned to a processor</li><li>Terminated - The process has finished execution</li></ul>]]></description>
         <enclosure url="http://www.hexainclude.com/wp-content/uploads/2016/11/process-state-diagram.png" />
         <pubDate>2021-11-23 06:10:47 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907684248</guid>
      </item>
      <item>
         <title>Process Control Block (PCB)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907696164</link>
         <description><![CDATA[<ul><li>For each process, it has process control block (PCB).</li><li>It keeps the information of that process.</li><li>OS will generate the process control block (PCB).</li><li>Process State - running, waiting, etc.</li><li>Program Counter - location of instruction to next execute.</li><li>CPU Registers - contents of all process-centric registers</li><li>CPU scheduling information - priorities, scheduling queue pointers.</li><li>Memory-management information - memory allocated to the process.</li><li>Accounting information - CPU used, clock time elapsed since start, time limits.</li><li>I/O status information - I/O devices allocated to process, list of open files</li></ul><div><br></div>]]></description>
         <enclosure url="https://lh3.googleusercontent.com/-EYrHth_lDIk/TXI2_L68rsI/AAAAAAAAAB0/W6XwTJjTqi8/s1600/Picture2.png" />
         <pubDate>2021-11-23 06:21:06 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907696164</guid>
      </item>
      <item>
         <title>Threads</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907697532</link>
         <description><![CDATA[<div>A process can have many threads.<br>so far, process has a single thread of execution.<br>This topic will be explain more on the next chapter.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-23 06:22:12 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907697532</guid>
      </item>
      <item>
         <title>Process Scheduling</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907792700</link>
         <description><![CDATA[<ul><li>maximize CPU use, quickly switch processes onto CPU core</li><li>Process scheduler selects among available processes for next execution on CPU core</li><li>Maintains scheduling queues of processes&nbsp;</li></ul><ol><li>Ready queue - set of all processes residing in main memory, ready and waiting to execute.</li><li>Waiting queue - set of processes waiting for an event to occur. example: I/O</li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-23 07:29:30 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907792700</guid>
      </item>
      <item>
         <title>Context Switch</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907813553</link>
         <description><![CDATA[<ul><li>When CPU switches to another process, the system must save the state of the old process and load the saved state for the new process via a context switch.</li><li>Context of a process represented in the PCB</li><li>Context-switch time is overhead; the system does no useful work while switching</li><li>Time dependent on hardware support</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-23 07:42:14 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1907813553</guid>
      </item>
      <item>
         <title>Operations on Process</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912075843</link>
         <description><![CDATA[<div>System must provide mechanisms for:</div><ul><li>process creation</li><li>process termination</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-25 07:39:40 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912075843</guid>
      </item>
      <item>
         <title>Process Creation</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912083324</link>
         <description><![CDATA[<ul><li>Parent process create children processes, which, in turn create other processes, forming a tree of processes.</li><li>Process identified and managed via a <strong>process identifier(pid)</strong></li><li>Resource sharing options&nbsp;<br>- Parent and children share all resources<br>- Children share subset of parent's resources<br>- Parent and child share no resources</li><li>Execution options<br>- Parent and children execute simultaneously&nbsp;<br>- Parent waits until children terminate</li><li>Address space<br>- Child duplicate of parent<br>- Child has a program loaded into it</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-25 07:44:25 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912083324</guid>
      </item>
      <item>
         <title>Process Termination</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912120502</link>
         <description><![CDATA[<ul><li>Process executes last statement and then asks the os to delete it using exit ( ) system call.<br>- Returns status data from child to parent (via wait ( ))<br>- Process' resources are deallocated by operating system</li><li>Parent may terminate the execution of children processes using the abort ( ) system call.</li><li>Some reasons for doing so:<br>- Child has exceeded allocated resources<br>- Task assigned to child is no longer required<br>The parent is exiting and the os does not allow a child to continue if its parent terminates.</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-25 08:07:01 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912120502</guid>
      </item>
      <item>
         <title>Interprocess Communication</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912136398</link>
         <description><![CDATA[<div>Proses may be <strong><em>independent</em></strong><strong> </strong>or <strong><em>cooperating.</em></strong></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-25 08:17:18 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912136398</guid>
      </item>
      <item>
         <title>Two Models of IPC</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912413356</link>
         <description><![CDATA[<ul><li>Shared memory</li><li>Message passing</li></ul>]]></description>
         <enclosure url="http://image.slidesharecdn.com/3processmanagement-120706015639-phpapp01/95/3-process-management-18-728.jpg?cb=1341539849" />
         <pubDate>2021-11-25 11:13:38 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912413356</guid>
      </item>
      <item>
         <title>Producer-Consumer Problem in Cooperating Processes</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912416336</link>
         <description><![CDATA[<div>Paradigm for cooperating processes, <strong>producer process</strong> produces information that is consumed by a <strong>consumer process</strong></div><ul><li>unbounded-buffer places no practical limit on the size of the buffer</li><li>bounded-buffer assumes that there is a fixed buffer size</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-25 11:15:50 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912416336</guid>
      </item>
      <item>
         <title>Interprocess Communication - Shared Memory</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912595655</link>
         <description><![CDATA[<ul><li>An area of memory shared among the processes that wish to communicate.</li><li>The communication is under the control of the users processes not the os.</li><li>Major issues is to provide the mechanism that will allow user processes to <strong>synchronize </strong>their actions when they access shared memory.</li></ul>]]></description>
         <enclosure url="https://prepinsta.com/wp-content/uploads/2019/01/Shared-Memory-in-OS-Operating-System.png" />
         <pubDate>2021-11-25 13:14:14 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912595655</guid>
      </item>
      <item>
         <title>Interprocess Communication - Message Passing</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912619864</link>
         <description><![CDATA[<ul><li>Mechanism for processes to communicate and to synchronize their actions</li><li>The operations:<br>- <strong>send</strong>(message)<br>- <strong>receive</strong>(message)</li><li><em>Message </em>size is either fixed or variable</li><li>If process A and process B wish to communicate with each other, they will need to:<br>- establish a<strong><em> communication link</em></strong> between them<br>- exchange messages via send or receive</li><li>Major issues for message passing is:<br>- how the links are being established.<br>- the capacity of a link.<br>- the direction of link which is unidirectional or bi-directional.<br>- can a link be associated with more than two processes?</li></ul>]]></description>
         <enclosure url="https://dextutor.com/wp-content/uploads/2020/04/image-6.png" />
         <pubDate>2021-11-25 13:28:09 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912619864</guid>
      </item>
      <item>
         <title>Implementation of communication link (Message Passing)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912629779</link>
         <description><![CDATA[<ul><li>Physical<br>- Shared memory<br>- Hardware bus<br>- Network</li><li>Logical<br>- Direct or indirect<br>- Synchronous or asynchronous<br>- Automatic or explicit buffering</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-25 13:33:25 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912629779</guid>
      </item>
      <item>
         <title>Logical (Direct Communication)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912634565</link>
         <description><![CDATA[<ul><li>The processes must name each other explicitly<br>- <strong><em>send</em></strong> (A, message) - send a message to process A<br>-<strong><em> receive</em></strong> (B, message) - message are being received by process B</li><li>Properties of communication link<br>- Links are established automatically<br>- A link is associated with exactly one pair of communicating processes<br>- Between each pair there exists exactly on link<br>- Link may be unidirectional, but is usually bi-directinal</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-25 13:35:54 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1912634565</guid>
      </item>
      <item>
         <title>Logical (Indirect Communication)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920778696</link>
         <description><![CDATA[<div>Message are being directed to mailbox.&nbsp;</div><ul><li>The mailbox will receive all the messages.</li><li>Each mailbox has a unique id to indicates to the processes that will send to it.</li><li>Processes can communicate if they share the same mailbox.</li></ul><div>Properties of communication link</div><ul><li>Link establish if processes share a common mailbox</li><li>A link may be associated with many processes</li><li>Each pair of processes may share several communication links</li><li>Link may be unidirectional or bi-directional</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-30 16:05:55 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920778696</guid>
      </item>
      <item>
         <title>Single Thread Processes</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920790081</link>
         <description><![CDATA[<ul><li>code, data and files belong to the process</li><li>where the bottom part of the diagram is belong to the thread</li><li>this thread with take the information about code, data and files from the process</li></ul><div><br></div>]]></description>
         <enclosure url="https://dextutor.com/wp-content/uploads/2020/05/single-thread-process.png" />
         <pubDate>2021-11-30 16:10:17 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920790081</guid>
      </item>
      <item>
         <title>What is thread?</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920794766</link>
         <description><![CDATA[<ul><li>Thread is the smallest sequence of programmed instructions that can be managed independently by a scheduler for execution</li><li>A process may have 1 or many threads to complete their execution<br>- process with 1 thread - single threaded process<br>- process with many thread - multi threaded process</li><li>The sharing function of thread makes it lighter, easier to be executed and easier to create the thread.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-30 16:12:06 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920794766</guid>
      </item>
      <item>
         <title>Multithreaded processes</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920813007</link>
         <description><![CDATA[<div>for each thread the with have their own register, stack and PC (program counter).<br>they will share the information about the code, data and files which belong to the process.</div>]]></description>
         <enclosure url="https://binaryterms.com/wp-content/uploads/2019/07/Process-with-multiple-threads.jpg" />
         <pubDate>2021-11-30 16:19:00 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920813007</guid>
      </item>
      <item>
         <title>Multiprocessors vs Multicore</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920841165</link>
         <description><![CDATA[<div>Both multiprocessors and multicore will support multitasking or multiprogramming in different ways.<br>Multiprocessor - its having more than 2 CPUs added to the system<br>Multicore - its having single CPU with multiple execution units&nbsp;<br><br>Efficiency&nbsp;<br>Multicore is more efficient than multiprocessor <br><br></div>]]></description>
         <enclosure url="https://i.stack.imgur.com/STuQI.png" />
         <pubDate>2021-11-30 16:30:03 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920841165</guid>
      </item>
      <item>
         <title>Multicore Programming</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920909233</link>
         <description><![CDATA[<div>pressure on the programmers, challenges include:</div><ul><li>Dividing activities</li><li>Balance</li><li>Data splitting</li><li>Data dependency</li><li>Testing and debugging</li></ul><div><br><strong><em>Parallelism </em></strong>implies a system can perform more than one task simultaneously <br><strong><em>Concurrency </em></strong>support more than one task making a progress<br>- Single processor / core, scheduler providing concurrency<br><br>Both <strong><em>Parallelism </em></strong>and <strong><em>Concurrency </em></strong>allow <strong>multitasking but<br>Concurrency for single core&nbsp;<br>Parallelism for multi core</strong></div><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-30 16:56:38 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920909233</guid>
      </item>
      <item>
         <title>Concurrency vs Parallelism</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920915162</link>
         <description><![CDATA[]]></description>
         <enclosure url="http://nikgrozev.com/images/blog/Overview%20of%20Modern%20Concurrency%20and%20Parallelism%20Concepts/concurrent_vs_parallel.png" />
         <pubDate>2021-11-30 16:59:16 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920915162</guid>
      </item>
      <item>
         <title>Multithreading Models</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920918425</link>
         <description><![CDATA[<div>There are <strong><em>user threads</em></strong> and <strong><em>kernel threads<br><br>Many-to-one<br>One-to-One<br>Many-to-Many<br><br></em></strong>The relationships models is refer to user threads and kernel threads.<br><br></div><ul><li>Many-to-One: Many user threads to One kernel threads</li><li>One-to-One: One user threads to One kernel threads</li><li>Many-to-Many: Many user threads to Many kernel threads</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-30 17:00:38 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920918425</guid>
      </item>
      <item>
         <title>Multithread models (Many-to-One)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920929625</link>
         <description><![CDATA[<ul><li>The main disadvantage is one thread blocking causes all to block</li><li>Multiple threads may not run in parallel on multicore system because only one may be in kernel at a time</li></ul><div><br></div>]]></description>
         <enclosure url="https://www.geeksforgeeks.org/wp-content/uploads/gq/2015/07/many_to_many2.jpg" />
         <pubDate>2021-11-30 17:05:22 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1920929625</guid>
      </item>
      <item>
         <title>Multithread Model(One-to-One)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1921037724</link>
         <description><![CDATA[<ul><li>Each user-level thread maps to kernel thread</li><li>By creating a user-level thread, it also creates a kernel thread</li><li>More concurrency than many-to-one</li><li>Number of threads per process sometimes restricted due to overhead(cost for creation the threads)</li></ul>]]></description>
         <enclosure url="https://t1.daumcdn.net/cfile/tistory/99F8FA3D5A6F23ED1E" />
         <pubDate>2021-11-30 17:47:50 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1921037724</guid>
      </item>
      <item>
         <title>Multithread Model (Many-to-Many)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1921047028</link>
         <description><![CDATA[<ul><li>Allows many user-level threads to maps to many kernel threads</li><li>Allows the OS to create a sufficient number of kernel threads</li></ul>]]></description>
         <enclosure url="https://t1.daumcdn.net/cfile/tistory/997DFE335A6F291E2D" />
         <pubDate>2021-11-30 17:52:00 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1921047028</guid>
      </item>
      <item>
         <title>Multithread Model (Two-level)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1921052222</link>
         <description><![CDATA[<div>Combination of many-to-many model and one-to-one model</div>]]></description>
         <enclosure url="https://theegeek.com/wp-content/uploads/2013/09/Two-level-model.jpg" />
         <pubDate>2021-11-30 17:54:30 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1921052222</guid>
      </item>
      <item>
         <title>Introduction</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1930350064</link>
         <description><![CDATA[<ul><li>A race condition exists when access to shared data is not controlled, possibly resulting in corrupt data values.</li><li>To avoid the corrupt data values requires a mechanism called process synchronization</li><li>Process synchronization is the OS task to coordinate among cooperating processes.</li><li>Synchronization is done through locking and critical section problem.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-06 04:25:12 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1930350064</guid>
      </item>
      <item>
         <title>Process Synchronization Software Tools</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1930355595</link>
         <description><![CDATA[<ul><li>Peterson's solution</li><li>Mutex</li><li>Semaphore</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-06 04:30:29 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1930355595</guid>
      </item>
      <item>
         <title>Logical (Indirect Communication)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997406502</link>
         <description><![CDATA[<div>Operations</div><ul><li>create a new mailbox (port)</li><li>send and receive messages through mailbox</li><li>destroy a mailbox</li></ul><div>Primitives are defined as:</div><ul><li><strong><em>send</em></strong>(A, message) - send a message to mailbox A</li><li><strong><em>receive</em></strong>(A, message) - receive a message from mailbox A</li></ul><div>Mailbox sharing</div><ul><li>P1, P2, and P3 share the same mailbox</li><li>P1 sends, while P2 and P3 receive</li><li>Who gets the message?</li></ul><div>The solutions for many processes share the same mailbox:<br>Allow a link to be associated with at most two processes<br>Allow only one process at a time to execute a receive operation<br>Allow the system to select arbitrarily the receiver. Sender is notified who the receiver.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 08:58:31 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997406502</guid>
      </item>
      <item>
         <title>Synchronization</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997425366</link>
         <description><![CDATA[<div>Message passing may blocking or non-blocking</div><div>Blocking is considered synchronous:</div><ul><li>Blocking send - the sender is blocked until the message is receive</li><li>Blocking receive - the receiver is blocked until a message is available</li></ul><div>Non-blocking is considered synchronous:</div><ul><li>Non-blocking send - the sender sends the message</li><li>Non-blocking receive - the receiver receives either a valid or null messages.</li></ul><div>Different combinations possible</div><ul><li>If both send and receive are blocking, we have a rendezvous.</li></ul><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 09:09:50 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997425366</guid>
      </item>
      <item>
         <title>Buffering</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997433576</link>
         <description><![CDATA[<div>It uses queues of messages attached to the link.<br><br>There is 3 ways to implement:<br>1. Zero capacity - no messages are queued on a link.<br>Sender must wait for receiver.<br>2. Bounded capacity - finite length of <em>n </em>messages<br>Sender must wait to send the message if the link is full.<br>3. Unbounded capacity - infinite length<br>Sender never waits to send the message</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 09:14:35 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997433576</guid>
      </item>
      <item>
         <title>Basic Concepts</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997446684</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://reader020.documents.pub/reader020/slide/20190706/56649d2a5503460f949fe89d/document-3.png?t=1610250932" />
         <pubDate>2022-01-18 09:21:30 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997446684</guid>
      </item>
      <item>
         <title>My perspective on this topic:</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997456497</link>
         <description><![CDATA[<div>Thread is the smallest version of process that help process to run and execute it. There is two types of thread which is single thread and multithread.<br><br>From my perspective multithread is more efficient than single thread because in multithread&nbsp;each thread have its own register and stack number to execute the process and they also can share the resource that they need.<br><br>Multithread is the capabilities to run the process based on the relation which is many to one, one to one or many to many.&nbsp;<br><br>The concept that I can relate with multithread is:<br>It is like working in a group of project and single person project. The ways working in a group so much faster than single person because we can divide the work for each person and complete it faster.<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 09:26:47 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997456497</guid>
      </item>
      <item>
         <title>CPU Scheduler</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997484062</link>
         <description><![CDATA[<div>Selects from among the processes in ready queue, and allocates the CPU core to one of them.<br><br></div><div>CPU Scheduling may take places when a process:</div><ul><li>Switches from running to waiting state</li><li>Switches from running to ready state</li><li>Switches from waiting to ready</li><li>Terminates</li></ul><div><br>Non-preemptive scheduling:</div><ul><li>running to waiting state</li><li>terminates</li></ul><div><br>Preemptive scheduling:</div><ul><li>All other scheduling</li></ul><div>- Consider access to shared data<br>- Consider preemption while in kernel mode<br>- Consider interrupts occur during OS activities<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 09:41:50 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997484062</guid>
      </item>
      <item>
         <title>Dispatcher</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997505666</link>
         <description><![CDATA[<div>Gives control of the CPU the process selected by the short-term scheduler, this involves:</div><ul><li>Switching context</li><li>Switching to user mode</li><li>Jumping to the proper location in the user program to restart the program</li></ul><div><strong>Dispatch latency</strong> - time to take for the dispatcher to stop one process and start another running state</div>]]></description>
         <enclosure url="https://www.cs.csustan.edu/~john/Classes/CS3750/Notes/Chap05/05.03Dispatcher.jpg" />
         <pubDate>2022-01-18 09:53:01 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997505666</guid>
      </item>
      <item>
         <title>Scheduling Criteria</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997507589</link>
         <description><![CDATA[<ul><li><strong>CPU utilization </strong>– keep the CPU as busy as possible</li><li><strong>Throughput</strong> – number of processes that complete their execution per time unit</li><li><strong>Turnaround time </strong>– amount of time to execute a particular process</li><li><strong>Waiting time </strong>– amount of time a process has been waiting in the ready queue</li><li><strong>Response time </strong>– amount of time it takes from when a request was submitted until the first response is produced, not output&nbsp; (for time-sharing environment)</li></ul><div><br>Optimization Criteria</div><ul><li>Maximize CPU utilization</li><li>Maximize throughput</li><li>Minimize the turnaround time</li><li>Minimize the waiting time</li><li>Minimize the response time</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 09:54:05 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997507589</guid>
      </item>
      <item>
         <title>Scheduling Algorithms</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997518746</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://miro.medium.com/max/2590/1*5PiB5W4fvWEAGp56F5e8ag.png" />
         <pubDate>2022-01-18 09:59:34 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997518746</guid>
      </item>
      <item>
         <title>First Come First Serve (FCFS)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997526245</link>
         <description><![CDATA[]]></description>
         <enclosure url="http://image.slideserve.com/1226721/fcfs-scheduling-n.jpg" />
         <pubDate>2022-01-18 10:03:49 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997526245</guid>
      </item>
      <item>
         <title>Shortest Job First (SJF)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997532971</link>
         <description><![CDATA[]]></description>
         <enclosure url="http://www.cs.jhu.edu/~yairamir/cs418/os2/img026.gif" />
         <pubDate>2022-01-18 10:07:26 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997532971</guid>
      </item>
      <item>
         <title>Shortest Remaining Time</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997534932</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://1.bp.blogspot.com/-R1jwQzyHozE/WgSZNJ3u3ZI/AAAAAAAAAK8/WrfNi2cA4MsAiVXtIhgTKm4cJ2dbl3rowCLcBGAs/w1200-h630-p-k-no-nu/Example%252Bof%252BSRTF%252BProcess%252BArrival%252BTime%252BBurst%252BTime%252BP1%252B0.0%252B7%252BP2%252B2.0%252B4.jpg" />
         <pubDate>2022-01-18 10:08:38 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997534932</guid>
      </item>
      <item>
         <title>Round Robin</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997535831</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://i.ytimg.com/vi/GHNXNMS1bfY/maxresdefault.jpg" />
         <pubDate>2022-01-18 10:09:12 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997535831</guid>
      </item>
      <item>
         <title>Priority </title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997536776</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://i.imgur.com/T9g23c6.png" />
         <pubDate>2022-01-18 10:09:46 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997536776</guid>
      </item>
      <item>
         <title>Process Synchronization</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997811259</link>
         <description><![CDATA[<div>Involves using tools that control access to shared data to avoid race conditions. These tools must be used carefully, as their incorrect use can result in poor system performance, including deadlock.</div><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 12:59:05 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997811259</guid>
      </item>
      <item>
         <title>Critical Section Problem</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997813566</link>
         <description><![CDATA[<ul><li>Each process has a segment code called the critical section problem</li><li>Critical section problem is a section for processes to share resources (files, data or database)</li><li>A critical section consists of<br>- Entry section: requesting entry into critical section<br>- Critical section: a section where only one process can execute at any one time<br>- Exit section: release the shared resources<br>- Remainder section: the rest of codes for execution</li><li>Each process must request permission to enter its critical section. The section of code implement this request is the entry section</li></ul>]]></description>
         <enclosure url="https://t4tutorials.com/wp-content/uploads/2019/04/Critical-Section-Problem-in-OS-575x630.jpg" />
         <pubDate>2022-01-18 13:00:15 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997813566</guid>
      </item>
      <item>
         <title>Race Condition </title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997816414</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://image.slidesharecdn.com/ch7-100408021617-phpapp02/95/ch7-os-10-728.jpg?cb=1270693020" />
         <pubDate>2022-01-18 13:01:45 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997816414</guid>
      </item>
      <item>
         <title>Solution to Critical Section Problem</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997840854</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://image.slidesharecdn.com/osslide-150812170606-lva1-app6891/95/peterson-critical-section-problem-solution-5-638.jpg?cb=1439399445" />
         <pubDate>2022-01-18 13:12:43 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997840854</guid>
      </item>
      <item>
         <title>Peterson&#39;s Solution</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997853617</link>
         <description><![CDATA[<ul><li>Applicable to only 2 processes at a time, so it is a 2 process solution only</li><li>Two processes share two variables:<br>- Int turn;<br>- Boolean flag[2]</li><li>The variable turn indicates whose turn to enter the critical section.</li><li>The flag array to indicate if a process is ready to enter critical section. flag[i] = true implies that process Pi is ready!</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 13:17:51 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997853617</guid>
      </item>
      <item>
         <title>Peterson&#39;s solution and Critical Section Requirement</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997863212</link>
         <description><![CDATA[<div>Mutual exclusion is preserved<br>Pi enters Critical section only if:<br>either flag[i] = false or turn = i<br>Progress requirement is satisfied<br>Bounded-waiting requirement is met</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 13:21:40 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997863212</guid>
      </item>
      <item>
         <title>Algorithms for process Pi</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997869291</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://i1.wp.com/tutorialwing.com/wp-content/uploads/2018/09/tutorialwing-os-peterson-algorithm.png?resize=439%2C317&amp;ssl=1" />
         <pubDate>2022-01-18 13:24:15 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997869291</guid>
      </item>
      <item>
         <title>Mutex lock</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997880022</link>
         <description><![CDATA[<ul><li>Mutex lock is the simplest tools to solve critical section</li><li>Protect a critical section by first <strong><em>acquire()</em></strong> a lock then<strong><em> release() </em></strong>the lock<br>- Boolean indicates whether if lock is available or not</li><li>A process that attempts to acquire an unavailable lock is blocked until the lock is released.</li><li>Mutex lock solution requires busy waiting, therefore this lock called a spinlock</li></ul>]]></description>
         <enclosure url="https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&amp;fname=https:%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99D35D4C5A30D90209" />
         <pubDate>2022-01-18 13:28:49 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997880022</guid>
      </item>
      <item>
         <title>Semaphore</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997894746</link>
         <description><![CDATA[<ul><li>Its provide more sophisticated ways than mutex lock for process to synchronize their activities.</li><li>S - integer variable</li><li>Can only be accessed via two indivisible (atomic) operations:<br>- wait()&nbsp;<br>- signal()</li></ul>]]></description>
         <enclosure url="https://4.bp.blogspot.com/-VB4JAVGoYvg/XEM6t4UnJtI/AAAAAAAAALA/1HI76ia_ne88C-C5fit2eLER9jkOS25aACLcBGAs/s1600/semaphore%2Bstandard%2Boperation.PNG" />
         <pubDate>2022-01-18 13:34:30 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997894746</guid>
      </item>
      <item>
         <title>Semaphore usage</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997903052</link>
         <description><![CDATA[<div>Its has two types of semaphore values</div><ul><li>Counting semaphore - S takes unrestricted domain numbers</li><li>Binary semaphore - S takes only 0 and 1</li></ul><div>Can solve various synchronization problems.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 13:37:41 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997903052</guid>
      </item>
      <item>
         <title>Liveness</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997914307</link>
         <description><![CDATA[<ul><li>Refers to a set of properties that a system must satisfy to ensure that processes make progress during their execution life cycle.</li><li>A process waiting indefinitely under the certain circumstances is an example of a "liveness failure"</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 13:41:30 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997914307</guid>
      </item>
      <item>
         <title>Liveness failure</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997921129</link>
         <description><![CDATA[<div>Deadlock</div><ul><li>A situation where two or more processes are waiting indefinitely for an event that can be caused only by one of the waiting processes.</li></ul><div>Priority Inversion&nbsp;</div><ul><li>Scheduling problem when lower-priority process holds a lock needed by higher-priority process</li><li>Solved via priority-inheritance protocol</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 13:44:11 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1997921129</guid>
      </item>
      <item>
         <title>Deadlock</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998005344</link>
         <description><![CDATA[<ul><li>Is a state when every process in a set waiting for an event that can be caused only by another process in that set.</li><li>Can be described by the Resource Allocation Graph.</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 14:14:06 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998005344</guid>
      </item>
      <item>
         <title>Deadlock Characterization</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998017601</link>
         <description><![CDATA[<ul><li>Mutual exclusion - only 1 process at a time can use a resource</li><li>Hold and wait - a process holding at least one resource is waiting to acquire additional resources held by other processes.&nbsp;</li><li>No preemption - a resource can be released only voluntarily by the process holding it, after that process has completed its task.</li><li>Circular wait - there exists a set of process of waiting processes such that P0 is waiting for a resource that is held by P1, P1 is waiting for a resource that is held by P2, and so on.</li></ul>]]></description>
         <enclosure url="https://image.slideserve.com/1168425/deadlock-characterization-l.jpg" />
         <pubDate>2022-01-18 14:18:09 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998017601</guid>
      </item>
      <item>
         <title>Resource Allocation Graph</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998026623</link>
         <description><![CDATA[<div>request edge&nbsp;<br>- directed edge Pi -&gt; Rj<br>assignment edge&nbsp;<br>- directed edge Rj -&gt;Pi<br><br></div>]]></description>
         <enclosure url="http://www.cs.jhu.edu/~yairamir/cs418/os4/img008.gif" />
         <pubDate>2022-01-18 14:21:27 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998026623</guid>
      </item>
      <item>
         <title>Resource Allocation Graph: Example </title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998037430</link>
         <description><![CDATA[<div>Basic Facts<br><br>If graph contains no cycles<br>= No deadlock<br><br>If graph contains a cycles<br>- If only one instance per resource type, then deadlock<br>- If several instances per resource type, possibility of deadlock</div>]]></description>
         <enclosure url="https://image.slidesharecdn.com/section08-deadlocks-110929082709-phpapp02/95/deadlocks-8-728.jpg?cb=1317285618" />
         <pubDate>2022-01-18 14:25:15 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998037430</guid>
      </item>
      <item>
         <title>Handling Deadlock</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998065747</link>
         <description><![CDATA[<div>OS will try to ignore the problem and pretend that deadlocks never occur in the system.</div><ul><li>Deadlock prevention</li><li>Deadlock avoidance</li></ul><div>Use a protocol to prevent deadlocks and ensuring that the system will never enter a deadlocked state.<br>If the deadlock still occur in the operating system, then it will allow the system to enter a deadlocked state, detect it, and recover.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-18 14:34:45 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1998065747</guid>
      </item>
      <item>
         <title>Deadlock Prevention</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999690086</link>
         <description><![CDATA[<div>It provides a set methods to ensure that at least one of the necessary conditions cannot hold.<br>Its try its best to make sure at least one of the 4 characteristics of the deadlock is not happen in the operating system.<br>These methods prevent deadlocks by constraining how requests for resources can be made.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 06:49:46 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999690086</guid>
      </item>
      <item>
         <title>Deadlock Prevention: 4 Characteristic</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999691530</link>
         <description><![CDATA[<ul><li>Mutual Exclusion&nbsp;<ul><li>not required for shareable resources. example: read-only files.&nbsp;</li><li>must hold for non-sharable resources</li></ul></li><li>Hold and wait<ul><li>must guarantee that whenever a process requests a resource, it does not hold any other resources.&nbsp;</li></ul></li><li>No preemption<ul><li>If a process is holding resources and then it require another resource and requests another resources that cannot be allocated to it, it needs to release all the resources that being held at the moments.</li><li>Process will be restarted again when only it can regain its old resources with the new request resources that it needs.</li></ul></li><li>Circular wait<ul><li>impose a total ordering of all resource types, and require that each process requests resources in an increasing order of enumeration</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 06:50:57 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999691530</guid>
      </item>
      <item>
         <title>Deadlock avoidance</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999716835</link>
         <description><![CDATA[<ul><li>Requires some future knowledge of requests for resources from each of the participating processes.</li><li>It much declare the maximum number of resources of each type that it may needs.</li><li>Examines the resource-allocation state to ensure that there can never be a circular-wait condition</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 07:09:33 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999716835</guid>
      </item>
      <item>
         <title>Safe state</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999718148</link>
         <description><![CDATA[<div><br><br></div>]]></description>
         <enclosure url="http://www.cs.jhu.edu/~yairamir/cs418/os4/img016.gif" />
         <pubDate>2022-01-19 07:10:29 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999718148</guid>
      </item>
      <item>
         <title>Prevention VS Avoidance</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999753760</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://pediaa.com/wp-content/uploads/2019/06/Difference-Between-Deadlock-Prevention-and-Deadlock-Avoidance-Comparison-Summary.jpg" />
         <pubDate>2022-01-19 07:33:14 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999753760</guid>
      </item>
      <item>
         <title>Avoidance Algorithms</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999755908</link>
         <description><![CDATA[<ul><li>Single instance resource<ul><li>Use a resource-allocation graph</li></ul></li></ul><div><br></div><ul><li>Multiple instance resource<ul><li>Use banker's algorithm</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 07:34:29 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999755908</guid>
      </item>
      <item>
         <title>Resource-Allocation Graph Scheme</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999777099</link>
         <description><![CDATA[<div>Process P1 request resource R2<br>Process P1 is holding resource R1&nbsp;<br>Process P2 request resource R1<br>Process P2 is holding resource R2<br><br>There is a cycle so, the deadlock is occur.</div>]]></description>
         <enclosure url="http://contribute.geeksforgeeks.org/wp-content/uploads/Slide1.jpg" />
         <pubDate>2022-01-19 07:46:38 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999777099</guid>
      </item>
      <item>
         <title>Banker&#39;s Algorithm</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999783156</link>
         <description><![CDATA[<ul><li>This algorithm is used to avoid deadlock with multiple instances of a resource type</li><li>Each process must have a priori claim maximum use</li><li>When a process requests a resource it may have to wait</li><li>When a process gets all its resources it must return them in a finite amount of time</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 07:50:11 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999783156</guid>
      </item>
      <item>
         <title>Data structures Banker&#39;s algorithm</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999784877</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://blog.m157q.tw/files/os-ch7-deadlocks/bankers-algorithm.png" />
         <pubDate>2022-01-19 07:51:11 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999784877</guid>
      </item>
      <item>
         <title>Safety Algorithm</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999799498</link>
         <description><![CDATA[]]></description>
         <enclosure url="http://cdngquiz.geeksforgeeks.org/wp-content/uploads/2016/01/safety-algorithm.png" />
         <pubDate>2022-01-19 07:59:10 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999799498</guid>
      </item>
      <item>
         <title>Memory Management</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999857242</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/a7e461a00637fd6362bafc5aade18aea/image.png" />
         <pubDate>2022-01-19 08:31:10 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999857242</guid>
      </item>
      <item>
         <title>Background</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999857601</link>
         <description><![CDATA[<ul><li>Every process must be in a memory in order to executed.</li><li>The process will be swap in and swap out in the memory.</li><li>Typical instruction&nbsp;<br>- fetch instruction from memory<br>- decode the instructions<br>- operand fetch<br>- possible storage of result in memory</li><li>Register access or Cache can be done in one CPU clock (or less)<br>- It sits between CPU and Memory to deal with the "stall" issue</li><li>Protection of memory is required to ensure correct operation:<ul><li>User process cannot access operating system memory</li><li>1 user process cannot access the memory of another user process</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 08:31:21 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999857601</guid>
      </item>
      <item>
         <title>Memory Protection</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999961555</link>
         <description><![CDATA[<ul><li>Protect using base registers and limit registers.<ul><li><strong>base register</strong>: hold smallest physical address of a program memory</li><li><strong>limit register</strong>: specify the size of the program</li></ul></li></ul>]]></description>
         <enclosure url="https://i2.wp.com/image.slidesharecdn.com/02osstructure-1224678499044648-9/95/02os-structure-24-728.jpg" />
         <pubDate>2022-01-19 09:29:20 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/1999961555</guid>
      </item>
      <item>
         <title>My perspective on this topic</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000674477</link>
         <description><![CDATA[<div>In this topic, I can understand how every process is being manage for the execution. There is 5 state for the process may occur in the os, which is new, ready, running, waiting, and execute. Each state may require additional input for the os to execute the process.&nbsp;<br><br>From my perspective on state diagram:&nbsp;<br>The process state is the same concept as the requirement to complete some task in our daily life. Such as example, we want to cook some meals for that day but we didn't have the ingredients, so we need to do some task in order to cook that meals such as buy the ingredients for the meals.<br><br>My perspective on indirect communication:<br>Its like people share the same house and they may receive the same information about the news on the tv, if they watch together.&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 15:17:21 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000674477</guid>
      </item>
      <item>
         <title>My perspective on this topic</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000694511</link>
         <description><![CDATA[<div>Computer system has 4 components which is user, application, operating system and harware.<br>The roles of each components is the same concept as any company that has position roles in the company such as manager, ceo, admin, etc. each position has its own responsibilities toward the company.<br><br>Based on my understanding of How CPU can be excuted:&nbsp;<br>Interrupt is occur when some task/process is needed.<br>Interrupt is just like our assignment that needs to be done, our deadline to submit is the priority of the request that needs to be execute. When a new assignment is assigned, we will stop the process of finishing the other assignment to process the task of that new assignment. Hehe<br><br>From my perspective of multicore:&nbsp;<br>This multicore is the same concept as human multitasking. Some of us may have an ability to multitask to complete several work.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 15:24:25 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000694511</guid>
      </item>
      <item>
         <title>My perspective on this topic</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000695437</link>
         <description><![CDATA[<div>Operating system provide functions for user and program. So that user and program functions really well. It is like a program that user can use and inside the program, it is manage by os.&nbsp;<br><br>System Call Point of view:<br>System call from my point of view is instruction that we required to do.<br>Such as in mathematic subject, we have a formula to answer certain question.<br>That formula is almost the same as system call because in order to get the answer we need to follow the procedure to complete the task.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 15:24:45 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000695437</guid>
      </item>
      <item>
         <title>My perspective on this topic</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000696322</link>
         <description><![CDATA[<div>In this topic, I learned that CPU scheduling is important for the operating system because os need to use the CPU as best as it can. All the functionality of the CPU may use to output the best result and for user to use the program.<br><br>There is 4 state that CPU scheduler may occur in the system. Which is from running to ready state, running to waiting state, waiting to ready state and terminate state.<br><br>CPU scheduler criteria that os needs to achieve is to maximize CPU utilization, maximize throughput, minimize the turnaround time, minimize the waiting time, minimize the response time in order to make the os and user can enjoy the system.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 15:25:05 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000696322</guid>
      </item>
      <item>
         <title>My perspective on this topic</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000696783</link>
         <description><![CDATA[<div>In this topic, we knew that process synchronization is a way to coordinate processes that use the shared data. It is occur when the process is cooperating that we call as "cooperating processes" because the processes share the resources between them.<br><br>Process synchronization helps the processes that share the resources to act and execute properly to avoid data inconsistency. If data inconsistency occur, race condition may occur in the process.<br>&nbsp;<br>Critical section is a segment of code that can be access by only 1 signal process at a certain time.<br><br>There is 3 tools of&nbsp; process synchronization which is peterson's algorithm, mutex lock, and semaphore.&nbsp;<br><br>In the end of this topic, we knew that process synchronization is important to os in order to manage the processes that share the resources. If the process enter the critical section, there is a way to manage the process, which is mutual exclusion, progress and bounded-waiting.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 15:25:15 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000696783</guid>
      </item>
      <item>
         <title>My perspective on this topic</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000697236</link>
         <description><![CDATA[<div>In this topic, I learned that when operating system handles multiple processes it may triggered deadlock to occur in the system. A deadlock occurrence can be detected by the resource scheduler. Deadlock can occur when at least 1 process that is waiting for resources to be released by another process, it require that resources in order to execute and terminates the task correctly.&nbsp;<br><br>A deadlock can occur if these conditions are fulfilled simultaneously. These conditions are: mutual exclusion, circular wait, hold and wait and last is no preemption.<br><br>We can avoid the deadlock instead of dealing with the deadlock instead. Deadlock avoidance is the simplest and most useful model that each process declares the maximum of resources that they need to terminates the task correctly.<br><br>Sometimes, we cannot avoid the deadlock so we can prevent the deadlock before it can occur in the operating system. It is a method to ensuring that at least one of the conditions cannot hold.<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-19 15:25:25 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2000697236</guid>
      </item>
      <item>
         <title>Address Binding</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002669794</link>
         <description><![CDATA[<div>Every program that needs to be executed must be in memory(ram) in order to execute it.<br><br>3 different types of address</div><ul><li>Symbolic address</li><li>Logical address</li><li>Physical address</li></ul>]]></description>
         <enclosure url="http://image.slidesharecdn.com/addressbindingscheme-140806120902-phpapp01/95/address-binding-scheme-3-638.jpg?cb=1407327155" />
         <pubDate>2022-01-20 12:08:53 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002669794</guid>
      </item>
      <item>
         <title>Binding of Instructions and Data to Memory</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002677594</link>
         <description><![CDATA[<ul><li><strong>Compile Time</strong> - If it is known at compile time where a program will reside in physical memory, then<strong><em> absolute code</em></strong> can be generated by the compiler, containing actual physical addresses. However if the load address changes at some later time, then the program will have to be recompiled. DOS .COM programs use compile time binding.</li><li><strong>Load Time</strong> - If the location at which a program will be loaded is not known at compile time, then the compiler must generate <strong><em>relocatable code</em></strong>, which references addresses relative to the start of the program. If that starting address changes, then the program must be reloaded but not recompiled.</li><li><strong>Execution Time</strong> - If a program can be moved around in memory during the course of its execution, then binding must be delayed until execution time. This requires special hardware, and is the method implemented by most modern OS.</li></ul><div><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1401639502/ddc57a9ab763f16e97d9e19b59b48e9d/image.png" />
         <pubDate>2022-01-20 12:14:23 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002677594</guid>
      </item>
      <item>
         <title>Logical vs Physical Address Space</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002679443</link>
         <description><![CDATA[<ul><li>The address generated by the CPU is a <strong><em>logical address</em></strong>, whereas the address actually seen by the memory hardware is a <strong><em>physical address</em></strong>.</li><li>The set of all logical addresses used by a program composes the <strong><em>logical address space</em></strong>, and the set of all corresponding physical addresses composes the <strong><em>physical address space.</em></strong></li><li>Address that bound at compile time or load time have identical logical and physical addresses.</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-20 12:15:33 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002679443</guid>
      </item>
      <item>
         <title>Memory-Management Unit (MMU)</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002687412</link>
         <description><![CDATA[<div>The run time mapping of logical to physical addresses is handled by the <strong><em>memory-management unit, MMU.</em></strong></div><ul><li>The MMU can take on many forms. One of the simplest is a modification of the base-register scheme described earlier.</li><li>The base register is now termed a <strong><em>relocation register</em></strong>, whose value is added to every memory request at the hardware level.</li></ul>]]></description>
         <enclosure url="https://prepinsta.com/wp-content/uploads/2019/01/Memory-Management-Unit-MMU-in-OS-Operating-System.png" />
         <pubDate>2022-01-20 12:20:40 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002687412</guid>
      </item>
      <item>
         <title>Memory Allocation Scheme</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002690029</link>
         <description><![CDATA[<div>2 Main Ways for allocate memory space:</div><ul><li>Contiguous</li><li>Non-Contiguous</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-20 12:22:18 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002690029</guid>
      </item>
      <item>
         <title>Contiguous Allocation</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002702647</link>
         <description><![CDATA[<ul><li>Main memory(ram) must support both OS and user processes.</li><li>Memory is a limited resource so, it needs to be allocate efficiently.</li><li>Main memory divided into 2 partitions:<ul><li>&nbsp;The operating system is allocated space first, usually at low&nbsp; memory locations.</li><li>&nbsp;The remaining available memory is allocated to user processes as needed, usually at high memory locations.</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-20 12:30:28 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002702647</guid>
      </item>
      <item>
         <title>Multiple-partition allocation</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002704360</link>
         <description><![CDATA[<ul><li><strong>Variable-partition</strong>: memory space has variable size to assign the process needs.</li><li><strong>Hole</strong>: block of free space that available in the memory.</li></ul>]]></description>
         <enclosure url="https://image.slidesharecdn.com/35-multiplepartitionallocation-130117065332-phpapp01/95/35-multiplepartitionallocation-9-638.jpg?cb=1358405657" />
         <pubDate>2022-01-20 12:31:30 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002704360</guid>
      </item>
      <item>
         <title>Dynamic Storage-Allocation Problem</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002718130</link>
         <description><![CDATA[<ul><li><strong>First Fit</strong>: In the first fit, the partition is allocated which is the first sufficient block from the top of Main Memory. It scans memory from the beginning and chooses the first available block that is large enough. Thus it allocates the first hole that is large enough.&nbsp;</li></ul><div><br></div><ul><li><strong>Best Fit </strong>Allocate the process to the partition which is the first smallest sufficient partition among the free available partition. It searches the entire list of holes to find the smallest hole whose size is greater than or equal to the size of the process.&nbsp;</li></ul><div><br></div><ul><li><strong>Worst Fit </strong>Allocate the process to the partition which is the largest sufficient among the freely available partitions available in the main memory. It is opposite to the best-fit algorithm. It searches the entire list of holes to find the largest hole and allocate it to process. &nbsp;</li></ul><div><br>First-fit and best-fit are better than worst-fit in terms of speed and storage utilization.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-20 12:39:51 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002718130</guid>
      </item>
      <item>
         <title>Fragmentation</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002723019</link>
         <description><![CDATA[<ul><li><strong>External fragmentation - </strong>Total memory space is enough to satisfy a request or to reside a process in it, but it is not contiguous, so it cannot be used.</li><li><strong>Internal fragmentation - </strong>Memory block assigned to process is bigger. Some portion of memory is left unused, as it cannot be used by another process.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-20 12:42:38 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002723019</guid>
      </item>
      <item>
         <title>Non-Contiguous Allocation</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002726696</link>
         <description><![CDATA[<ul><li>Partition the program into a number of small units, each of which can reside in a different part of the memory.</li><li>Need hardware support.</li><li>Various methods of partitions:<ul><li>Segmentation</li><li>Paging&nbsp;</li><li>Paged segmentation</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-20 12:44:41 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002726696</guid>
      </item>
      <item>
         <title>Segmentation</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002747170</link>
         <description><![CDATA[<div>Segmentation is another memory management scheme that supports the user-view of memory. Segmentation allows breaking of the virtual address space of a single process into segments that may be placed in non-contiguous areas of physical memory.</div>]]></description>
         <enclosure url="http://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/images/Chapter8/8_09_Segmentation.jpg" />
         <pubDate>2022-01-20 12:54:29 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002747170</guid>
      </item>
      <item>
         <title>Paging</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002754554</link>
         <description><![CDATA[<ul><li>A solution to fragmentation problem is Paging. Paging is a memory management mechanism that allows the physical address space of a process to be non-contagious. Here physical memory is divided into blocks of equal size called <strong>Pages</strong>. The pages belonging to a certain process are loaded into available memory frames.</li><li>Mapping from logical memory to physical memory using the page table.</li></ul>]]></description>
         <enclosure url="https://image.slidesharecdn.com/memorymanagement-120602150959-phpapp02/95/memory-management-23-728.jpg?cb=1338649833" />
         <pubDate>2022-01-20 12:58:10 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002754554</guid>
      </item>
      <item>
         <title>Swapping</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002763409</link>
         <description><![CDATA[<div>A process needs to be in memory for execution. But sometimes there is not enough main memory to hold all the currently active processes in a timesharing system. So, excess process are kept on disk and brought in to run dynamically. Swapping is the process of bringing in each process in main memory, running it for a while and then putting it back to the disk.</div>]]></description>
         <enclosure url="http://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/images/Chapter8/8_05_ProcessSwapping.jpg" />
         <pubDate>2022-01-20 13:02:47 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002763409</guid>
      </item>
      <item>
         <title>My perspective on this topic:</title>
         <author>2021478032</author>
         <link>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002765564</link>
         <description><![CDATA[<div>This topic quiet heavy because it covers all the memory management that operating system should take part of.&nbsp;<br><br>Main Memory refers to a physical memory that is the internal memory to the computer. The word main is used to distinguish it from external mass storage devices such as disk drives. Main memory is also known as RAM. The computer is able to change only data that is in main memory. Therefore, every program we execute and every file we access must be copied from a storage device into main memory.<br><br>From this topic, I learned that every process needs to be in the main memory in order to execute it correctly. Every process has its own address to navigate to memory.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-20 13:03:57 UTC</pubDate>
         <guid>https://padlet.com/2021478032/gzx2d9mh8t82a83u/wish/2002765564</guid>
      </item>
   </channel>
</rss>
