Presented by Dr. Ramesh K. Karne

Slides:



Advertisements
Similar presentations
Operating-System Structures
Advertisements

The Operating System. What is an Operating System? The program that is loaded first and manages the hardware resources like main memory, backing storage.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
CS533 Concepts of Operating Systems Class 14 Virtualization.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Operating Systems - Introduction S H Srinivasan
Xuan Guo Chapter 1 What is UNIX? Graham Glass and King Ables, UNIX for Programmers and Users, Third Edition, Pearson Prentice Hall, 2003 Original Notes.
Hardware/Software Concepts Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Operating Systems.
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.
Case study 2 Android – Mobile OS.
Chapter 3 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.
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.
OPERATING SYSTEMS Prof. Sujata Rao Lesson 3. Agenda 1. What is an operating system? 2. How have operating systems evolved? 3. Functions of Operating System.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Linux Operations and Administration Chapter Fourteen Planning for a Linux Installation.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
VirtualBox What you need to know to build a Virtual Machine.
Section 2 Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices.
Types of Operating Systems
© Paradigm Publishing Inc. 4-1 OPERATING SYSTEMS.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Computer Science Web quest. Input devices Input devices are used to give the computer information so it does what the operator wants it to do. There are.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Course 03 Basic Concepts assist. eng. Jánó Rajmond, PhD
OS Boot Sequence and File System (implication to “Boot Sector Viruses”) Department of Computer Science Southern Illinois University Edwardsville Spring,
OPERATING SYSTEMS DO YOU REQUIRE AN OPERATING SYSTEM IN YOUR SYSTEM?
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Introduction to Operating Systems Concepts
Android Mobile Application Development
Operating Systems & System Software
CHAPTER 1: Computers and Systems
What is Virtualization Last Update
Chapter 2: Operating-System Structures
Tech Guide B: The Details of Software
Chapter 12: File System Implementation
Chapter 2: System Structures
Linux Operating System Architecture
Operating System Structure
Introduction to Operating System (OS)
Oracle Solaris Zones Study Purpose Only
What is an Operating System?
Windows® MultiPoint™ Server 2010
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Virtualization Techniques
Chapter 2: System Structures
Level 3 Extended Diploma Unit 13 Computer Systems Architecture
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Chapter 2: Operating-System Structures
Chapter 2: Operating-System Structures
Outline Operating System Organization Operating System Examples
A Bare PC Text Based Browser
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Introduction to Operating Systems
OS Boot Sequence and File System
Operating System Concepts
Operating System Concepts
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
OS Boot Sequence and File System
Presentation transcript:

Design and Implementation of a USB File System for Bare PC Applications Presented by Dr. Ramesh K. Karne Department of Computer and Information Sciences Towson University Towson, MD 21252, USA (Authors: William Thompson, Ramesh Karne, Sonjie Liang, Alexander Wijesinha, Hamdan Alabsi, and Hojin Chang) rkarne@towson.edu http://baremachine.towson.edu

History Started in 2001 Motivated by complexity and obsolescence Frustrated by too many environments Initially funded by NSF grants Over 45 publications and 15 doctoral dissertations Started from scratch and built all BMC code and over a dozen complex applications

Related Work Exokernel Bare Metal Linux Nano and Micro Kernels Lean kernels Sandboxing Palacio and Kitten IO-Lite

What is a Bare Machine Computing (BMC)? A computer application(s) run on a bare computing device (such as a PC) The computing device consists of CPU, Memory, User interfaces such as (Keyboard, Mouse, Monitor, Network card) Application(s) are self contained, self managed The box containing the computing device is known as a bare machine The concept is applicable any computing device

BMC Characteristics A Bare Machine is: Ownerless Valueless, no valuable resources in the bare box Uses detachable or network storage Bootable, loadable and controllable by user application(s) Application(s) are stored on a detachable storage device such as a flash drive There is nothing to damage in the bare machine, other than physical vandalism Super secure, ultimate security for application(s) A bare machine can be placed any place, accessed by anyone without ownership A bare machine application is stable, not prone to obsolescence, contains code that does not depend on other computing environments A bare machine application(s) are totally user controlled and closed systems.

What is a bare PC File System? It is a standard FAT32 compatible file system USB based Runs only on a x86 compatible PCs, can be extended to other CPU architectures by writing direct API The files can be accessible on other OSs Lean, efficient and application driven Resident on detachable devices No OS vulnerabilities Closed system

USB Layout

Memory Layout

Initialization Process

File Table Structure

File API

Use of API

USB Parameters and Driver

USB Operations

USB Analyzer Trace

Bare Root Directory

Root Directory on USB

Bare PC Screen Shot

Design Challenges Broad knowledge for a programmer Device driver knowledge System and application programming Debugging bare code Reducing semantic-gap between application and hardware Integrating with other bare PC applications

Further Research Multiple USBs for storage Integrating with SQLITE database and others Integrating with Web server and Webmail Extending to NFS and other file system protocols Performance comparison with conventional systems Adding security to USB flash drives

Conclusions Described internals of a bare PC file system Presented a novel computing architecture (BMC) Described internals of a bare PC file system Possible use in super-secure applications Bare to bare applications are super-secure Identified further research