Operating Systems Design Exam 2 Review: Spring 2011

Size: px
Start display at page:

Download "Operating Systems Design Exam 2 Review: Spring 2011"

Transcription

1 Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1

2 Question 1 CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes in memory. c. There is a higher degree of multiprogramming d. Processes perform very little I/O. CPU Utilization = (1 - p n ) Estimate of probability that the CPU is not idle p = probability that the process is waiting on I/O n = degree of multiprogramming More processes in memory higher CPU utilization Fewer processes in memory lower CPU utilization 2

3 Question 2 A major problem with the base & limit approach to memory translation is: a. It requires the process to occupy contiguous memory locations. b. The translation process is time-consuming. c. The translation must be done for each memory reference. d. A process can easily access memory that belongs to another process. (b) Not if done in hardware. (c) Not if done in hardware. (d) No. 3

4 Question 3 Page-based virtual memory is subject to: a. Internal fragmentation. b. External fragmentation. c. Both. d. Neither. External fragmentation = unused memory between allocation units. Internal fragmentation = unused memory within an allocation unit. Page-based VM: fixed-size allocation units 4

5 Question 4 Memory compaction is a technique to: a. Free up unused memory in a process to create more free memory. b. Remove redundant data in a process so it takes up less space in memory. c. Apply real-time data compression to a process memory to reduce its footprint. d. Move a process to a different part of memory to create a larger region of contiguous memory 5

6 Question 5 The difference between base & limit addressing and segmentation is: a. A process may have a discontiguous address space with segmentation. b. A process cannot access another process memory under segmentation. c. Segmentation requires dynamic address translation. d. Segmentation does not have problems with external fragmentation Each segment (code, data, stack, etc.) can be in its own memory region. Each of these regions has to be contiguous b, c, d: apply to base & limit addressing as well. 6

7 Question 6 In contrast to segmentation, paging: a. Requires real-time address translation. b. Requires less memory to store memory address translation tables. c. Divides memory into fixed-size chunks. d. Requires that a process be allocated a contiguous chunk of memory. (a) So does segmentation (b) Segmentation requires a lot less memory for address translation (d) Base & limit (simplest form of segmentation) requires a contiguous chunk of memory; segmentation requires several contiguous chunks (c) Fixed-size chunk of memory: page frame 7

8 Question 7 With a direct mapping paging system on a 32-bit processor with 32 KB pages, what is the size of each process page table? a. 32K entries b. 64K entries c. 128K entries d. 4G entries Page size = 32 KB 15-bit page offset (2 15 = 32K) If offset = 15 bits then the page # in an address is = 17 bits 2 17 = 128K 8

9 Question 8 In contrast to a single-level page table, multilevel page tables: a. Reduce the maximum amount of memory that a process can need for a page table. b. Result in faster page table lookups. c. Allow processes to share regions of memory. d. Typically require much less memory per process. (a) Worst case: you need all the PTEs (= the entire page table) + the index table (b) Multilevel page tables result in slower lookups! (c) So do single-level page tables (d) Processes do not exhibit worst-case use; a typical process has large regions of memory that are not allocated. Hence, multiple partial page tables do not have to be allocated. 9

10 Question 9 A logical address of 0x514413ab on a 32-bit page-based virtual memory system with 4 KB pages has the following offset: a. 0x3ab b. 0x413ab c. 0x51441 d. 0x514 4 KB pages 12-bit offset = bottom three nibbles 10

11 Question 10 Effective memory access time on a TLB miss with a 4-level page table compared with a 2-level page table is: a. 167% the speed of a two-level page table (5/3x slower). b. 200% the speed of a two-level page table (2x slower). c. 60% the speed of a two-level page table (5/3x faster). d. 50% the speed of a two-level page table (2x faster). More levels mean more main memory lookups slower access With a 2-level table: 2 memory accesses for page table walk + 1 memory access for data = 3 memory access cycles With a 4-level table: 4 memory accesses for page table walk + 1 memory access for data = 5 memory access cycles 4-level vs. 2-level: 5 cycles vs. 3 cycles = 5/3 speed 11

12 Question 11 The ARM v7 MMU architecture is best described as: a. Combined direct mapped paging and segmentation. b. Combined associative and direct mapped paging. c. Pure direct mapped paging. d. Pure segmentation. Practically every CPU except for Intel & small microcontrollers uses (b): page-based virtual memory with an associative TLB. 12

13 Question 12 The ideal page replacement algorithm would evict: a. Any page that has not been used since the last periodic interrupt. b. The oldest page. c. The least frequently used page. d. The least recently used page. In the ideal world, we d like to use LRU. Unfortunately, the hardware on MMUs makes this difficult. (a) No distinction between recently used or not. (b) An old page may still be used recently and frequently. (c) A new page that is recently accessed may not have yet had a high frequency of accesses. 13

