A Bare PC Text Based Browser

Slides:



Advertisements
Similar presentations
The Operating System. What is an Operating System? The program that is loaded first and manages the hardware resources like main memory, backing storage.
Advertisements

Computer Parts Assignment
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Component 4: Introduction to Information and Computer Science Unit 1: Basic Computing Concepts, Including History Lecture 1 This material was developed.
1 Chapter 2 Operating Systems: Software in the Background.
CMPTR1 CHAPTER 3 COMPUTER SOFTWARE Application Software – The programs/software/apps that we run to do things like word processing, web browsing, and games.
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.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Installing software on personal computer
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
Week 6 Operating Systems.
TC2-Computer Literacy Mr. Sencer February 8, 2010.
Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices Section.
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.
Computer Organization ANGELITO I. CUNANAN JR. 1. What is Computer?  An electronic device used for storing and processing data.  It is a machine that.
Operating Systems Operating System
© Paradigm Publishing Inc. 4-1 Chapter 4 System Software.
Fundamentals of Networking Discovery 1, Chapter 2 Operating Systems.
Introduction by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Flash Cards Computer Technology.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Chapter 4 System Software.
9/13/20151 Threads ICS 240: Operating Systems –William Albritton Information and Computer Sciences Department at Leeward Community College –Original slides.
The PC The PC is a standard computing platform, built around a EISA bus (1988) –IBM compatible –“Intel Architecture” from Intel or AMD or other companies.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Operating Systems  A collection of programs that  Coordinates computer usage among users  Manages computer resources  Handle Common Tasks.
What does a Computer Do?. What is a Computer? A computer is an electronic device, operating under the control of instructions stored in its own memory,
Introduction to Interactive Media Interactive Media Tools: Software.
Nic Shulver, Using Operating Systems What is a PC?
Section 2 Section 2.1 Identify hardware Describe processing components Compare and contrast input and output devices Compare and contrast storage devices.
Operating Systems JEOPARDY Computer Repair NetworkOS OS Tasks ConceptsComponentsMisc
Operating Systems TexPREP Summer Camp Computer Science.
Component 4: Introduction to Information and Computer Science
© Paradigm Publishing Inc. 4-1 OPERATING SYSTEMS.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Parts of the Computer System
Multimedia and Computers Introduction to Computers.
1 Title: Introduction to Computer Instructor: I LTAF M EHDI.
Computer Software Types Three layers of software Operation.
1 ENG224 INFORMATION TECHNOLOGY – Part I 1. Introduction to Computers.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Chapter 2 – Part 1 Introduction To Windows Operating Systems CMPF 112 : COMPUTING SKILLS.
Week1: Introduction to Computer Networks. Copyright © 2012 Cengage Learning. All rights reserved.2 Objectives 2 Describe basic computer components and.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
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.
2: Operating Systems Networking for Home & Small Business.
X Window System
Introduction to Operating Systems Concepts
Section 2.1 Section 2.2 Identify hardware
Operating System & Application Software
Operating Systems & System Software
CHAPTER 1: Computers and Systems
Presented by Dr. Ramesh K. Karne
Tech Guide B: The Details of Software
Linux Operating System Architecture
Course: Introduction to Computers
TexPREP Summer Camp Computer Science
What is an Operating System?
Systems Software Keywords Operating Systems
An Overview of the Computer System
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Virtualization Techniques
Introduction to Operating Systems
Level 3 Extended Diploma Unit 13 Computer Systems Architecture
Lecture 09 & 10 Operating Systems Network, Communication, OSI.
Digital Literacy 1.00 Computer Basics
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
Presentation transcript:

A Bare PC Text Based Browser Presented by Dr. Ramesh K. Karne Department of Computer and Information Sciences Towson University Towson, MD 21252, USA (Authors: Saleh Almutairi, Ramesh K. Karne, Alexander L. Wijesinha) rkarne@towson.edu http://www.baremachinecomputing.com

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

Related Work Exokernel Bare Metal Linux Nano and Micro Kernels Lean kernels Sandboxing Palacio and Kitten IO-Lite Lean Kernels Embedded Systems Many Text Only Browsers

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 It is a bare as well as BMC programming concepts A bare machine application(s) are totally user controlled and closed systems.

What is a bare PC Browser System? Runs on a x86 compatible PCs, can be extended to other CPU architectures by writing direct API It runs with Intel NICs (some of them) It is a single application Text only at this point, no graphics No TLS , No DNS No OS vulnerabilities Closed system

BMC System Architecture

TCP Client Protocol Interfaces

Web Browser Interface Menu

Processes

Task Interactions

TCP Control Flow

Video Memory

Parser State Transition Diagram

Web site accessed from bare browser

LADBS Web Site in Windows Browser

LADBS Web Site in bare Browser

LADBS Lines in Windows Browser

LADBS Lines in bare Browser

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 Connecting to secure servers Parsing a variety of browser data Multiple screens Different NICs

Further Research Graphics TLS DNS Other NICs Other Architectures More functionalities

Questions?