Overview and Applications

Slides:



Advertisements
Similar presentations
Section 6.2. Record data by magnetizing the binary code on the surface of a disk. Data area is reusable Allows for both sequential and direct access file.
Advertisements

INSTRUCTION SET ARCHITECTURES
Data Manipulation Overview and Applications. Agenda Overview of LabVIEW data types Manipulating LabVIEW data types –Changing data types –Byte level manipulation.
LV2IDL, a software package for automatic data transfer between LabVIEW and IDL Gelu M. Nita New Jersey Institute of Technology.
File Systems.
Avoiding Measurement Errors from Manipulating Data in Software
CS320n –Visual Programming LabVIEW Foundations. Visual ProgrammingLabVIEW Foundations2 What We Will Do Today Hand back and review the midterm Look at.
1 Storage (cont’d) Disk scheduling Reducing seek time (cont’d) Reducing rotational latency RAIDs.
Chapter 3 Data Representation.
Chapter 3 Data Representation. Chapter goals Describe numbering systems and their use in data representation Compare and contrast various data representation.
McGraw-Hill©The McGraw-Hill Companies, Inc., Security PART VII.
Elementary Data Types Scalar Data Types Numerical Data Types Other
Chapter 1 Data Storage. 2 Chapter 1: Data Storage 1.1 Bits and Their Storage 1.2 Main Memory 1.3 Mass Storage 1.4 Representing Information as Bit Patterns.
1 Lesson 5 Clusters TOPICS Introduction to Clusters Cluster Functions Error Clusters.
First Bytes - LabVIEW. Today’s Session Introduction to LabVIEW Colors and computers Lab to create a color picker Lab to manipulate an image Visual ProgrammingImage.
Lecture 23 Symmetric Encryption
Introduction to Array The fundamental unit of data in any MATLAB program is the array. 1. An array is a collection of data values organized into rows and.
Practical Techniques for Searches on Encrypted Data Yongdae Kim Written by Song, Wagner, Perrig.
Machine Instruction Characteristics
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
Pengantar Teknologi Informasi dan Ilmu Komputer Information Technology and Data Representation PTIIK- UB.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Digital Logic Design Lecture 3 Complements, Number Codes and Registers.
Chapter 20 Symmetric Encryption and Message Confidentiality.
Cis303a_chapt03-2a.ppt Range Overflow Fixed length of bits to hold numeric data Can hold a maximum positive number (unsigned) X X X X X X X X X X X X X.
1 INFORMATION IN DIGITAL DEVICES. 2 Digital Devices Most computers today are composed of digital devices. –Process electrical signals. –Can only have.
IT253: Computer Organization Lecture 3: Memory and Bit Operations Tonga Institute of Higher Education.
File Structures Foundations of Computer Science  Cengage Learning.
Hello.java Program Output 1 public class Hello { 2 public static void main( String [] args ) 3 { 4 System.out.println( “Hello!" ); 5 } // end method main.
Advanced Windows 8 Apps Using JavaScript Jump Start Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy.
Cryptography Team Presentation 2
OSes: 11. FS Impl. 1 Operating Systems v Objectives –discuss file storage and access on secondary storage (a hard disk) Certificate Program in Software.
Multiple Encryption & DES  clearly a replacement for DES was needed Vulnerable to brute-force key search attacks Vulnerable to brute-force key search.
Description of a New Variable-Length Key, 64-Bit Block Cipher (BLOWFISH) Bruce Schneier BY Sunitha Thodupunuri.
Computer Organization and Assembly Language Bitwise Operators.
File Storage Organization The majority of space on a device is reserved for the storage of files. When files are created and modified physical blocks are.
Software Security Seminar - 1 Chapter 10. Using Algorithms 조미성 Applied Cryptography.
Lecture 23 Symmetric Encryption
Lecture 18 Windows – NT File System (NTFS)
Operators & Identifiers The Data Elements. Arithmetic Operators exponentiation multiplication division ( real ) division ( integer quotient ) division.
Digital Representations ME 4611 Binary Representation Only two states (0 and 1) Easy to implement electronically %0= (0) 10 %1= (1) 10 %10= (2) 10 %11=
Lecture 10 Page 1 CS 111 Summer 2013 File Systems Control Structures A file is a named collection of information Primary roles of file system: – To store.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
Programming Configuration Files in LabVIEW David Thomson Systems Integrator Original Code Consulting National Instruments Alliance Member Research Scientist.
PQDIF PQDIF: A Technical Overview Prepared by: Erich Gunther, Bill Dabbs, and Rob Scott Electrotek Concepts, Inc. NEW! IMPROVED!
Number Systems and Computer Arithmetic Winter 2014 COMP 1380 Discrete Structures I Computing Science Thompson Rivers University.
Instruction Sets. Instruction set It is a list of all instructions that a processor can execute. It is a list of all instructions that a processor can.
09/06/ Data Representation ASCII, Binary Denary Conversion, Integer & Boolean data types.
Chapter 9: Data types and data structures OCR Computing for A Level © Hodder Education 2009.
Chapter 3 Data Representation
Multiple Platters.
RAID, Programmed I/O, Interrupt Driven I/O, DMA, Operating System
Chapter 12: File System Implementation
Microprocessor Systems Design I
University of Central Florida COP 3330 Object Oriented Programming
Data Types, Arithmetic Operations
File System Structure How do I organize a disk into a file system?
Other Kinds of Arrays Chapter 11
Data Structures Mohammed Thajeel To the second year students
Introduction to LabVIEW
Chapter 1 Data Storage.
File Structure 2018, Spring Pusan National University Joon-Seok Kim
Bits and Bytes Topics Representing information as bits
Chapter 9 Instruction Sets: Characteristics and Functions
File Storage and Indexing
Fundamentals of Python: First Programs
Comp Org & Assembly Lang
COMP755 Advanced Operating Systems
Simple Hash Functions Network Security.
Presentation transcript:

Overview and Applications Data Manipulation Overview and Applications

Agenda Overview of LabVIEW data types Manipulating LabVIEW data types Changing data types Byte level manipulation of data Bit level manipulation of data Applications involving data manipulation Data encryption Instrument I/O

LabVIEW Data Types: Numeric Byte Unsigned Byte Word Unsigned Word Long Unsigned Long Single Precision Double Precision Extended Precision 8 bits 8 bits 16 bits 16 bits 32 bits 32 bits 4 bytes 8 bytes Windows/Linux: 10 bytes Power Mac: Double/Double Sun: 16 bytes

LabVIEW Data Types: Arrays Stored as handles containing: Size of each dimension (in unsigned long integers, U32s) Data (size of elements varies but is consistent through array) To align data correctly, a few bytes of padding may be added before the first element of data Array is a continuous block of memory 1D array of SGLs 4D array of I16s

LabVIEW Data Types: Others Booleans: 8 bits All zeros = FALSE, nonzero = TRUE Strings: 1D array of unsigned bytes Array of Strings: array of U32 handles to string locations Paths: handles containing path type and number of path components in U16s Byte 0,1: 0 (abs), 1(rel), 3 (UNC) Byte 2,3 # of path components

LabVIEW Data Types: Clusters Data stored according to cluster order Scalar data stored directly in cluster Arrays, strings, and paths stored as a handle to the memory location where the data is stored Padding may need to be added, depending on OS Example: cluster of SGL, EXT, and 1D array of U16s Windows Mac Sun

Flattened Data Flat data takes up a continuous block of memory Scalar and Array numerics are flat Strings are flat Arrays of strings are not flat Clusters may be flat (if simple numerics, for example) During File I/O LabVIEW automatically flattens all data to ease storage to disk Flatten/Unflatten to/from String functions perform the same operations in memory

Flattened Data Flattened data normalized to standard form for platform independence Numeric data in big endian form (MSB first) Windows apps may need little endian – swap bytes Sun format for extended precision numbers Flattened form does not have data encoding When unflattening data type needs to be known Type descriptor used to define data type

Type Descriptors Sequence of word integers that can describe any data type in LabVIEW. <length> <type code> <length> I16 size in bytes (including length word) <type code> description of data Some additional info may follow type code Arrays and clusters structured (since there are other data types) Can quickly get complicated to decipher

Changing LabVIEW Data Types Typecast Change data type of information Works with flat data, 1D arrays of flat data, and strings Default type is string Flatten/Unflatten to/from String Work with all data Behaves like LabVIEW internal flatten function

Byte Level Data Manipulation Split / Join numeric values into new data Swap Bytes/Words to reorder existing data Convert data to unsigned bytes/words/longwords to manipulate at the byte level Convert data to strings to use string functions for manipulation

Bit Level Manipulation Rotate Left / Right with Carry to move bits and effect other values Rotate to move bits within a value Logical shift moves bits, putting 0s in their place Turn data into unsigned bytes to use these functions easily For custom bit manipulation turn data into Boolean arrays

Applications of Data Manipulation - Encryption Encryption – make files or data transfers hard to read Standards exist for process (NIST, private corporation, etc) Scrambled data is called ciphertext, unscrambled data plaintext Data often encrypted using a key – usually a specific number of random bits and error checking bits Ex: 64 bit key: 56 data bits, 8 parity bits (one per byte of key data) Symmetric-key: each user has access to the same key Public-key: each user has a public and private key All sorts of algorithms exist to encrypt data (DES, IDEA, Blowfish, etc) Web has a good source of intro pages http://www.anujseth.com/crypto/

How to Encrypt Data? Hook a 3rd party DLL into LabVIEW using the Call Library Node (complexities, speed, usability, etc) Grow your own Probably not as secure (but good enough?) Probably easier to implement/understand Some options: Simple bit shifting Key ciphering with your own algorithm (ie: passwords) Implementation of known algorithm in native G-code