CP4P File Systems and Visual Studio
CP4P File Systems and Visual Studio
CP4P File Systems and Visual Studio
FOR PROGRAMMERS
File Systems and Visual Studio intro
Agenda
Storing and Organising Data
• If you had it all, where would you put it?
• File Systems
Software development
• Visual Studio IDE (Community Edition) demo
• industry uses Enterprise Edition
• Hello, World! program
Agenda
Activity (assignment):
• Visual Studio IDE programming demo in C
• File naming and file extensions
• Working with local, external, and cloud drives
for common file and folder operations
If you had it all, where would you put it?
Storage devices.
Drive / root,
Folder / Directory,
File
Computer Storage
• Volatile memory: needs constant power to retain data
• RAM for primary storage. Fast – supports x-P-U __ Processing Units
• Non-volatile memory: stores data persistently without power
• Many types of secondary or mass storage. Slow – transfer to RAM
Records
GPU
SAA CPR101 SAA MON 1-3
Mon IPC144 SAA TUE 6-7
1-3 IPC144 SBB THU 7-8
ULI101 SAA MON 5-6
ULI101 SBB WED 2-3
Persistent secondary storage devices
SSD
LTO
Linear Tape Open
HDD 18TB
Optical
Tape
Drive Disk Pack
Drive Diskette Drive
OS mounts a storage device to a Drive
• Drive: storage device recognized by Operating System (OS)
• OS mounts drives: recognizes hardware & assigns unique
identifier
C: or D: or E: ... in Windows (mounting is automagic)
# mount /dev/sdc1 /media/usb-drive/ in Linux/Unix
-hardware- ---- identifier ----
• Mounting is the process of making the file system on a
storage device accessible to the OS and your applications /
software.
• e.g. plug in a USB drive
Persistent storage – DAS "D-A-S"
Direct Attached Storage
• within same server case or frame,
direct connect to system motherboard
• SSD – Solid State Drive
• High performance, 10% of enterprise/cloud
• High Total Cost of Ownership (TCO)
• HDD – Hard Disk Drive
• Good performance, 90% of enterprise/cloud
• Low TCO
• Scalability
• constrained by drive capacity and
• physical space within case or rack
• Total Cost of Ownership (TCO)
• 1 × 22TB HDD is 1/6 TCO of 5.7 × 3.84TB SDD
Persistent storage – SAN "SAN"
• Storage Area Network
• virtual drives. scalable. flexible.
• servers see it as if it were DAS
• similar function to DAS but
unconstrained by drive capacity.
• is effectively "attached"
• provides storage for rack / blade
diskless servers
• Fibre Channel connect for high-
performance.
Persistent storage – Cloud
• High Tier Cloud – needs high
bandwidth, low latency, private network
to cloud storage provider
• is effectively "attached"
• Direct Attached Storage – within same case or rack, direct connection to system
• SSD – Solid State Drive. High TCO = high capital expense & low operating expense
• HDD – Hard Disk Drive. Lower TCO = low cap-ex & higher op-ex.
• Limited scalability: constrained by drive size; physical space within case or frame
• SAN – Storage Area Network – block-level data storage, Fibre Channel connect
• virtual drives. scalable. functionally similar to DAS but independent of drive capacity.
• provides storage for rack / blade diskless servers, uses special network-like connection.
• High Tier Cloud – server needs sophisticated private network connection to cloud.
• Not connected over public Internet. Not OneDrive, Google Drive, Dropbox, iCloud.
• AWS S3, Google Cloud, MS-Azure – no cap-ex, very high op-ex. Scales quickly.
• NAS – Network Attached Storage, file-level serving to any OS
• Performance issues for database / OLTP hosting. good for backup and file storage.
Persistent storage – Offline & Nearline
Backup & Archiving "cold storage"
• Linear Tape-Open (LTO-9 18TB)
• Optical Disc (Blu Ray 100GB)
• HDD 18TB
• low cap-ex & op-ex, slow / low performance
• Offline (tape | optical), Nearline (tape | optical library, MAID)
• Offline = manually retrieve tape/disc from physical storage and mount
• Nearline = robotic mounting of tape/disc or Massive Array of Idle Drives
• Cloud cold storage: AWS Glacier, GCS Coldline, BackBlaze B2
What is a File? What is Data?
• File: uniquely named space on a Drive. Files contain Data.
• Data: a sequence of formatted symbols
• Software: encoded machine instructions (data in .exe executable
file) compiled from source code (data in a .c file)
• Information: data interpreted by software that performs a task
• MS Word file: data encodes words and images into an essay or book
• Plain Text file: stream of ASCII characters.
• <html> markup with a web site’s content (Ctrl-U in a browser to see it)
• programming source file's formatted symbols: #include <stdio.h>
• Code: human readable instructions for a compiler to generate an executable file.
• Comments: explanations for humans to understand the code
Data format == meaning
• Words sorted in alphabetic order:
a her is man nothing without woman
• With Sequence and Punctuation:
A woman without her man is nothing.
• With same Sequence but different Punctuation:
A woman: without her, man is nothing.
• Data must be formatted to be useful and meaningful.
• so does source code!
How is a house and its things organized?
• Main floor Rooms and furniture use cases…
• Kitchen • to sit on
• Dining room
• to place stuff on
• Living room
• to store stuff in
• Second floor
• to sleep on
• Bedrooms 1,2,3
• for working
• Basement
• for exercising
• Garage
• for relaxing
Directory Structures, Parent-Child Directories
File / Pa t h d ir e c t o r y s t r u c t u r e
• hierarchical tree structure.
Applications
Courses • Courses is the parent of
CPR101, IPC144, and ULI101
CPR101
week1_notes.docx
week2_notes.docx
week2_lab.doc
directories
week2_screenshot1.jpg
week2_screenshot2.jpg
• CPR101 is a child of the
IPC144
ULI101
Courses directory
Documents
Users
What is a Folder/Directory?
• file system's hierarchically named cataloging structure
• C:\Users\you\Documents\Seneca\CPR101
C:\Program Files\Microsoft Office\Office16
• contains Files and/or other Folders / Directories.
• Helps to organize files that share some commonality
• Directories within directories are sub-directories
or sub-folders in a hierarchical structure
• Windows & Mac OS: directories are known as Folders
• Linux/Unix: directories are still called directories
Path and Filename structure
Windows C:\users\student\CP4P-week1.docx
Linux /users/student/CP4P-week1.docx
drive folder sub-folder filename extension
root directory sub-directory FileName (optional)
Review = Review =
Retention = Retention =
Quiz marks Test marks