14 Question 13 If evicted, the following pages do not need to be written to a swap file: a. Program text (pages containing executable code). b. Heap (allocated memory). c. Stack. d. Any of the above must be written to a swap file if evicted. (a): The text segment (program) is not modified and can be reloaded from the program file. It can be evicted without saving the contents. (b), (c): contain data that was written by the user program and must be saved. 14

15 Question 14 Page fault frequency is a way of: a. Measuring the effectiveness (hit ratio) of a TLB. b. Identifying the specific pages that are best targets for eviction. c. Measuring the efficiency of page fault processing within an operating system. d. Ensuring that all processes have their working sets in memory. (a) Page faults occur on an MMU translation failure, not a TLB miss. (b) Page fault frequency is a number that identifies the rate of page faults. It does not identify which pages have not been recently accessed and are good candidates for eviction. (c) Whether you page or not has nothing to do with how efficiently you process a page fault. (d) PFF is one technique for deciding if one process does not have enough of its working set in memory (high PFF) or has too much (low PFF). 15

16 Question 15 Thrashing in a virtual memory system is caused by: a. A process making too many requests for disk I/O. b. Multiple processes requesting disk I/O simultaneously. c. Processes not having their working set resident in memory. d. Slow operating system response to processing a page fault. (a), (b) Improper disk I/O scheduling may cause delays and lead to thrashing BUT the question asks about VM. (c) Not having a WS in memory causes a process to have excessive page faults (high PFF), leading to thrashing. (d) This increases the perceived effects of thrashing. 16

17 Question 16 A buffer cache is used with: a. Character devices. b. Block devices. c. Network devices. d. All categories of devices (a) No. Character device data is not addressable (c) No for the same reason 17

18 Question 17 On POSIX systems, devices are presented as files. When you send an I/O request to such a file, it goes: a. to the device driver that was identified in the metadata of the file when it was opened. b. to the device driver, which is contained within data of the device file. c. to the device driver based on the major and minor numbers contained in the file s data. d. the file system driver (module), which then interprets it as a device request. (b) The device driver is not stored in the device file. The device file has no data. (c) The file has no data, just metadata. (d) Once the file is identified as a device file, I/O requests do not go through the file system driver. Character drivers implement file_operations for VFS. 18

19 Question 18 When a user process makes a system call, the kernel code is run in the: a. User context. b. Kernel context. c. Interrupt context. d. Device context. (a) Process-related requests are run in kernel mode in the user context. (b) Kernel threads run in the kernel context. (c) Asynchronous device interrupts are handled in interrupt context. (d) No such thing. 19

20 Question 19 A buffer cache: a. Allows user programs to read and write byte streams when the back-end device supports only block I/O. b. Stores frequently used blocks of data. c. Is an intermediate place for data to reside between the user program and device driver. d. All of the above. 20

21 Question 20 What data identifies the device driver that should be used for a specific device? a. Major number. b. Major number, minor number. c. Device type (block or character), major number. d. Device type (block or character), major number, minor number. (a) No. Need to identify the device table: block or character. (b) No. Need to identify the device table: block or character. (c) Yes. (d) TMI. The minor number is interpreted only within the context of the device driver. 21

22 Question 21 Interrupt handling is separated into two parts to: a. minimize the amount of work done in the interrupt service routine. b. separate generic interrupt processing operations from devicespecific ones. c. allow a user process to handle all non-critical parts of interrupt processing. d. make the code more modular. (a) Yes. Anything that requires a lot of work or sleeping is handled by a kernel worker thread (bottom half). Immediate service is handled by the top half. (b) Yes, but this isn t the 2-part separation of handling an interrupt. (c) No. (d) Sometimes. 22

23 Question 22 The purpose of device frameworks is to: a. Allow devices to present themselves as dynamically loaded modules. b. Provide an alternate interface to devices that don t fit the character or block model. c. Ensure that devices can properly implement a file interface. d. Provide a well-defined set of interfaces for specific device types (a) Device drivers do this without frameworks. (b) Devices have to fit the block, character, or network interface. Frameworks only extend it. (c) No. (d) Yes. 23

24 Question 23 Disk scheduling algorithms try to minimize the effects of: a. Seek time. b. Rotational latency. c. Transfer rate. d. All of the above. (a) Yes. Seek time is by far the dominant performance factor of a disk. Disk scheduling algorithms try to sort requests to minimize unnecessary seeks. (b) They used to try to do this, but it was a distant #2 to (a). (c) Can t address this with a disk scheduling algorithm. (d) No. 24

