Jan 21, 2009 ... Basic concepts of computer architecture ... “Distributed Systems: Concepts and
Design (4th ... edition)” by George Coulouris, Jean Dollimore,.
1. Sequence 4. CS240. 1. Modern Operating Systems. • Microkernel architecture.
– Assigns only a few essential functions to the kernel. • Address spaces.
explain the structure and functions of an operating system,. – illustrate key ...
Operating Systems — Books iii ... monitor reads job and transfer control. – at end
..... When process terminates its memory returns onto the free list, coalescing
ho
the OS). – microkernel-based: non-basic functions float as servers (there is a
small kernel for the basic functionality). Distributed Systems. A distributed system
is:.
An operating system is a type of system software that manages and controls the resources and computing capability of a computer or a computer network, and ...
explain the structure and functions of an operating system,. – illustrate key ...
Inside Windows 2000 (3rd Ed) or Windows Internals (4th Ed). Solomon D and ...
... providing to help them carry out these tasks. 1 http://www.webopedia.com/
TERM/o/operating_system.html. 2 Operating Systems – 3rd Edition, Gary Nutt pg
4 ...
Overview of Main OS “structures”. 2.1 History of Operating Systems: Change! One
view of change: Typical academic computer in 1981 and 2002. 1981. 2002.
System calls allow user-level processes to request services of he operating
system. 2.2 What are the ... As in all cases of modular design, designing an
operating.
This paper is intended as an introduction to distributed operating systems, and
especially to current university research about them. After a .... model. In a time-
sharing system, whether with one or more processors, the ratio of. CPUs to ...
Example: ( Here index is a pointer to an address ) loop: load .... + Operating
system needed to check if routine is in processes' memory address. .... LONG
TERM.
What is an Operating System? •The most important program that runs on your
computer. It manages all other programs on the machine. •Every PC has to have
...
Other bestselling titles by Andrew S. Tanenbaum. Structured Computer ...
microarchitecture, the instruction set architecture level, operating systems, assem
-.
Linux User Groups, Conferences, Community. Ported Linux to scientific
instrumentation. Worked with MontaVista. Wrote a book on Linux. Joined
Red ...
International Journal of Engineering Technology & Management Research | Vol
1| ... Abstract—The android operating system .... com/papers/android-memory-.
Oct 31, 2005 ... Introduction to Operating systems and a brief history. Hardware ... Operating
Systems by H. M. Deitel, P. J. Deitel and D. R. Choffnes,. Prentice ...
The exercises in this book assume a basic knowledge of both of ... The Windows
XP operating system is a dynamic and continually changing operating ..... Issuing
ls after the mkdir shows the newly created download directory, as shown in blue
.... p
How do we go about acquiring locks to protect regions of memory? • How is
synchronization really used? OPERATING SYSTEM. Synchronization ...
Not all operating systems are on a single CPU s. The nature of the distribution
varies widely s. Thus, so do the possible solutions s. Let's look at such computers
, ...
Mar 5, 2001 - business to science â customers who did a lot of mathematical calculations as well as those who did ....
History of Operating Systems (1). Early batch system. – bring cards to 1401. –
read cards to tape. – put tape on 7094 which does computing. – put tape on 1401
...
Jan 6, 2014 ... Outline. 1. Introduction. 2. Case study: Linux. 3. Multicore. 4. Energy. G. Lipari (
LSV). Scheduling in Operating systems. January 6, 2014. 2 / 25 ...
CSE506: Operating Systems. Working with a File System. • Need to format disk
prior to use. – Write a superblock. • With correct magic number. – Write details ...
Lecture 15: Intro to Demand Paging. (Ch. 9) ... Accesses to a “paged out” page
generates a page fault ... How do we resume a process? – Skip instruction? No!
CS5460: Operating Systems Lecture 15: Intro to Demand Paging (Ch. 9)
CS 5460: Operating Systems
Important From Last Time
Translation Lookaside Buffer (TLB) – These are key to making virtual memory work in real operating systems – Must be fast – If TLB is thrashing performance becomes poor
Multi-level page tables – Also key to making virtual memory work in practice – Up to 4 levels in real systems
– Use disk as slow main memory – Analogous to cache à DRAM
Goal – Memory as large as disk – Memory as fast as DRAM (cache!)
Page Table
Basic idea – Special page table mappings indicate valid mapping, but page not present in RAM right now” – “PFN” specifies location on disk – Accesses to a paged out page generates a page fault – OS reloads page, updates mapping, and resumes process
VP4 VP3 VP2 VP1 VP0
prot0
PFN1
prot1
… PFNn
protn
VP3 VP4 VP2
VP1
VP0
Disk
Physical Memory CS 5460: Operating Systems
PFN0
Demand Paging Implementation
Keep copy of process on disk à some in RAM
Extend page table to include present and valid
Access to paged out data à trap
Inside trap handler: – Check to see if page fault due to bogus address or access to page temporarily paged out to disk – If latter: » Allocate a physical page frame to hold contents (might require another page to be paged out!) » Copy data from disk to allocated page frame (slow!) » Update page table entry » Let process continue (reschedule process, re-execute failed ld/st)
CS 5460: Operating Systems
Issues
Performance – Need lots of locality à otherwise run at disk speeds » If most accesses are to data already in DRAM à works great » Spatial locality: Often access nearby addresses » Temporal locality: Often re-access same addresses again and again
– Analogous to way in which DRAM backs cache(s)
Can support virtual address space > size of DRAM
How do we resume a process? – Skip instruction? No! – Re-execute instruction? Only if no side effects! – Get help from CPU à resumable instructions
Run other processes / threads while servicing the page fault
CS 5460: Operating Systems
Timeline of a Page Fault 1.
Trap to operating system
2.
Save state in PCB
3.
Vector to page fault handler
4.
Check in page table if fault address truly is invalid
5.
Find/create free page frame a. Possibly involves disk write
6.
7.
Schedule other processes / threads while waiting
8.
Take disk interrupt
9.
Update page table
10.
Add process to run queue
11.
Wait for process to be scheduled next
12.
Restore state from PCB
13.
Return from OS
Issue disk read for page a. Wait until request queued at disk controller b. Wait for seek/latency c. Wait for data transfer (DMA)
CS 5460: Operating Systems
Linux page fault handler
CS 5460: Operating Systems
Effective Access Times
What is average access latency? – L1 cache: 2 cycles – L2 cache: 10 cycles – Main memory: 150 cycles – Disk: 10 ms à 30,000,000 cycles on 3.0 GHz processor – Assume access have following characteristics: » 98% handled by L1 cache » 1% handled by L2 cache » 0.99% handled by DRAM » 0.01% cause page fault
– What’s the average access latency?
CS 5460: Operating Systems
Effective Access Times
What is average access latency? – L1 cache: 2 cycles – L2 cache: 10 cycles – Main memory: 150 cycles – Disk: 10 ms à 30,000,000 cycles on 3.0 GHz processor – Assume access have following characteristics: » 98% handled by L1 cache » 1% handled by L2 cache » 0.99% handled by DRAM » 0.01% cause page fault
Moral: Need LOW fault rates to sustain performance!
CS 5460: Operating Systems
More Issues
Page selection policy – When do we load a page?
Page replacement policy – What page(s) do we swap to disk to make room for new pages? – When do we swap pages out to disk?
How do we handle thrashing ?
CS 5460: Operating Systems
Page Selection Policy
Demand paging: – Load page in response to access (page fault) – This is the predominant selection policy
Pre-paging (prefetching) – Predict what pages will be accessed in near future – Prefetch pages in advance of access – Problems: » Hard to predict accurately » Mispredictions can cause useful pages to be replaced
Overlays – Application controls when pages loaded/replaced – Only really relevant now for embedded/real-time systems
CS 5460: Operating Systems
Page Replacement Policies
Random – Works surprisingly well
FIFO (first in, first out) – Throw out oldest pages
MIN (or OPTIMAL) – Throw out page used farthest in the future
LRU (least recently used) – Throw out page not used in longest time
NFU/Clock (not frequently used) – Approximation to LRU à do not throw out recently used pages
CS 5460: Operating Systems
Important From Today
Key ideas – Main memory acts as a cache – Cache misses go do disk – Only use RAM for pages that have been recently accessed
All general-purpose operating systems today use demand paging – You have to understand it to understand Windows, Linux, etc. – If these systems didn’t use demand paging, the exec() system call would be extremely slow