Lecture 13 Page 1 CS 111 Online File Systems: Introduction CS 111 On-Line MS Program Operating Systems Peter Reiher.

Slides:



Advertisements
Similar presentations
IT253: Computer Organization
Advertisements

Interactive lesson about operating system
Free Space and Allocation Issues
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
Disk Drivers May 10, 2000 Instructor: Gary Kimura.
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (4) File Management & Input/Out Systems 10/14/2008 Yang Song (Prepared.
Computer ArchitectureFall 2007 © November 7th, 2007 Majd F. Sakr CS-447– Computer Architecture.
Chapter 1: Introduction
Lecture 1: Introduction CS170 Spring 2015 Chapter 1, the text book. T. Yang.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Secondary Storage Management Hank Levy. 8/7/20152 Secondary Storage • Secondary Storage is usually: –anything outside of “primary memory” –storage that.
Computers They're Not Magic! (for the most part)‏ Adapted from Ryan Moore.
Instructions Slides 3,4,5 are general questions that you should be able to answer. Use slides 6-27 to answer the questions. Write your answers in a separate.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Storage System: RAID Questions answered in this lecture: What is RAID? How does one trade-off between: performance, capacity, and reliability? What is.
Lecture 19 Page 1 CS 111 Online Security for Operating Systems: Cryptography, Authentication, and Protecting OS Resources CS 111 On-Line MS Program Operating.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Basic Input Output System
Comp 335 – File Structures Why File Structures?. Goal of the Class To develop an understanding of the file I/O process. Software must be able to interact.
Processes and OS basics. RHS – SOC 2 OS Basics An Operating System (OS) is essentially an abstraction of a computer As a user or programmer, I do not.
Lecture 10 Page 1 CS 111 Summer 2013 File Systems: Introduction CS 111 Operating Systems Peter Reiher.
Inside your computer. Hardware Review Motherboard Processor / CPU Bus Bios chip Memory Hard drive Video Card Sound Card Monitor/printer Ports.
Fall 2000M.B. Ibáñez Lecture 22 File-System I File Concept.
Lecture 11 Page 1 CS 111 Online Memory Management: Paging and Virtual Memory CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 3 Page 1 CS 111 Online Disk Drives An especially important and complex form of I/O device Still the primary method of providing stable storage.
UNIX and Shell Programming
CS4432: Database Systems II Data Storage 1. Storage in DBMSs DBMSs manage large amounts of data How does a DBMS store and manage large amounts of data?
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
12/18/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam.
Disk Basics CS Introduction to Operating Systems.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
File Systems: Introduction CS 111 Operating Systems Peter Reiher
Lecture 7 Page 1 CS 111 Online Process Communications and Concurrency CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 14 Page 1 CS 111 Summer 2013 Security in Operating Systems: Basics CS 111 Operating Systems Peter Reiher.
Lecture 3 Page 1 CS 236 Online Security Mechanisms CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Lecture 10 Page 1 CS 111 Online Memory Management CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 4 Page 1 CS 111 Online Modularity and Memory Clearly, programs must have access to memory We need abstractions that give them the required access.
7.1 Operating Systems. 7.2 A computer is a system composed of two major components: hardware and software. Computer hardware is the physical equipment.
Lecture 9 Page 1 CS 111 Summer 2015 File Systems CS 111 Operating System Principles Peter Reiher.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
UNIX U.Y: 1435/1436 H Operating System Concept. What is an Operating System?  The operating system (OS) is the program which starts up when you turn.
Once you have been through these notes you will need to complete the workbook.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Storage Systems CSE 598d, Spring 2007 Lecture 13: File Systems March 8, 2007.
Lecture 13 Page 1 CS 111 Online Basics of File System Design Where do file systems fit in the OS? File control data structures.
Welcome to Intro to Operating Systems Course Website:
Computer System Structures Storage
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Outline Basic concepts in computer security
File Systems: Introduction CS 111 Operating Systems Peter Reiher
Outline Paging Swapping and demand paging Virtual memory.
Outline File systems: Basic elements of file system design
Chapter 2: System Structures
Swapping Segmented paging allows us to have non-contiguous allocations
Introduction to Computers
Modularity and Memory Clearly, programs must have access to memory
Lesson Objectives Aims You should be able to:
COT 5611 Operating Systems Design Principles Spring 2014
COT 5611 Operating Systems Design Principles Spring 2012
O.S Lecture 13 Virtual Memory.
Secondary Storage Management Brian Bershad
CSE 451: Operating Systems Winter 2012 Redundant Arrays of Inexpensive Disks (RAID) and OS structure Mark Zbikowski Gary Kimura 1.
Outline Chapter 2 (cont) OS Design OS structure
Secondary Storage Management Hank Levy
Lecture 29: File Systems (cont'd)
Outline File systems: Basic elements of file system design
Presentation transcript:

Lecture 13 Page 1 CS 111 Online File Systems: Introduction CS 111 On-Line MS Program Operating Systems Peter Reiher

Lecture 13 Page 2 CS 111 Online Outline File systems: – Why do we need them? – Why are they challenging? Basic elements of file system design Designing file systems for disks – Basic issues – Free space, allocation, and deallocation

Lecture 13 Page 3 CS 111 Online Introduction Most systems need to store data persistently – So it’s still there after reboot, or even power down Typically a core piece of functionality for the system – Which is going to be used all the time Even the operating system itself needs to be stored this way So we must store some data persistently

Lecture 13 Page 4 CS 111 Online Our Persistent Data Options Use raw disk blocks to store the data – Those make no sense to users – Not even easy for OS developers to work with Use a database to store the data – Probably more structure (and possibly overhead) than we need or can afford Use a file system – Some organized way of structuring persistent data – Which makes sense to users and programmers

Lecture 13 Page 5 CS 111 Online File Systems Originally the computer equivalent of a physical filing cabinet Put related sets of data into individual containers Put them all into an overall storage unit Organized by some simple principle – E.g., alphabetically by title – Or chronologically by date Goal is to provide: – Persistence – Ease of access – Good performance

Lecture 13 Page 6 CS 111 Online The Basic File System Concept Organize data into natural coherent units – Like a paper, a spreadsheet, a message, a program Store each unit as its own self-contained entity – A file – Store each file in a way allowing efficient access Provide some simple, powerful organizing principle for the collection of files – Making it easy to find them – And easy to organize them

Lecture 13 Page 7 CS 111 Online File Systems and Hardware File systems are typically stored on hardware providing persistent memory – Disks, tapes, flash memory, etc. With the expectation that a file put in one “place” will be there when we look again Performance considerations will require us to match the implementation to the hardware – Remember seek time and rotational latency? But ideally, the same user-visible file system should work on any reasonable hardware

Lecture 13 Page 8 CS 111 Online File Systems and OS Abstractions Obviously a version of the basic memory abstraction So we’d expect read() and write() operations for it We could have a file system abstraction very close to the hardware reality – E.g., exposing disk cylinders or flash erase cycles But it’s better to hide the messy details – Treat files as magically persistent memory

Lecture 13 Page 9 CS 111 Online Data and Metadata File systems deal with two kinds of information Data – the information that the file is actually supposed to store – E.g., the instructions of the program or the words in the letter Metadata – Information about the information the file stores – E.g., how many bytes are there and when was it created – Sometimes called attributes Ultimately, both data and metadata must be stored persistently – And usually on the same piece of hardware

Lecture 13 Page 10 CS 111 Online Bridging the Gap We want something like... But we’ve got something like... Which is even worse when we look inside: Or... Or at least How do we get from the hardware to the useful abstraction?

Lecture 13 Page 11 CS 111 Online A Further Wrinkle We want our file system to be agnostic to the storage medium Same program should access the file system the same way, regardless of medium – Otherwise hard to write portable programs Should work the same for disks of different types Or if we use a RAID instead of one disk Or if we use flash instead of disks Or if even we don’t use persistent memory at all – E.g., RAM file systems

Lecture 13 Page 12 CS 111 Online Desirable File System Properties What are we looking for from our file system? – Persistence – Easy use model For accessing one file For organizing collections of files – Flexibility No limit on number of files No limit on file size, type, contents – Portability across hardware device types – Performance – Reliability – Suitable security

Lecture 13 Page 13 CS 111 Online The Performance Issue How fast does our file system need to be? Ideally, as fast as everything else – Like CPU, memory, and the bus – So it doesn’t provide a bottleneck But these other devices operate today at nanosecond speeds Disk drives operate at millisecond speeds Suggesting we’ll need to do some serious work to hide the mismatch

Lecture 13 Page 14 CS 111 Online The Reliability Issue Persistence implies reliability We want our files to be there when we check, no matter what Not just on a good day So our file systems must be free of errors – Hardware or software Remember our discussion of concurrency, race conditions, etc.? – Might we have some challenges here?

Lecture 13 Page 15 CS 111 Online “Suitable” Security What does that mean? We’ll discuss security more in a future lecture, but... Whoever owns the data should be able to control who accesses it With strong guarantees that the system will enforce his desired controls