25 Question 24 A system has the following blocks queued for writing: 8000, 3000, 5000, The most recently written block was The block read before that was What sequence of writes will a Circular-LOOK (or C-SCAN) algorithm generate? a. 5000, 8000, 3000, 2000 LOOK b. 5000, 8000, 2000, 3000 C-LOOK c. 5000, 3000, 2000, 8000 SSTF d. 8000, 3000, 5000, 2000 FCFS Previous block access was 2500, then 4500 Disk direction = toward higher blocks C-LOOK schedules requests to higher blocks, then goes to the lowest block and starts scheduling all over. LOOK also schedules I/O as we move from high to low. 25

26 Question 25 The VFS interface to set a file s attributes is present in this component: a. inode b. dentry c. file d. superblock (a) Inodes hold metadata about the file. (b) Dentries hold directory contents. (c) File contains info about the status of an file (contents). (d) Superblock contains info about the file system. 26

27 Question 26 Which of the following is not a valid function in the file_operations interface for the VFS file object? a. open b. lock c. rename d. write file_operations interact with the VFS file object: info about the file contents. Rename operates on metadata. 27

28 Question 27 An inode-based file system that contains i indirect blocks, has a block size of b bytes, and the length of a block pointer is p bytes. The maximum file size is: a. ib 3 /p b. ib 2 /p 2 c. ib/p d. ib 2 /p inode Direct block Direct block Direct block Direct block Direct block # entries = b/p Data (b bytes) metadata Direct block Direct block Indirect block One disk block b bytes b/p entries Capacity of each indirect block: (b/p)b i Indirect block Indirect block Capacity: i(b/p)b 28

29 Question 28 Microsoft s FAT32 file system is an example of: a. Contiguous allocation. b. Linked allocation. c. Indexed allocation. d. Combined indexing. The FAT contains a sequence of links to define the allocation of each file. The directory entry contains the starting block. 29

30 Question 29 Block groups in the ext2 file system primarily serve to: a. Improve the reliability of file storage. b. Provide better wear leveling. c. Reduce seek latency when accessing files. d. Reduce rotational latency when accessing files (a) No. (b) No. (c) Berkeley FSS idea: try to allocate disk blocks in the same group as an inode to reduce seek time when accessing a file or related files. (d) No. 30

31 Question 30 Differing from full data journaling, ordered journaling: a. Does not ensure that the file system is kept in a consistent state. b. Ensures that journal entries appear in the exact same order as file operations are issued. c. Does not perform journaling for all files. d. Commits a journal entry after writing file data. (a) File data may be undefined in some cases, but the FS is consistent (no unaccounted for blocks or doubly-referenced blocks). (b) No different than full data journaling. (c) No & no different than full data journaling. (d) Yes. Data blocks are committed to the disk before the journal entry is committed. 31

32 Question 31 Differing from its predecessor, ext3, the ext4 file system: a. Uses block groups. b. Uses extents instead of cluster pointers. c. Allows journaling to be enabled. d. No longer uses inodes (a) Used by BSD FFS, ext2, ext3, ext4. (b) Yes, arranged in an Htree to speed up seeks. (c) Yes, but so does ext3. (d) No. It still uses inodes to store file metadata. 32

33 Question 32 The logs in a log structured file system such as YAFFS2 differ from journaling in that: a. Logs are the primary storage structure of the file system. b. Logs are cleared after the data writes associated with them are complete. c. Logs improve the integrity of the file system. d. A sequence of logs represents an indivisible transaction. (a) Yes. All file system operations are just log writes. (b) No. The logs make up the file system. (c) No. (d) No. There is no concept of transactions with LFS. 33

34 Question 33 Many mobile devices running Android OS use the YAFFS2 file system because it: a. Provides wear leveling. b. Is transaction-oriented for reliability. c. Allows systems to boot quickly. d. Avoids the overhead of more complex file systems such as ext4 or FAT32. (a) Yes. This is the primary motivator. Most phones & tablets use unmanaged NAND flash. (b) No. (c) YAFFS boots quicker than other log-structured file systems since it doesn t need to be scanned to reconstruct the FS if it was unmounted previously. It s not better than other non-log-structured file systems. (d) Not really. The LFS overhead is greater. 34

35 Question 34 A TLB miss will cause a page fault to occur. True False False. It will result in a page table walk. If the page table entry (PTE) is not valid, then a page fault will occur. 35

36 Question 35 A device driver is responsible for implementing the mechanism & policy for device access. True False False. Device drivers implement mechanism only. 36

