Programming Systems
Programming Systems
Valgrind is a programming tool computing where two or more pro- Polling while(* can get same segment of memory
for memory debugging, memory leak cesses or threads are trapped in a state printer_status_reg != READY). Pin- Pipes Pipe system call returns two
detection, and profiling BIOS Built- where they repeatedly change their ning force page to not page out. file descriptors
in OS detects and configures installed states but make no progress in their 1. Read handle and write handle. A
execution. Unlike a deadlock, where IOPS I/O Operations Per Second. pipe is a half-duplex communica-
hardware, and ransfers control code
from boot processes are blocked and unable to Wear Leveling Using different tion. Data written in one file de-
Process A program in execution. It proceed, in a livelock, processes are MOSes in SSD for uniform wear. scriptor can be read through an-
represents an instance of a running active but cannot make any forward ←Flash Translation Layer(FTL) other
program, including its current state progress. Sleeplock is a lock that Address mapping table which is im- 2. Regular pipes: both fd are in same
and resources allocated to it. can be held across context switches; plemented in the firmware of the process. Parent and child share fd
Orphan ps Child process that is still has a locked field that is protected SSD disk and performs a transla- after fork. Parent uses one end and
running but the father process is there by a spinlock, and acquiresleep’s call tion between logical sector addresses child uses other end
and does not wait. This type of pro- to sleep atomically yields the CPU (as the operating system sees them) 3. Named pipes: two endpoints of a
cess is reaped by init. IPC Inter- and releases the spin-lock. The re- and physical sector addresses on pipe can be in different processes
process Communication sult is that other threads can exe- the flash memory. Used for leveling 4. Pipe data buffered in OS buffers
Pipe Sort-of pseudofiles to connect 2 cute while acquiresleep waits. Be- between write and read
cause sleep-locks leave interrupts en- wear. Garbage Collection(GC)
processes
System calls Interface by which user abled, they cannot be used in inter- FTL leaves garbage; erases invalid Scheduling
processes can ask services from the rupt handlers. blocks periodically. Multiprog cpuutil = 1 − pn
kernel Networks CPU bound vs IO bound CPU
Interrupt vector is a data structure Memory Man and Paging bound has long CPU bursts before
or table used by an operating system protocols interpretation con- context swicth, IO bound have short
Relocation table a data struc- ventions for transfering informa-
or firmware to map and handle differ- ture used in compiled object files or bursts and change context more often.
ent types of interrupts generated by executables to facilitate the proper tion. ISO(Internation Standards Non-Preemtive Schduler eg
hardware devices or software events. linking and relocation of memory Organisation). OSI(Open Standards Batch Systems have user indepdnent
It contains a list of memory addresses addresses during the loading and exe- Interconnect) convention of organ- tasks(need non-Preemtive schedul-
called interrupt handlers or interrupt cution of a program ising network protocols into layers. ing). Real Time system: often pro-
service routines (ISRs) that are re- Page table stores mappings from vir- MAC Address Level 2 address that cesses are “co-operative” and know
sponsible for handling specific inter- tual page number to physical frame uniquely identifies a network card in not to run for long periods of time,
rupts. Monolythic Systems Entire number for a process Ethernet. It is 48 bits wide where thus sometimes preemption is not
OS runs as a single program in kernel Page table entry(PTE) Has 24 bits identifies the manufacturer needed.
PSW The Program Status Word caching disabled bit, reference bit, of the device. CSMA/CD Car- First-Come, First-Server (FCFS)
(PSW) is a register or data struc- modified bit, protection bits, valid rier Sense Multiple Access Collision (non-preemptive)
ture used in computer architectures bit, page frame address. Working Detection. Host-to-host commu-
Set set of pages ”currently” in use. nication refers to the exchange of 1. Single queue for ready ps (FIFO)
to hold important status information 2. Measures - Average Waiting Time
about the current state of a program Thrashing High Page Fault Rate. data or information between two
Belady’s Anomaly Increasing the separate computer systems, typi- and Average Turnaround Time
or process (Condition Flags, Interrupt number of frames does not always 3. Convoy Effect - Doing the longer
Flags, Mode and Control Bits) cally over a network. DNS(Domain jobs first ↑ measures
reduce the number of page faults (in Name System), translates human
PCB(Process Control Block) data case of FIFO, never in LRU) P2 P3 P1 Average waiting time
structure used by operating systems readable domain names (for example,
Translation Lookaside [Link]) to machine read-
to manage and track information Buffer(TLB) s a hardware cache
| {z } | {z } | {z }
about individual processes or threads able IP addresses (for example, 192.0. 0−3 3−6 6−30
Multics An OS developed in the used in modern computer systems 61 +02 +33
to accelerate the virtual-to-physical 2.44). NAT(Network Address Trans- = 3 and Average Turnaround
1960s by Bell Labs, GE and MIT. This
was the forerunner to Unix. address translation process performed lation) a way to map multiple private time =
301 +32 +63
by the memory management unit 3
addresses inside a local network to Shortest Job First Gives optimal
Processes (MMU) a public IP address before transfer- turnaround when all jobs are available
copy-on-write child and parent Demand Paging Give 0 pages to a ring the information onto the inter- simultaneously
initially shares address space but process at start, and allocate accord- net. WEP(Wire-Equivalent Privacy) Shortest Remaining Time Next
whenever either of the two wants to ing to PFF(Page Fault Frequency) encryption protocol. WPA(WiFi Scheduler always chooses the process
modify a chunk of memory, it is ex- TLB Reach Amount of Meme- Protected Access) more secure. whose remaining time is the short-
plicitly copied first to a private area. ory accessible from TLB = (TLB est. Scheduling in Interative Sys-
Process Control Block(PCB) OS IANA Internet Assigned Number
Size)×(Page Size) Copy-on- Authority; eg; ARIN(NA), RIPE(EU, tems(preemptive)
maintains a process table, and each Write(COW) allows parent and 1. Round Robin - equal importance,
entry is a PCB - Static Info, Re- ME). NIC Network Interface Cards.
child to initially share page tables. runs till a quantum. After using-
sources, Memeory Maps, CPU State, ARP(Address Resolution Protocol) up quatum, put at the tail of ll
Accounting If either process modifies a shared map an IP address to a MAC.
page, only then is the page copied 2. Shortest remaining time first - es-
IDT The Interrupt Descriptor Ta- timate the length of next CPU
ble (IDT) is a data structure used and then the parent and child have TCP/IP
separate copies of it. Page pinning, switching move packets from burst. tn =actual len of nth CPU
in x86-based computer systems to also known as page locking or mem- burst, τn+1 =predicted next CPU
handle and manage interrupts and routers input to appropriate router
ory pinning, is a technique used in output. subnet set of IP addresses burst, α ∈ [0, 1], τn+1 = αtn +
exceptions. Dispatcher Mechanism operating systems to prevent specific
to swicth process. Non prremptive that have the same “Most Significant (1 − α)τn Average waiting time =
pages of memory from being paged
scheduler Switch only if process is Bits” of IP address. CIDR(Classless
P
(end−burst−arrival)
out or swapped to secondary storage
blocked or terminated. Preemtive devices (such as disk). When a page is InterDomain Routing) Allow network n
scheduler cam swicth even when pro- 3. CTSS - Has priority classes; pro-
cess is ready and has a timer that pinned, it remains resident in physical part of address to have any length(0- cesses in high class run for 1
switches ar equal intervals. memory and is not subject to normal 32). DNS(Domain Name Service) quantum, then in the next-highest
Signals signals are software inter- page replacement algorithms or vir- decentralized system that translates class 2 quantum ...; if a processes
rupts or notifications that are used to tual memory management. Backing human-readable domain names into used all of its quantum, moved
communicate events or conditions to store also known as a swap space IP addresses down priority; enter during pro-
processes. Signals can be sent to a or swap file, is a reserved area on a cess moves it to higher class
process by OS or another process. storage device used by an operating Processes 4. Guaranteed Scheduling - with n
Signals provide a way for the op- system to temporarily store data that Main Process States - (1) Run- processes, each one should get 1/n
erating system, or other processes, cannot fit entirely in the computer’s of the CPU cycles. Compute the
ning, (2) Ready, (3) Blocked (1) → (2)
to inform a process about a specific physical memory (RAM). ratio of actual CPU time consumed
event that has occurred - Command+V - Scheduler picks up another process,
to CPU time entitled. The algo-
Signal handler every process has Deadlocks (1) → (3) - Process blocks for input, rithm is then to run the process
a default code to execute for each Safe ∃ a scheduling order in which (2) → (1) - Scheduler picks up the with the lowest ratio until its ratio
signals all processes run to completion (Un- process, (3) → (2) - Input becomes has moved above that of its closest
Sockets for two processes on same available competitor.
machine or different machines to safe ̸= Deadlock). 2PL(2 phase 5. Lottery Scheduling - a lottery
More states - Embroy(being created),
communicate. OS transfers data over locking) 1. Lock all needed re- ticket is chosen at random, and the
socket buffers sources 2. Do work, commit, and re- Zombie(terminated) process holding that ticket gets the
lease lock. Spooling (Simultaneous Waiting for processes Unix: When CPU. A process holding a fraction
a parent calls wait(), zombie child is f of the tickets will get about a
Threads Peripheral Operations On-Line) is a cleaned up or ”reaped”. fraction f of the CPU.
non-blocking system call is a technique used in computer systems to wait() blocks in parent until child ter- 6. Fair-Share Scheduling - to allocate
type of system call in which the calling enhance the efficiency of input/output minates (non-blocking ways to invoke system resources fairly among mul-
process does not wait or block until (I/O) and perevent deadlocks opera- wait exist) What if parent terminates tiple users or groups
the requested operation is completed. tions involving peripheral devices. It before child? init adopts orphans and Scheduling in Real Time Systems
Instead, it returns immediately, allow- involves the use of a spooler, which reaps them Event i occurs with period Pi and re-
ing the process to continue its exe- is a specialized software component Trap Mechanism Executed for Sys- quires Ci [sec] CPU time, then we need
cution while the requested operation or subsystem that manages the queu- tem Call, Program Fault, Interrupt. P Ci
proceeds asynchronously in the back-
ing and scheduling of I/O operations Move CPU to higher privilege, kernel P ≤ 1
i
ground.
Pop-up thread Threads for incom- to peripheral devices. TSL(Test-&- stack. System calls/interrupts store a Threads
ming messages, made quickly when Set-Lock) type of spin-lock which uses number in a CPU register before call- Each thread has its own PC, reg-
you get a message, with no context to busy waiting ing trap, to identify which IDT entry isters, private stack. All threads
restore. to use. share the rest of the address space.
File Systems Saving Context When going from Shared Process: Add space, globals,
Scheduling user mode to kernel mode, user con- files, child ps, pending alarms, signals.
Safety No two processes/threads MBR(Master Boot Record) Sec- text (e.g., which instruction of user Threads: PC, Regs, Stack, State
may be simultaneously inside their tor 0 of disk, contains the initial pro- code you stopped at) is saved on ker-
critical regions. Criticality No pro- gram loaded at powerup. Partition nel stack by the trap instruction; Re-
Synchronization
cess/thread running outside its criti- Table divides the physical disk into stored by return-from-trap Problem with busy-waiting
logical disks. Soft and Hard Lim- During a context switch, kernel con- H has high priority: keeps getting
cal region may block other processes. its Disk quotas often have two types
text (e.g., where you stopped in the scheduled. L never gets scheduled
Liveliness No process/thread should of limits: soft limits and hard lim- never exists critical region. H re-
have to wait forever to enter its criti- its. The soft limit serves as a warn- OS code) of process A is saved on mains stuck. Sleep/Wakeup sleep()
cal region. ing threshold when a user or group the kernel stack of A by the context
busy-waiting A tight loop - while( approaches their allocated disk space. : make thread blocked until woken up.
switching code ; Restores kernel con-
some-condition-is-true) atomic can- The hard limit represents the maxi- text of process B wakeup(): waking a sleeping thread
not be interrupted or interleaved by mum disk space allowed, and exceed- Shared Memory processes can ac- Semaphore operations
other operations Condition Vari- ing it results in restricted access to cess same memory with shmget() 1. initialized with a non-negative in-
ables queue that a thread can put it- create new files or allocate additional teger value. This value represents
self into when waiting on some condi- disk space. MFT(Master File Table) int shmget(key_t key, int size, int the number of available instances
tion. Another thread that makes the Main data structure of NTFS. Block of the shared resource
condition true can signal the CV to runs A “run” is a set of consecutive shmflg) 2. Wait (P) Operation: Also known
wake up a waiting thread blocks that belong to the same file. as ”down” or ”acquire” operation,
the wait operation decreases the comparing it to all the entries si- NAND Flash NOT byte address- and the port number.
semaphore value by one. If the multaneously able(read in pages); expensive; USB, 2. Client to Server: SYN
resulting value is negative, the 2. if not in TLB, normal check iPhone SSD packet(header bit). Includes IP
process or thread executing the through page table lookup RAID(Redundant Array of Inexpen- add, (source) port, initial sequence
wait operation is blocked, indicat- 3. process context swicth invalides number
ing that the resource is currently TLB, but thread does not sive Disks)
1. Controller can read from/write to 3. Server to Client: SYN+ACK(both
unavailable. If the value is non- 4. OS validates TLB entry when
negative or becomes non-negative evicting a page, so missing pages all disks in || bits set) Servers initial sequence
after the operation, the process or gone auto. 2. N disks, C capacity each, m IOPS number + ACK for clients se-
thread can proceed and access the TLB Placement/ Eviction per disk quence number
resource. 1. TLBIndex = PageNumber modulo 4. Client to Server: ACK(header bit)
3. Signal (V) Operation: Also known 3. RAID0(Stripping): disk sectors
TLBSize split into strips of k sectors, placed 5. Client can already send data with
as ”up” or ”release” operation, 2. TLBSize is always 2k the ACK segment
the signal operation increases the on disks cyclically; capacity=N ×
3. TLBIndex = k least-significant bits C; IOPS=N × m; No tolerance BSD Sockets API scocket(TCP):
semaphore value by one. If there of page number craetes struct, returns socket descrip-
were processes or threads waiting 4. RAID1(Mirroring): every disk
due to a previous wait operation, 4. Keep “tag” (rest of bits) to fully tor; both server and client create sock-
has a copy (strips still present); ets; After 3-way handshake, socket
one of them is unblocked and al- identify virtual page N
capacity= 2 × C; parallelism: read
lowed to proceed can be used like a file descriptor,
Soft/Hard TLB Misses(with write() and read(); Server Syscalls
Race condition(missed wakeup) software-based TLBs) Soft miss: IOPS=N × m, write IOPS= N 2 m;
fault tolerance s=socket() creates DS; bind(s, port
Parent checks done to be 0, decides when PTE not in TLB, but in meme- ) associate port with socket; listen
to sleep, interrupted .Child runs, sets ory; Hard miss: page not even in 5. RAID4(parity+stripping): single
done to 1, signals, but no one sleeping p parity disk; Strip parity: XOR () starts listening on port; accept
the memory; Overhead= s.e p + 2
yet .Parent now resumes and goes to of strips in the other disks; ()blocks, waits for 3-way handshake
sleep forever where s=average process size in bytes, capacity=(N − 1) × C; Tolerated to complete, returns a new socket.
p=page size in bytes,√ e=page entry; disk failures without data loss: 1; Client Syscalls connect() specifies
optimised when p = 2se parallelism: read IOPS=(N − 1) × IP address of server, and port number,
Memory Man and Paging starts 3-way handshake; Client’s port
Data Structures for Hole Deadlocks m, write IOPS=min( N m
4 m, 2 ) number chosen dynamically by OS, in
tracking Multi-Resource Deadlock De- 6. RAID5(Distributed Parity the range 1024-65535. DNS Servers
1. BitMap: To keep track of holes. tection nth row of C is current aloca- Drive): Like RAID-4, but par- layer 5; DNS trafic on port 53
0 if hole present, and 1 otherwise. tion to process n, and for R is what ity strips cyclic across disks; Important for Exam
Memeory of M bytes, allocation process n needs. If R32 = 4, ps 3
needs 4 resources of kind 2. Banker’s capacity=(N − 1) × C; paral- 1 GB = 1030 bytes; 1 MB = 1020
unit k bytes, then bitmap uses M k lelism: read IOPS=N × m, write
Algorithm bytes; x++ has the following parts
bits (large). Also searching is very 1. Set all ps as unmarked. loop IOPS= N4m 1. mov eax, [x] ; Load the value of x
slow. 2. Find unmarked process i with
2. Linked list of blocks of struct Faults in RAID If a fault occurs into the EAX register
struct{enum P/H; int start; int Ri ≤ A (i can run) while writting, you need to read the 2. add eax, 1 ; Increment the value in
end} 3. If found: A ← A + Ci ; mark i sectors in the same row, and update EAX by 1
4. Else: all processes are marked: the parity bit. Don’t write to the 3. mov [x], eax ; Store the updated
Memory Management Algoeithm faulted sector that you were trying to.
1. First Fit: pick 1st hole that’s big Sucess value back into x
enough 5. Else: Deadlock Networking Lookout in threading
2. Next Fit: works the same way as Conditions for Deadlock and So-
lutions ISO/OSI Layes(1→7)Physical; void* thread_function(void* arg) {
first fit, except that it keeps track Data Link; Network; Transport; Ses-
of where it is whenever it finds a 1. Mutual Exclusion sem_wait(&semaphore);
2. Hold and Wait - Require processes sion; Presentation; Applications.
suitable hole. The next time it 1. convert bits to signals and vv, // Critical section
is called to find a hole, it starts to request resources before start- // Release the semaphore
searching the list from the place ing; Variation: before requesting a modulation demodulation, coding,
where it left off last time, instead new resource: 1. process must give physical interfaces sem_post(&semaphore);
of always at the beginning, as first up all resources 2. then request all 2. Also called MAC(Medium Access // Continue with other task}
fit does. immediately needed Control); usually over common me-
3. Best Fit: For a process of size 3. Circular Wait Condition - if every dia; controls LAN; unit of ex- 1. At any point you see x++;, it must
s, use smallest hole that has resource has a unique number, a change: Frame; handeles multiple be in critical sec, and when assign-
size(hole) ≥ s. Opposite is Worst process must request resources in access to shared PHY Layer; ureli- ing int num = arg
increasing number order able due to noise 2. sem_wait waits if the semaphore is
Fit.
Overlay Split a program into mul- File Systems 3. unit of exchange: packet; con- 0, if it is 1 it continues for a given
tiple parts, and keep some on the trol operations of multiple net- resource
i-nodes Instead of a global file ta- works; addressing; rounting; 3. sem_post is needed to wake up aux-
disk. Expanding Heap libc uses the ble, each file’s i-node keeps track of
brk/sbrk. unrealiable(out-of-order/dropped illary threads
its own blocks. Total memory (RAM) 4. Give sem=4; A ups and B,C,D,E,F
Multi-level Page Tables 32 bit vir- packets)
needed is proportional to (size of i- down, then all of them go in regrd-
tual address → 10-bit PT1 + 10-bit 4. create a reliable message chan- less of order
PT2 + 12-bit offset. 10-bit =⇒ 1024 node) x (max number of open files). nel between processes; ACKs and
1. The size of inodes is predefined, 5. Priority Based: Say you have
values(4KB). Page Table Entries retransmissions, sequencing and 2 threads, and one has higher
1. present = 1: page in frame and when a file is added, it looks reordering; congestion; source-
for for first empty inode expect destination ports; handshake. priority(Ph /Pl ). Pl enters crticial
2. protection(RWX): read, write, ex- 0(reserved). 5. 5-7: high level protocols; SQL, region and context switch before it
ecute NFS, HTTP exits. Then, Ph tries to go in crit-
3. modified: updated by MMU 2. Each inode is 64 bytes ical region but stuck. Preemted
4. reference = 1 if page was read re- 3. Blocks allocated for inode con- 802.3 Protocol Basics(LAN after some time, but because of
cently tents = inodes_start - bmap_start 802.11) Address: unique 48 bits; higher priority Ph is the one to
Page Replacement Algorithms (sectors) upto 1024 on a net(MAC add); Frame be scheduled again(and again and
1. Optimal: replace page neeeded in 4. Root directory sector = ad- size: 64-1518 bytes Conflict Resolu- again). So deadlock
the furthest point in time drs[0] of inode 1, bytes offset tion 6. Check prsence of reading from or
2. Not recently used: class 0 - R, M ; = addrs[0]×512 1. Backoff: each colliding station i writting to files
class 1 - R, M ; class 2 - R, M ; class 5. Sector containing end of file = last picks random delay di ∈ [0, M − 1] 7. Check which variables are updated
4 - R, M . R set to 0 at each in- non-zero element in addrs[] 2. Exponential Backoff: n colliding Page Table calculations
terrupt. Remove page at random Add more from recitation stations, use M = 2n (guess, start 1. #phys pages = #phy mem space
#page size .
from non-empty low class. with n = 2, diuble everytime)
3. FIFO: ll of pages the way they I/O Devices Hub and Switch networking devices
This is the #page table entries
come into memory Controllers Comms Memory 2. Physical Memeory = m KB, Vir-
4. Second Chance: Holds FIFO, ig- used to connect multiple devices in a tual mem = M KB, Page size = p,
Mapped I/O - 1: special I/O com- network; Hub(layer 1) does not filter, # rows PT2 = y, # rows PT1 = x
nores M and looks for the oldest
mands, I/O ports in r0, 4; 2: I/O reg- 3. PTE: Frame # = log2 ( m
page that was not refernced. bradcasts to all sides; Switch(layer 2) p )
5. Clock Page Replacement: When isters mapped to (physical) memory learns what to filter according to MAC 4. Inside page table
page fault, page at the hand in- addresses. Has a physical “memory
spected. If R = 0, page evicted, address” like B0000000. When this TCP/IP 5. (a) offset = log2 (p)
else clear R and advance handle address appears on the bus, the con- Special IP Addresses [Link] (b) The size of physical memory
6. Least Recetly Used(LRU): with ag- troller responds(read/write to its I/O is ‘this computer’. On a subnet, is # bits in offset + # bits in
ing all-1 IP Address is ‘Broadcast’(eg: in frame
register). Interrupt-Driven I/O File Systems xv6
Working Set Page Replacement Handle the I/O when an interrupt [Link]/26, [Link] is broad-
Algorithm Idea: processes have 1. bitmap This scheme divides the
locality of reference: At any short sent. Takes time; for slow devices. cast). TCP Communication This is disk into fixed-size data blocks.
“time window” in their execution, DMA DMA controller has access to layer 4 The bitmap sector keeps track of
they reference only a small fraction of the bus. Disk Arm Scheduling Al- 1. Want to transfer A → B and block allocation status. Each bit
the pages. gorithms rounter R. Check if IP (B) is di- in the bitmap corresponds to a
1. Shortest Seek First(SSF) Go to re- rect routed or routed through R at data block: 0 indicates the block
1. Each page has R bit and Time-of- quested cylinder that is closest to routing table of A is free, and 1 indicates it is allo-
last-use, an R bit is cleared every the head position 2. If directly rounted, send the packet cated. When creating or extending
clock tick 2. Elevator Algorithm: Go “up” and to B with SYN bit. Else, pass it to a file, the system scans the bitmap
2. At page faults, loop over pages. If service all upward requests; Then R and R passes it to B, bith with for a free block (0) and marks it as
R=1, put current time in Time-of- go “down” and serve the downward SYN bit allocated (1).
last-use. If R=0, calculate age = requests 3. Once B gets the packet, rout it 2. Number of Disk Accesses for
current time - time of last use . If Pre-Fetching Controller often reads back to A with SYN and ACK reading a file If we have 6 di-
age ¿ τ , then page is not in working the whole track into an internal read- bits, either directly (if possible) or rect blocks and 3 indirect, and we
set =⇒ evict ahead cache even if only one sector is thorugh router. The rounter will want to read file/home/isp/exam.
3. If age ¿ τ ̸ ∃, select largets age requested remove SYN bit when giving the doc, which is in the 8th block, then
4. If R=1 ∀, choose page at random Lazy Write Cache Controller copies ACK to A
Translation Lookaside Buffer Transport vs Network Layer Net- we need to read root inode(already
data to ‘write cache’ (usaually RAM)
keep the most frequently used PTE and responds done to OS. Tranfered work Layer: transfer data between in the mem) + root folder [1 ac-
in a cache inside MMU called TLB. It to SSD/ HDD later end systems; Transport Layer: data cess for folder] Then, we need in-
holds cache of mappings. transfer between processes. port ode+folder in the sub directories
Extra entry in TLB not in PTE - Vir- Disk Performance Measures [2×2=4 access]. Then, we read
Transfer Rate = IOPS×Sector Size numbers 16 bit numbers (0-65535).
tual Page Number(VPN). Usually the (Combinations: Read, Write, Seq, Well known port numbers port the inode of file, indirect block,
Reference bit is not included, since a numbers 0-1023 are well known; used and then the requested block[3 ac-
PTE is copied to the TLB when the Random) by ku=1. Sequence Numbers to or-
page is accessed. NOR Flash data and address lines; cesses], so a totla of 8
der and track data packets; they count
byte addressable; can store code- bytes. 3-way handshake 3. FAT Attr 0x01:read-only, 02:hid-
1. first checks to see if its virtual page execute in place(XIP); expensive and 1. Server listens on a port. Client den, 04:OS comp(ls), ¯ 10:dir,
number is present in the TLB by ↑ power; BIOS knows the IP address of the server 20:archive, 08:volumn label