<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>CSC520 by MUHAMMAD SYAFIQ BIN SAMSUDDIN</title>
      <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw</link>
      <description>welcome to my page </description>
      <language>en-us</language>
      <pubDate>2021-10-13 13:52:18 UTC</pubDate>
      <lastBuildDate>2025-09-30 15:52:22 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f4bb.png</url>
      </image>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1842413176</link>
         <description><![CDATA[<blockquote><strong>Operating System&nbsp;</strong></blockquote><div><br></div><div>What is OS?</div><pre>A computer program that acts as an intermediary between a user  and the computer hardware.</pre><div>What OS do?</div><pre>Controls the hardware and coordinates its use among the  application programs for the users.</pre><div>Kernel</div><pre>One program running at all times on the computer</pre><div><br></div><div><strong>Computer System</strong></div><div><br></div><div>Structure</div><pre><em>User </em>↹ <em>Apps </em>↹<em> OS </em>↹ <em>Hardware</em></pre><div>User View</div><pre>•Multi user comp
•Handheld comp
•Embedded comp</pre><div>System View</div><pre>OS ➜ resource allocator + control program</pre>]]></description>
         <enclosure url="https://media2.giphy.com/media/LkxlMZ1ySs6SuJGx0L/giphy.gif" />
         <pubDate>2021-10-25 17:02:55 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1842413176</guid>
      </item>
      <item>
         <title>Chapter 1 (Cont)</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1842631977</link>
         <description><![CDATA[<div>Comp Startup</div><pre>•Bootstrap program is loaded at power-up or reboot.
•stored in ROM or EPROM(firmware).</pre><div>Interrupts</div><pre>Hardware (signal to CPU).
•Software (system call).
•OS (interrupt driven).</pre><div>Storage hierarchy</div><pre>•Caching ➜ copying information from slow storage into faster storage system

•Device Driver ➜<strong> </strong>Manage I/O</pre><div><br></div><blockquote><strong>Computer-System Architecture</strong></blockquote><div><br></div><div>Single general-purpose processor&nbsp; &nbsp;<strong>&nbsp; &nbsp;</strong></div><pre>designed to execute exactly one program.</pre><div>Multiprocessors aka&nbsp; parallel systems, tightly-coupled&nbsp;<br>systems&nbsp;</div><pre><strong>types :- 
</strong>•Symmetric Multiprocessing ➜ performs all tasks
•Asymmetric Multiprocessing ➜ specific task                        


<strong>Advantages :- 
</strong>•Increased throughput
•Economy of scale<strong>
</strong>•Increased reliability </pre><div><br></div><div>What is Multicore?</div><pre>multiple computing cores on a single chip(faster/less power)</pre><div><br>Clustered Systems</div><pre>•share via storage-area network (SAN)
•high-availability<strong> </strong>service 

•Asymmetric clustering ➜ 1 machine in hot-standby mode
•Symmetric clustering ➜ multiple nodes running applications, monitoring each other

Some:-
•for high-performance computing (HPC),write use parallelization<strong> </strong>
•have<strong> </strong>distributed lock manager (DLM)<strong> </strong></pre><div><br>Multiprogrammed System</div><pre>Batch system ➜ One job selected and run via job scheduling

Timesharing systems ➜ creating interactive computing
•respond time &lt; 1 sec
•must execute &gt;= 1 program(process)

•use <strong>CPU scheduling </strong>for multi process

•use <strong>swapping </strong>if processes do not fit in memory

•<strong>Virtual memory </strong>enables a computer to be able to compensate shortages of physical memory by transferring pages of data from random access memory to disk storage</pre><div><br></div><div>Modes of operation&nbsp;</div><pre>•User mode
•Kernel mode
•Mode bit (0 or 1) </pre><div><br>Timer</div><pre>To prevent process to be in infinite loop </pre><div><br>Program counter</div><pre>Specifying location of next instruction to execute</pre><div><br>file</div><pre>Abstracts physical properties to logical storage unit  </pre><div><br>Protection and Security</div><pre>Protection ➜ controlling access of processes (or users)  to resources
Security ➜ defense of the system against internal and external attacks

Filter by 
User ID/Group ID/Privilege escalation </pre><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-25 18:16:26 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1842631977</guid>
      </item>
      <item>
         <title>Operating System Services</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1847447325</link>
         <description><![CDATA[<pre>provide an environment for execution of programs and services to programs and users</pre><div><br></div><pre>Helpful to user

<strong>user interface</strong> ➜ Command-Line (CLI), Graphics User Interface (GUI),  touch-screen,  Batch<strong>

Program execution </strong>➜ The system must be able to load a program into memory and to run that program, end execution, either normally or abnormally (indicating error)

<strong>I/O operations </strong>➜  A running program may require I/O, which may involve a file or an I/O device

<strong>File-system manipulation </strong>➜  The file system is of particular interest. Programs need to read and write files and directories, create and delete them, search them, list file Information, permission management

<strong>Communications</strong> ➜ Processes may exchange information, on the same computer or between computers over a network
Communications may be via shared memory or through message passing (packets moved by the OS)

<strong>Error detection </strong>➜ 
•May occur in the CPU and memory hardware, in I/O devices, in user program

•For each type of error, OS should take the appropriate action to ensure correct and consistent computing

•Debugging facilities can greatly enhance the user’s and programmer’s abilities to efficiently use the system1. </pre><div><br></div><pre>Ensuring the efficient operation 
<strong>Resource allocation </strong>➜<strong> </strong>When&nbsp; multiple users or multiple jobs running concurrently, resources must be allocated to each of them<br>-Many types of resources - &nbsp; CPU cycles, main memory, file storage, I/O devices.<br><br>2.<strong>Logging </strong>➜ To keep track of which users use how much and what kinds of computer resources<br><br>3.<strong>Protection and security </strong>➜<strong> </strong>The owners of information stored in a multiuser or networked computer system may want to control use of that information, concurrent processes should not interfere with each other<br><br><strong>Protection</strong> ➜involves ensuring that all access to system resources is controlled<br><br><strong>Security</strong> ➜ of the system from outsiders requires user authentication, extends to defending external I/O devices from invalid access attempts</pre><div><br>User Interface</div><pre>CLI/Command Line
shells ➜ multiple flavours

GUI/Graphical
user friendly
•icons represent files
•mouse button over objects

Touchscreen
•gestures
•virtual keyboard
•voice command</pre><div><br>System calls</div><pre>•via high-level application programming interface(API)
•interface-maintains a table indexed according to these numbers</pre><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-27 07:16:43 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1847447325</guid>
      </item>
      <item>
         <title>Reflection of chapter 1</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1847478919</link>
         <description><![CDATA[<div>I learnt that computer system have&nbsp; many components within it to do the tasks. all of it work together to do their job. This chapter pretty easy to understand but it have a lot of things to cover on.</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-10-27 07:33:13 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1847478919</guid>
      </item>
      <item>
         <title>PROCESSES</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1863962927</link>
         <description><![CDATA[<pre>Process Concept
process ➜ a program in execution</pre><div><br></div><pre>parts:-

text section
program counter
stack
data section
heap</pre><div><br></div><pre>program  ➜ passive , process - active
program ➜ process if exe file loaded into memory

<br></pre><div><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-03 08:00:01 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1863962927</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1863971674</link>
         <description><![CDATA[<div>process state<br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/b205349dce754301a02b99bafe82a926/Capture.PNG" />
         <pubDate>2021-11-03 08:05:30 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1863971674</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1864167605</link>
         <description><![CDATA[<div>process control block(PCB)<br>-data structure that contains information of the process related to it<br><br>process state - running</div><pre>program counter ➜ loc next exe

cpu scheduling info ➜ priorities

memory management information ➜ memory allocated to the process

accounting info ➜ cpu used

i/o status info ➜ i/o device allocated to process</pre><div><br>Process Scheduling</div><pre>process scheduler ➜ selects available process for next execution on CPU core</pre><div><br>scheduling queues</div><pre>ready queue ➜ ready &amp; waiting to execute

wait queues ➜ waiting for an event</pre><div><br>Context switch</div><pre>save the state (old process) ➜ saved state(new process) via context switch 
context of a process ➜ PCB</pre><div><br>Process Creation</div><pre>tree of process(parent-&gt;children) via process identifier (pid)</pre><div><br>Process Termination&nbsp;</div><pre>-after last statement, OS use exit() system call
-return via wait()
-terminate via abort()</pre><div><br>Interprocess Communication</div><pre>-independent(cannot affect/affected)/cooperating(can affect/affected)

-need interprocess communication(IPC)-&gt; (shared memory/passing message)</pre><div><br>producer consumer problem (buffer)</div><pre>unbounded- size no limit

bounded -fixed size</pre><div><br>message passing</div><pre>-two ops-&gt;send &amp; receive

-need comm link</pre><div><br>Synchronization</div><pre>blocking = synchronous
blocking send ➜ sender blocked until  received 
blocking receive ➜ receiver blocked until available
non blocking = asynchronous
non- blocking send 
non blocking receive

both = rendezvous</pre><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-03 09:59:03 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1864167605</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1872595702</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/3f3fc3d0bd536c4fa7ffba649002cf11/Capture.PNG" />
         <pubDate>2021-11-07 11:51:14 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1872595702</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1872603438</link>
         <description><![CDATA[<div>Types of system calls</div><pre>•process control(end, abort, load, execute..)

•File management(create/delete/close file..)

•Device management(request/release device..)

•Information maintenance(get/set -&gt; time/data..)

•Communication(create/delete comm connection)

•Protection(control, permission, allow/deny)</pre><div><br>System Services</div><pre>•File management(manipulate files/directories)•Status information(use registry)

•File modification(use text editor)

•Programming language support
(Absolute/relocatable/overlay loaders)

•Communication(virtual connections)

•Background services(services, subsystems, daemon)

•Application programs</pre><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-07 11:58:33 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1872603438</guid>
      </item>
      <item>
         <title>THREAD &amp; CONCURRENCY</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1936954396</link>
         <description><![CDATA[<div><br>process = heavy , thread = light<br><br></div><div>Benefits<br><br></div><pre>responsiveness ➜ may continue execute even if blocked

resource sharing ➜ thread share rss

economy ➜ cheaper than process creation . thread switching &lt; context switching

scalability ➜ take adv of multicore arc </pre><div><br></div><pre>-multiple thread can execute concurrently in a process

- lightweight bcs have own stack/can access shared data/share same address space</pre><div><br><br></div><div>challenge of multicore/multi processor</div><pre>-dividing activities

-balancce

-data splitting

-data dependency

-testing and debugging</pre><div><br></div><pre>parallelism ➜ more than one task simultaneously

concurrency  ➜ more than one task making progress</pre><div><br><br></div><div>multithreading model</div><pre>many-to-one
many user thread ➜ 1 kernel thread

1 block ➜ all block
may not run in parallel</pre><div><br></div><pre>one-to-one
1 user thread(UT)➜ 1 kernel thread(KT)</pre><div><br></div><pre>create UT ➜ create KT
more concurrency,may restricted due to overhead</pre><div><br></div><pre>many-to-many
many UT ➜ many KT
allow OS create sufficient number of KT</pre><div><br></div><pre>Two level model
like many-to-many but bound to kernel thread</pre><div><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-08 23:07:19 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1936954396</guid>
      </item>
      <item>
         <title>CPU SCHEDULING</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1949603469</link>
         <description><![CDATA[<div>CPU Scheduler</div><pre>-put CPU core into processes in ready queue
-nonpreemptive(&lt;1-4) else preemptive

-dispatch latency ➜ time for dispatcher stop a process and start another running
scheduling criteria</pre><div><br>Scheduling criteria</div><pre>CPU utilization(max) ➜ keep it busy

throughput(max) ➜ num of process execute/time

turnaroundtime(min) ➜ total time to execute a process
waiting time(min) ➜ total time wait in ready queue

response time(min) ➜ total time from request until first response</pre><div><br></div><pre>FIRST COME FIRST SERVE
-in arrival order</pre><div><br></div><pre>SHORTEST JOB FIRST
-shortest time</pre><div><br></div><pre>SHORTEST REMAINING TIME FIRST
-FCFS but have preemptio</pre><div><br></div><pre>ROUND ROBIN 
-based on quantum time

-after elapsed ,preempted</pre><div><br></div><pre>PRIORITY(preemptive/nonpreemptive)
-smaller integer = higher priority
-use aging(time increase,increase priority) to overcome starvation(never execute)</pre><div><mark><br></mark>architectures</div><pre>multicore cpu ➜ faster,less power

<strong>multithreaded multicore system 
</strong>
make progress on another thread while memory retrieve happens

hypertrading(assign each core multiple hardware threads)</pre><div><br></div><div>multiple processor scheduling (load balancing)</div><pre>load balancing ➜ keep workload evenly distributed

push migration ➜ checks load ,pushes task from overloaded CPU to other CPUs

pull migration ➜ pulls waiting task from busy processor</pre><div><br></div><div>real time CPU scheduling</div><pre>soft real time systems ➜ critical real time task(highest priority)

hard real time systems ➜ task must be serviced by itds deadline</pre><div><br></div><div>latencies</div><pre>interrupt-time (arrival of interupt -&gt; start of routine that services interupt)
dispatch-time for schedule to take current process off CPU and switch to another</pre><div><br></div><div>priority based scheduling</div><pre>-must support preemptive for real time scheduling

-new characteristics ➜ periodic one require CPU at constant interval

-rate=1/p</pre><div><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-15 14:47:50 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1949603469</guid>
      </item>
      <item>
         <title>synchronization</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1964668739</link>
         <description><![CDATA[<div>Race condition</div><pre>-A race condition is an undesirable situation that occurs when a device 
or system attempts to perform two or more operations at the same time.
 
-The operations must 
be done in the proper sequence to be done correctly.</pre><div><br></div><div>Critical section problem</div><pre>-critical section is a segment of code which can be accessed by a signal process at a specific point of time.

-The section consists of 
shared data resources that required to be accessed by other processes.

- to ensure the orderly execution of cooperating processes</pre><div><br></div><div>3 requirements</div><pre>1. Mutual Exclusion - If process Pi is executing in its critical section, then no other processes can be executing in their critical sections

2. Progress - If no process is executing in its critical section and there exist some processes that wish to enter their critical section, then the selection of the processes that will enter the critical section next cannot be postponed indefinitely

3.Bounded Waiting -  A bound must exist on the number of times that other processes are allowed to enter their critical sections after a process has made a request to enter its critical section and before that request is granted</pre><div><br></div><div>2 approach</div><pre>1.Preemptive – allows preemption of process when running in kernel mode

2.Non-preemptive – runs until exits kernel mode, blocks, or voluntarily yields CPU</pre><div><br></div><div>Peterson's solution</div><pre>a concurrent programming algorithm for mutual exclusion that allows 
two or more processes to share a single-use resource without conflict, 
using only shared memory for communication</pre><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-26 22:00:02 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1964668739</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1964669155</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/2594a209c4dbfd78d67a48a509a8e973/producer_consumer.png" />
         <pubDate>2021-12-26 22:00:44 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1964669155</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1964669422</link>
         <description><![CDATA[<div>Mutex lock</div><pre>A mutex provides mutual exclusion, either producer or consumer can have the key (mutex) and proceed with their work. As long as the buffer is filled by the producer, the consumer needs to wait, and vice versa. </pre><div><br></div><div>Semaphore</div><pre>A semaphore is a generalized mutex. In lieu of a single buffer, we can split the 4 KB buffer into four 1 KB buffers (identical resources). A semaphore can be associated with these four buffers. The consumer and producer can work on different buffers at the same time. </pre>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-26 22:01:19 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1964669422</guid>
      </item>
      <item>
         <title>deadlock</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1966035661</link>
         <description><![CDATA[<div>characterlization</div><pre>mutual exclusion-1 process at 1 time to use resources
hold and wait-a process holding at least one resource is waiting to acquire additional resources held by other processes
no preemption-a resource can be released only voluntarily by the process holding it, after that process has completed its task</pre><div><br></div><div>resource allocation graph</div><pre>v into 2 types
p=processes
r=resources

request edge = p-&gt;r
assignment edge = r-&gt;p</pre><div><br></div><pre>facts
no cycle = no deadlock

contain cycle
1.one instance per resource=deadlock
2.several instances per resource type = possible of deadlock</pre><div><br><br></div><div>handling deadlock</div><pre>prevention
Mutual Exclusion – not required for sharable resources (e.g., read-only files); must hold for non-sharable resources

Hold and Wait – must guarantee that whenever a process requests a resource, it does not hold any other resources

No Preemption –
-If a process that is holding some resources requests another resource that cannot be immediately allocated to it, then all resources currently being held are released
-Preempted resources are added to the list of resources for which the process is waiting
-Process will be restarted only when it can regain its old resources, as well as the new ones that it is requesting

Circular Wait – impose a total ordering of all resource types, and require that each process requests resources in an increasing order of enumeration</pre><div><br></div><div>deadlock avoidance</div><pre>-each process need to declare the maximum number of resources of each type that it may need
-examines the resource-allocation state to ensure that there can never be a circular-wait condition
-Resource-allocation state is defined by the number of available and allocated resources, and the maximum demands of the processes</pre><div><br>safe state</div><pre>-the system can allocate all the resources requested by all the processes without entering into deadlock. 
-If the system cannot fulfill the request of all processes then the state of the system is called unsafe.</pre><div><br>avoidence algorithms</div><pre>-Single instance of a resource type(Use a resource-allocation graph)
-Multiple instances of a resource type(Use the banker’s algorithm)</pre><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-28 02:12:03 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1966035661</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969482274</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/adeffafaed5a2d2ac74ab9c61d56c966/Slide1.jpg" />
         <pubDate>2021-12-31 06:11:41 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969482274</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969483071</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/2ceeb98ac4ceb2900ee59baf9520ed76/Presentation1_1.jpg" />
         <pubDate>2021-12-31 06:13:40 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969483071</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969484018</link>
         <description><![CDATA[<div>banker algorithm<br>-simulating the allocation for predetermined maximum possible amounts of all resources, then makes an “s-state” check to test for possible activities, before deciding whether allocation should be allowed to continue.<br><br>safety algorithm<br><br>1.Initialize: Work = Available<br>2.Determine Need; Need = Max – Allocation<br>3.Check the process Pi&nbsp; and compare the Needs of Pi and Work,&nbsp;<br>Need of Pi =&lt; Work<br>4.If True<br>&nbsp; &nbsp;Pi enter safe state sequence<br>&nbsp; &nbsp;Go to Step 5.<br>Else<br>&nbsp; &nbsp;Pi = Pi + 1&nbsp; &nbsp;<br>&nbsp; &nbsp;Go to step 3<br>End<br>5.Work = Work + AllocationiFinish[i] = true<br>Pi = Pi + 1&nbsp; &nbsp;<br>&nbsp; &nbsp;Go to step 3<br>6.If all processes get the resource, then the system is in a safe state<br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-31 06:16:00 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969484018</guid>
      </item>
      <item>
         <title>main memory</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969487150</link>
         <description><![CDATA[<pre>memory protection
-implemented using the base registers and limit registers.
-base register (holding the smallest legal physical address of a program 
-limit register (specifies the size of the program) define the boundary of a program in memory in memory)</pre><div><br></div><pre>address binding
-the mapping of computer instructions and data to physical memory locations.
-input queue(kept binary executeble file)</pre><div><br></div><pre>type of addresses
-program(symbolic address)
-secondary address(logical address)
-main memory(physical address)</pre><div><br></div><pre>three types of an address binding in the OS
-Compile time  (the time at which the source code is converted into an executable code) 
-Load time (when the OS is reading an executable from long term storage) 
-Execution time (instructions in the computer program</pre>]]></description>
         <enclosure url="" />
         <pubDate>2021-12-31 06:24:29 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1969487150</guid>
      </item>
      <item>
         <title>logical vs physical address</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970664951</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/609241ec1a7a7b09f603f2843c9dad52/Capture.PNG" />
         <pubDate>2022-01-02 12:23:38 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970664951</guid>
      </item>
      <item>
         <title>memory allocation scheme</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970666184</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/d2852ec74ad4fd40b3513b3bc7ed7048/Capture2.PNG" />
         <pubDate>2022-01-02 12:25:23 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970666184</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970666408</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/667047cb7f36da8acc1d6a6735182983/Capture3.PNG" />
         <pubDate>2022-01-02 12:25:39 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970666408</guid>
      </item>
      <item>
         <title>Contiguous Allocation</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970682886</link>
         <description><![CDATA[<pre>multiple partition allocation

-Variable-partition(the memory space has variable size to  accommodate process’ needs.)</pre><div><br></div><pre>-Hole(block of available memory; holes of various size are scattered throughout memory)</pre>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 12:46:49 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970682886</guid>
      </item>
      <item>
         <title>First Fit</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970685749</link>
         <description><![CDATA[<div>Allocate the first hole that is big enough<br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/277663451d1b1643337090c54b71c86a/first_odg.png" />
         <pubDate>2022-01-02 12:50:26 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970685749</guid>
      </item>
      <item>
         <title>Best Fit</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970689884</link>
         <description><![CDATA[<div>-Allocate the smallest hole that is big enough<br>-Must search entire list, unless the list is ordered by size<br>
-Produces the smallest leftover hole
</div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/724dc749ec69b890a6f911d4aa65436e/best.jpg" />
         <pubDate>2022-01-02 12:55:08 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970689884</guid>
      </item>
      <item>
         <title>Worst Fit</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970691370</link>
         <description><![CDATA[<div>-Allocate the largest hole;<br>-Must also search entire list, unless the list is ordered by size<br>-Produces the largest leftover hole
</div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/fb1b844a551fcce97931a3855205c7d1/worst.jpg" />
         <pubDate>2022-01-02 12:57:00 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970691370</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970695231</link>
         <description><![CDATA[<pre>External Fragmentation – total memory space exists to satisfy a request, but it is not contiguous and therefore cannot be used.</pre><div><br></div><pre>Internal Fragmentation – allocated memory may be slightly larger than requested memory.</pre>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 13:01:09 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970695231</guid>
      </item>
      <item>
         <title>Non-contiguous Allocation</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970698396</link>
         <description><![CDATA[<div>segmentation<br><br>Mapping is done via&nbsp; Segment table:<br>base – contains the starting physical address where the segments reside in<br><br>memory&nbsp;<br>limit – specifies the length of the segment<br><br>Segment table is kept in memory-<br>Segment-table base register (STBR) points to the segment table’s location in memory<br>Segment-table length register (STLR) indicates number of segments used by a program<br><br>paging<br><br>-Divide physical memory into fixed-sized blocks called frames<br><br>-Size of&nbsp; a frame&nbsp; is power of 2&nbsp; between 512 bytes and 16 Mbytes<br><br><br>-Divide logical memory into blocks of same size as frames called pages<br><br><br>-Backing store, where the program is permanently residing, is also split&nbsp; into storage units (called blocks), which are the same size as the frame and page<br><br>Set up a page table to translate logical to physical addresses<br><br><br>Page table is kept in memory.&nbsp;<br>Page-table base register (PTBR) points to the page table<br><br><br>Page-table length register (PTLR) indicates size of the page table<br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 13:04:31 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970698396</guid>
      </item>
      <item>
         <title>Internal Fragmentation Calculation</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970889932</link>
         <description><![CDATA[<div>1.Number of pages required
&nbsp; = Process size/ page size
&nbsp; &nbsp;<br>2.Total internal fragmentation 
&nbsp; &nbsp; = page size -&nbsp; space used
&nbsp; &nbsp; = 
</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 16:01:07 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970889932</guid>
      </item>
      <item>
         <title>Shared Page</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970892898</link>
         <description><![CDATA[<div>Shared code<br>-One copy of read-only  code shared among processes (i.e., text editors, compilers, window systems)
Similar to multiple threads sharing the same process space
Also useful for inter-process communication if sharing of read-write pages is allowed<br><br>
Private code and data&nbsp;<br>
-Each process keeps a separate copy of the code and data
The pages for the private code and data can appear anywhere in the logical address space</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 16:03:36 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970892898</guid>
      </item>
      <item>
         <title>Swapping</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970894672</link>
         <description><![CDATA[<div>Backing store&nbsp;<br>– fast disk large enough to accommodate copies of all memory images for all processes<br>-must provide direct access to these memory images<br><br>-System maintains a ready queue of ready-to-run processes which are either in memory or have memory images on disk.<br><br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/6ec844d63ba1362efe40f3a541663092/Untitled_Diagram66_3.jpg" />
         <pubDate>2022-01-02 16:05:11 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970894672</guid>
      </item>
      <item>
         <title>Reflection of chapter 2</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970901158</link>
         <description><![CDATA[<div>So after class, I read the slide again to relearn&nbsp; it. firstly , OS services can be helpful to us as user or for the operation . It&nbsp; is easier to understand when I imagine it in real life situation like we use OS interface /file to do task while for efficiency of course we need security and protection from virus. OS provide us with windows defender.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 16:11:38 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970901158</guid>
      </item>
      <item>
         <title>Reflection of chapter 3</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970951778</link>
         <description><![CDATA[<div>In this chapter, I learnt that every execution will change the state of the process. I able to understand how the process going from one state to another state .other than that, inter process communication is really important in term of efficiency.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 17:02:39 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1970951778</guid>
      </item>
      <item>
         <title>Reflection of chapter 4</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971082447</link>
         <description><![CDATA[<div>I do not have any problem with this chapter. It is really short and simple . It is about thread ,multi thread and the model , multiprocessor, multiprocessor</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 19:30:11 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971082447</guid>
      </item>
      <item>
         <title>Reflection of chapter 5</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109086</link>
         <description><![CDATA[<div>This is the hardest chapter from 1 to 5. During class, I cannot understand it clearly so I re-watch the recorded class and watch on YouTube to understand about scheduling&nbsp; algorithm. I also make some exercises regarding it.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 20:01:34 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109086</guid>
      </item>
      <item>
         <title>Reflection of chapter 6</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109254</link>
         <description><![CDATA[<div>what I can conclude , each approach have advantages and disadvantages. so we need to pick the most suitable approach<br>based on the problem.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 20:01:47 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109254</guid>
      </item>
      <item>
         <title>Reflection of chapter 7</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109424</link>
         <description><![CDATA[<div>for this chapter, I able to understand how to do the calculation for the safety algorithm. after class, I watch video from the slide to make sure I get everything right. It use basic calculation but we need to do it step by step to avoid careless mistake </div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 20:01:58 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109424</guid>
      </item>
      <item>
         <title>Reflection of chapter 8</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109702</link>
         <description><![CDATA[<div>For this chapter , I relearn some topic during my diploma .I still remember the concept of first, best and worst fit .because of that ,i do not have any problem to understand it.</div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-02 20:02:21 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1971109702</guid>
      </item>
      <item>
         <title>VIRTUAL MEMORY</title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1996600000</link>
         <description><![CDATA[<div>Demand paging</div><pre>-bring into memory when needed
-less i/o and memory,fast,more userslazy swapper-only swap when needed</pre><div><br><br>valid-invalid bit</div><pre>-v(in memory),i(not in memory)</pre><div><br>page fault&nbsp;</div><pre>occur:-
1-invalid-&gt;abort
 -not in memory,step 2
2-find free frame
3-Swap page into frame via scheduled disk operation
4-Reset tables to indicate page now in memory
Set validation bit = v
5-Restart the instruction that caused the page fault</pre><div><br></div><pre>Pure demand paging – start process with no pages in memory

trap-&gt;state-&gt;determine-&gt;check-&gt;issue-&gt;allocate-&gt;receive-&gt;state-&gt;determine-&gt;correct-&gt;wait-&gt;restore</pre><div><br>page replacement</div><pre>-need page into memory
-no free frame</pre><div><br><br><br><br><br><br><br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2022-01-17 20:59:53 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/1996600000</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2000581730</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/164087626b7bb9862c1a1727a4b569fb/cp5n1.jpg" />
         <pubDate>2022-01-19 14:45:23 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2000581730</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2000582722</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/341291acb1b396eae16fb06477804eb3/cp5_2.jpg" />
         <pubDate>2022-01-19 14:45:45 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2000582722</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2006663059</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/b633c6088418dcbb940c65e25902bb75/banker.jpg" />
         <pubDate>2022-01-22 20:36:47 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2006663059</guid>
      </item>
      <item>
         <title></title>
         <author>2021610354</author>
         <link>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2006681923</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1402276229/64bbd256ec9b26f23d3699c1e00dd976/9ex.jpg" />
         <pubDate>2022-01-22 21:14:14 UTC</pubDate>
         <guid>https://padlet.com/2021610354/3xpdugwt1c4r7iw/wish/2006681923</guid>
      </item>
   </channel>
</rss>