37 Question 36 A cluster is a series of extents. True False False. A cluster is the smallest allocatable unit of storage on a disk. 1 cluster = N blocks, defined by the file sytem. An extent is a variable number of consecutive clusters. 37

38 Question 37 C-SCAN disk read/write scheduling has no benefit on NAND flash memory. True False True. Disk scheduling algorithms try to minimize seek time. There is no concept of seek time on NAND flash memory. 38

39 Question 38 Block groups in the ext2/3/4 file systems have no benefit on NAND flash memory. True False True. Block groups were created to minimize seek time: to group allocated data blocks close to the inodes (files) and directory files that reference them. Block groups actually hurt NAND flash memory since they encourage frequent reuse of the same blocks. 39

CS 416: Opera-ng Systems Design March 23, 2012

CS 416: Opera-ng Systems Design March 23, 2012 Question 1 Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes

More information

Operating Systems Design Exam 2 Review: Fall 2010

Operating Systems Design Exam 2 Review: Fall 2010 Operating Systems Design Exam 2 Review: Fall 2010 Paul Krzyzanowski pxk@cs.rutgers.edu 1 1. Why could adding more memory to a computer make it run faster? If processes don t have their working sets in

More information

Operating Systems Design Exam 2 Review: Spring 2012

Operating Systems Design Exam 2 Review: Spring 2012 Operating Systems Design Exam 2 Review: Spring 2012 Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 Under what conditions will you reach a point of diminishing returns where adding more memory may improve

More information

Operating Systems. Week 9 Recitation: Exam 2 Preview Review of Exam 2, Spring Paul Krzyzanowski. Rutgers University.

Operating Systems. Week 9 Recitation: Exam 2 Preview Review of Exam 2, Spring Paul Krzyzanowski. Rutgers University. Operating Systems Week 9 Recitation: Exam 2 Preview Review of Exam 2, Spring 2014 Paul Krzyzanowski Rutgers University Spring 2015 March 27, 2015 2015 Paul Krzyzanowski 1 Exam 2 2012 Question 2a One of

More information

CS 416: Opera-ng Systems Design May 2, 2012

CS 416: Opera-ng Systems Design May 2, 2012 Question 1 Under what conditions will you reach a point of diminishing returns where adding more memory may improve performance only a little? Operating Systems Design Exam 2 Review: Spring 2012 When there

More information

Operating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015

Operating Systems. 09. Memory Management Part 1. Paul Krzyzanowski. Rutgers University. Spring 2015 Operating Systems 09. Memory Management Part 1 Paul Krzyzanowski Rutgers University Spring 2015 March 9, 2015 2014-2015 Paul Krzyzanowski 1 CPU Access to Memory The CPU reads instructions and reads/write

More information

File System Internals. Jo, Heeseung

File System Internals. Jo, Heeseung File System Internals Jo, Heeseung Today's Topics File system implementation File descriptor table, File table Virtual file system File system design issues Directory implementation: filename -> metadata

More information

a process may be swapped in and out of main memory such that it occupies different regions

a process may be swapped in and out of main memory such that it occupies different regions Virtual Memory Characteristics of Paging and Segmentation A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory Memory references are dynamically

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L20 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time Page

More information

Chapter 8 Virtual Memory

Chapter 8 Virtual Memory Chapter 8 Virtual Memory Contents Hardware and control structures Operating system software Unix and Solaris memory management Linux memory management Windows 2000 memory management Characteristics of

More information

CS399 New Beginnings. Jonathan Walpole

CS399 New Beginnings. Jonathan Walpole CS399 New Beginnings Jonathan Walpole Memory Management Memory Management Memory a linear array of bytes - Holds O.S. and programs (processes) - Each cell (byte) is named by a unique memory address Recall,

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program

More information

Memory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time.

Memory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Memory Management To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Basic CPUs and Physical Memory CPU cache Physical memory

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 23 Virtual memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Is a page replaces when

More information

Virtual Memory. Chapter 8

Virtual Memory. Chapter 8 Virtual Memory 1 Chapter 8 Characteristics of Paging and Segmentation Memory references are dynamically translated into physical addresses at run time E.g., process may be swapped in and out of main memory

More information

OPERATING SYSTEM. Chapter 9: Virtual Memory

OPERATING SYSTEM. Chapter 9: Virtual Memory OPERATING SYSTEM Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory

More information

Computer Systems Laboratory Sungkyunkwan University

Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

CISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College

CISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College CISC 7310X C08: Virtual Memory Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/22/2018 CUNY Brooklyn College 1 Outline Concepts of virtual address space, paging, virtual page,

More information

CSE 120. Translation Lookaside Buffer (TLB) Implemented in Hardware. July 18, Day 5 Memory. Instructor: Neil Rhodes. Software TLB Management

CSE 120. Translation Lookaside Buffer (TLB) Implemented in Hardware. July 18, Day 5 Memory. Instructor: Neil Rhodes. Software TLB Management CSE 120 July 18, 2006 Day 5 Memory Instructor: Neil Rhodes Translation Lookaside Buffer (TLB) Implemented in Hardware Cache to map virtual page numbers to page frame Associative memory: HW looks up in

More information

Final Exam Preparation Questions

Final Exam Preparation Questions EECS 678 Spring 2013 Final Exam Preparation Questions 1 Chapter 6 1. What is a critical section? What are the three conditions to be ensured by any solution to the critical section problem? 2. The following

More information

CS6401- Operating System UNIT-III STORAGE MANAGEMENT

CS6401- Operating System UNIT-III STORAGE MANAGEMENT UNIT-III STORAGE MANAGEMENT Memory Management: Background In general, to rum a program, it must be brought into memory. Input queue collection of processes on the disk that are waiting to be brought into

More information

Operating Systems. Lecture File system implementation. Master of Computer Science PUF - Hồ Chí Minh 2016/2017

Operating Systems. Lecture File system implementation. Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Operating Systems Lecture 7.2 - File system implementation Adrien Krähenbühl Master of Computer Science PUF - Hồ Chí Minh 2016/2017 Design FAT or indexed allocation? UFS, FFS & Ext2 Journaling with Ext3

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2015-2016, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

Operating Systems Lecture 6: Memory Management II

Operating Systems Lecture 6: Memory Management II CSCI-GA.2250-001 Operating Systems Lecture 6: Memory Management II Hubertus Franke frankeh@cims.nyu.edu What is the problem? Not enough memory Have enough memory is not possible with current technology

More information

Operating Systems. Operating Systems Professor Sina Meraji U of T

Operating Systems. Operating Systems Professor Sina Meraji U of T Operating Systems Operating Systems Professor Sina Meraji U of T How are file systems implemented? File system implementation Files and directories live on secondary storage Anything outside of primary

More information

Outline. 1 Paging. 2 Eviction policies. 3 Thrashing 1 / 28

Outline. 1 Paging. 2 Eviction policies. 3 Thrashing 1 / 28 Outline 1 Paging 2 Eviction policies 3 Thrashing 1 / 28 Paging Use disk to simulate larger virtual than physical mem 2 / 28 Working set model # of accesses virtual address Disk much, much slower than memory

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 24 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time How

More information

Da-Wei Chang CSIE.NCKU. Professor Hao-Ren Ke, National Chiao Tung University Professor Hsung-Pin Chang, National Chung Hsing University

Da-Wei Chang CSIE.NCKU. Professor Hao-Ren Ke, National Chiao Tung University Professor Hsung-Pin Chang, National Chung Hsing University Chapter 11 Implementing File System Da-Wei Chang CSIE.NCKU Source: Professor Hao-Ren Ke, National Chiao Tung University Professor Hsung-Pin Chang, National Chung Hsing University Outline File-System Structure

More information

Chapter 10: Case Studies. So what happens in a real operating system?

Chapter 10: Case Studies. So what happens in a real operating system? Chapter 10: Case Studies So what happens in a real operating system? Operating systems in the real world Studied mechanisms used by operating systems Processes & scheduling Memory management File systems

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University Chapter 10: File System Chapter 11: Implementing File-Systems Chapter 12: Mass-Storage

More information

Operating Systems. File Systems. Thomas Ropars.

Operating Systems. File Systems. Thomas Ropars. 1 Operating Systems File Systems Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2017 2 References The content of these lectures is inspired by: The lecture notes of Prof. David Mazières. Operating

More information

File system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems

File system internals Tanenbaum, Chapter 4. COMP3231 Operating Systems File system internals Tanenbaum, Chapter 4 COMP3231 Operating Systems Architecture of the OS storage stack Application File system: Hides physical location of data on the disk Exposes: directory hierarchy,

More information

Chapter 8: Virtual Memory. Operating System Concepts

Chapter 8: Virtual Memory. Operating System Concepts Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2009 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Design of Operating System

Design of Operating System Design of Operating System Architecture OS protection, modes/privileges User Mode, Kernel Mode https://blog.codinghorror.com/understanding-user-and-kernel-mode/ a register of flag to record what mode the

More information

2 nd Half. Memory management Disk management Network and Security Virtual machine

2 nd Half. Memory management Disk management Network and Security Virtual machine Final Review 1 2 nd Half Memory management Disk management Network and Security Virtual machine 2 Abstraction Virtual Memory (VM) 4GB (32bit) linear address space for each process Reality 1GB of actual

More information

Virtual Memory Management

Virtual Memory Management Virtual Memory Management CS-3013 Operating Systems Hugh C. Lauer (Slides include materials from Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum and from Operating

More information

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition

Chapter 8: Memory- Management Strategies. Operating System Concepts 9 th Edition Chapter 8: Memory- Management Strategies Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation

More information

Operating Systems. Overview Virtual memory part 2. Page replacement algorithms. Lecture 7 Memory management 3: Virtual memory

Operating Systems. Overview Virtual memory part 2. Page replacement algorithms. Lecture 7 Memory management 3: Virtual memory Operating Systems Lecture 7 Memory management : Virtual memory Overview Virtual memory part Page replacement algorithms Frame allocation Thrashing Other considerations Memory over-allocation Efficient

More information

Operating Systems. Operating Systems Sina Meraji U of T

Operating Systems. Operating Systems Sina Meraji U of T Operating Systems Operating Systems Sina Meraji U of T Recap Last time we looked at memory management techniques Fixed partitioning Dynamic partitioning Paging Example Address Translation Suppose addresses

More information

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Chapter 8 & Chapter 9 Main Memory & Virtual Memory Chapter 8 & Chapter 9 Main Memory & Virtual Memory 1. Various ways of organizing memory hardware. 2. Memory-management techniques: 1. Paging 2. Segmentation. Introduction Memory consists of a large array

More information

Chapter 9 Memory Management

Chapter 9 Memory Management Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

File Systems. ECE 650 Systems Programming & Engineering Duke University, Spring 2018

File Systems. ECE 650 Systems Programming & Engineering Duke University, Spring 2018 File Systems ECE 650 Systems Programming & Engineering Duke University, Spring 2018 File Systems Abstract the interaction with important I/O devices Secondary storage (e.g. hard disks, flash drives) i.e.

More information

CSE 4/521 Introduction to Operating Systems. Lecture 27 (Final Exam Review) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 27 (Final Exam Review) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 27 (Final Exam Review) Summer 2018 Overview Objective: Revise topics and questions for the final-exam. 1. Main Memory 2. Virtual Memory 3. Mass Storage

More information

Chapter 12: File System Implementation

Chapter 12: File System Implementation Chapter 12: File System Implementation Silberschatz, Galvin and Gagne 2013 Chapter 12: File System Implementation File-System Structure File-System Implementation Allocation Methods Free-Space Management

More information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

Chapter 3 - Memory Management

Chapter 3 - Memory Management Chapter 3 - Memory Management Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Memory Management 1 / 222 1 A Memory Abstraction: Address Spaces The Notion of an Address Space Swapping

More information

Virtual Memory Outline

Virtual Memory Outline Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples

More information

Memory Management. Dr. Yingwu Zhu

Memory Management. Dr. Yingwu Zhu Memory Management Dr. Yingwu Zhu Big picture Main memory is a resource A process/thread is being executing, the instructions & data must be in memory Assumption: Main memory is infinite Allocation of memory

More information

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23

FILE SYSTEMS. CS124 Operating Systems Winter , Lecture 23 FILE SYSTEMS CS124 Operating Systems Winter 2015-2016, Lecture 23 2 Persistent Storage All programs require some form of persistent storage that lasts beyond the lifetime of an individual process Most

More information

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES

CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES CHAPTER 8 - MEMORY MANAGEMENT STRATEGIES OBJECTIVES Detailed description of various ways of organizing memory hardware Various memory-management techniques, including paging and segmentation To provide

More information

22 File Structure, Disk Scheduling

22 File Structure, Disk Scheduling Operating Systems 102 22 File Structure, Disk Scheduling Readings for this topic: Silberschatz et al., Chapters 11-13; Anderson/Dahlin, Chapter 13. File: a named sequence of bytes stored on disk. From

More information

Disks and I/O Hakan Uraz - File Organization 1

Disks and I/O Hakan Uraz - File Organization 1 Disks and I/O 2006 Hakan Uraz - File Organization 1 Disk Drive 2006 Hakan Uraz - File Organization 2 Tracks and Sectors on Disk Surface 2006 Hakan Uraz - File Organization 3 A Set of Cylinders on Disk

More information

Chapter 9: Virtual Memory. Operating System Concepts 9th Edition

Chapter 9: Virtual Memory. Operating System Concepts 9th Edition Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

Operating System Concepts

Operating System Concepts Chapter 9: Virtual-Memory Management 9.1 Silberschatz, Galvin and Gagne 2005 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped

More information

Chapter 8: Memory-Management Strategies

Chapter 8: Memory-Management Strategies Chapter 8: Memory-Management Strategies Chapter 8: Memory Management Strategies Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

More information

Chapter 10: Virtual Memory

Chapter 10: Virtual Memory Chapter 10: Virtual Memory Chapter 10: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations

More information

Address spaces and memory management

Address spaces and memory management Address spaces and memory management Review of processes Process = one or more threads in an address space Thread = stream of executing instructions Address space = memory space used by threads Address

More information

Week 2: Tiina Niklander

Week 2: Tiina Niklander Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Policies and methods Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka

More information

Perform page replacement. (Fig 8.8 [Stal05])

Perform page replacement. (Fig 8.8 [Stal05]) Virtual memory Operations and policies Chapters 3.4. 3.7 1 Policies and methods Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka ) Where to place the new

More information

FILE SYSTEMS, PART 2. CS124 Operating Systems Fall , Lecture 24

FILE SYSTEMS, PART 2. CS124 Operating Systems Fall , Lecture 24 FILE SYSTEMS, PART 2 CS124 Operating Systems Fall 2017-2018, Lecture 24 2 Last Time: File Systems Introduced the concept of file systems Explored several ways of managing the contents of files Contiguous

More information

CS 550 Operating Systems Spring File System

CS 550 Operating Systems Spring File System 1 CS 550 Operating Systems Spring 2018 File System 2 OS Abstractions Process: virtualization of CPU Address space: virtualization of memory The above to allow a program to run as if it is in its own private,

More information

CS 31: Intro to Systems Virtual Memory. Kevin Webb Swarthmore College November 15, 2018

CS 31: Intro to Systems Virtual Memory. Kevin Webb Swarthmore College November 15, 2018 CS 31: Intro to Systems Virtual Memory Kevin Webb Swarthmore College November 15, 2018 Reading Quiz Memory Abstraction goal: make every process think it has the same memory layout. MUCH simpler for compiler

More information

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed. File-System Structure File structure Logical storage unit Collection of related information File

More information

Memory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources

Memory Management Topics. CS 537 Lecture 11 Memory. Virtualizing Resources Memory Management Topics CS 537 Lecture Memory Michael Swift Goals of memory management convenient abstraction for programming isolation between processes allocate scarce memory resources between competing

More information

Basic Memory Management

Basic Memory Management Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester 10/15/14 CSC 2/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it

More information

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

File System Internals. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University File System Internals Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics File system implementation File descriptor table, File table

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,

More information

Virtual Memory. Reading: Silberschatz chapter 10 Reading: Stallings. chapter 8 EEL 358

Virtual Memory. Reading: Silberschatz chapter 10 Reading: Stallings. chapter 8 EEL 358 Virtual Memory Reading: Silberschatz chapter 10 Reading: Stallings chapter 8 1 Outline Introduction Advantages Thrashing Principal of Locality VM based on Paging/Segmentation Combined Paging and Segmentation

More information

Operating Systems, Fall

Operating Systems, Fall Policies and methods Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka

More information

Disk Scheduling COMPSCI 386

Disk Scheduling COMPSCI 386 Disk Scheduling COMPSCI 386 Topics Disk Structure (9.1 9.2) Disk Scheduling (9.4) Allocation Methods (11.4) Free Space Management (11.5) Hard Disk Platter diameter ranges from 1.8 to 3.5 inches. Both sides

More information

Question Points Score Total 100

Question Points Score Total 100 Midterm #2 CMSC 412 Operating Systems Fall 2005 November 22, 2004 Guidelines This exam has 7 pages (including this one); make sure you have them all. Put your name on each page before starting the exam.

More information

Operating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein

Operating Systems and Computer Networks. Memory Management. Dr.-Ing. Pascal A. Klein Operating Systems and Computer Networks Memory Management pascal.klein@uni-due.de Alexander Maxeiner, M.Sc. Faculty of Engineering Agenda 1 Swapping 2 Segmentation Algorithms 3 Memory Allocation 4 Virtual

More information

Chapter 11: File System Implementation. Objectives

Chapter 11: File System Implementation. Objectives Chapter 11: File System Implementation Objectives To describe the details of implementing local file systems and directory structures To describe the implementation of remote file systems To discuss block

More information

First-In-First-Out (FIFO) Algorithm

First-In-First-Out (FIFO) Algorithm First-In-First-Out (FIFO) Algorithm Reference string: 7,0,1,2,0,3,0,4,2,3,0,3,0,3,2,1,2,0,1,7,0,1 3 frames (3 pages can be in memory at a time per process) 15 page faults Can vary by reference string:

More information

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

EECE.4810/EECE.5730: Operating Systems Spring 2017

EECE.4810/EECE.5730: Operating Systems Spring 2017 EECE.4810/EECE.5730: Operating Systems Spring 2017 1. (16 points) Storage devices Final Exam Solution Assume you have a magnetic hard disk with tracks numbered from 0-127, track 0 being the outermost track.

More information

Chapter 8: Main Memory. Operating System Concepts 9 th Edition

Chapter 8: Main Memory. Operating System Concepts 9 th Edition Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

CS 5523 Operating Systems: Memory Management (SGG-8)

CS 5523 Operating Systems: Memory Management (SGG-8) CS 5523 Operating Systems: Memory Management (SGG-8) Instructor: Dr Tongping Liu Thank Dr Dakai Zhu, Dr Palden Lama, and Dr Tim Richards (UMASS) for providing their slides Outline Simple memory management:

More information

CS3600 SYSTEMS AND NETWORKS

CS3600 SYSTEMS AND NETWORKS CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 11: File System Implementation Prof. Alan Mislove (amislove@ccs.neu.edu) File-System Structure File structure Logical storage unit Collection

More information

V. File System. SGG9: chapter 11. Files, directories, sharing FS layers, partitions, allocations, free space. TDIU11: Operating Systems

V. File System. SGG9: chapter 11. Files, directories, sharing FS layers, partitions, allocations, free space. TDIU11: Operating Systems V. File System SGG9: chapter 11 Files, directories, sharing FS layers, partitions, allocations, free space TDIU11: Operating Systems Ahmed Rezine, Linköping University Copyright Notice: The lecture notes

More information

Operating System Concepts 9 th Edition

Operating System Concepts 9 th Edition Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Process size is independent of the main memory present in the system.

Process size is independent of the main memory present in the system. Hardware control structure Two characteristics are key to paging and segmentation: 1. All memory references are logical addresses within a process which are dynamically converted into physical at run time.

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 21 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Why not increase page size

More information

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming

More information

File. File System Implementation. Operations. Permissions and Data Layout. Storing and Accessing File Data. Opening a File

File. File System Implementation. Operations. Permissions and Data Layout. Storing and Accessing File Data. Opening a File File File System Implementation Operating Systems Hebrew University Spring 2007 Sequence of bytes, with no structure as far as the operating system is concerned. The only operations are to read and write

More information

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Memory management, part 2: outline

Memory management, part 2: outline Memory management, part 2: outline Page replacement algorithms Modeling PR algorithms o Working-set model and algorithms Virtual memory implementation issues 1 Page Replacement Algorithms Page fault forces

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel

More information

Course Outline. Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems

Course Outline. Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems Course Outline Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems 1 Today: Memory Management Terminology Uniprogramming Multiprogramming Contiguous

More information

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts

Memory management. Last modified: Adaptation of Silberschatz, Galvin, Gagne slides for the textbook Applied Operating Systems Concepts Memory management Last modified: 26.04.2016 1 Contents Background Logical and physical address spaces; address binding Overlaying, swapping Contiguous Memory Allocation Segmentation Paging Structure of

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 22 File Systems Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Disk Structure Disk can

More information

Chapter 8 Virtual Memory

Chapter 8 Virtual Memory Operating Systems: Internals and Design Principles Chapter 8 Virtual Memory Seventh Edition William Stallings Modified by Rana Forsati for CSE 410 Outline Principle of locality Paging - Effect of page

More information

Chapter 8: Main Memory

Chapter 8: Main Memory Chapter 8: Main Memory Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Segmentation Paging Structure of the Page Table Example: The Intel 32 and 64-bit Architectures Example:

More information

OPERATING SYSTEM. Chapter 12: File System Implementation

OPERATING SYSTEM. Chapter 12: File System Implementation OPERATING SYSTEM Chapter 12: File System Implementation Chapter 12: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 33 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How does the virtual

More information

CS 153 Design of Operating Systems Winter 2016

CS 153 Design of Operating Systems Winter 2016 CS 153 Design of Operating Systems Winter 2016 Lecture 16: Memory Management and Paging Announcement Homework 2 is out To be posted on ilearn today Due in a week (the end of Feb 19 th ). 2 Recap: Fixed

More information

Virtual Memory Design and Implementation

Virtual Memory Design and Implementation Virtual Memory Design and Implementation To do q Page replacement algorithms q Design and implementation issues q Next: Last on virtualization VMMs Loading pages When should the OS load pages? On demand

More information

Chapter 11: Implementing File Systems

Chapter 11: Implementing File Systems Silberschatz 1 Chapter 11: Implementing File Systems Thursday, November 08, 2007 9:55 PM File system = a system stores files on secondary storage. A disk may have more than one file system. Disk are divided

More information