Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
Windows Software Architecture
- Executable Image (.EXE)
- Dynamic Link Library (.DLL)
- Initialization File (.INI)
- Registry Keys
- Drivers
- Services
Executable Image (.EXE)
- Contains the actual executable code for an application
- May also contain resources, graphics, fonts, etc.
- Based on the old Unix COFF (Common Object File Format)
Dynamic Link Library (.DLL)
- Shared library files used by programs
- Uses same format as .EXE file
- Programs can access same .DLL files simultaneously
Initialization File (.INI)
- Informal standard for configuration files
- Used extensively in Windows up to Windows ME for system & software settings
- Structured text files
Registry Keys
- Structured data storage for system settings
- Key <-> Value pairs
- Faster loading of settings
- Allows multiple users to use a system simultaneously
Windows Software Install Process
- Extract/expand files
- Place files in location
- Create registry keys
- Install drivers/services
- Create user data files
- Create shortcuts
Tracking - Process Monitor
Tracking - InstallWatch Pro
Installing - Thunderbird
Ubuntu Software Architecture
- Binary Files
- Shared Object Files (.SO)
- Library Files
- Settings Files
- Documentation Files
- Upstart/Systemd/init scripts
Binary Files
- Contains the executable code for the application
- Uses the ELF (Executable and Linkable Format)
- Commonly used in many Unix-like systems
- Usually stored in /bin folder
Shared Object & Library Files
- Shared information or code used by multiple programs
- Install once, use everywhere
- May have to store multiple versions for different programs
- Usually stored in /usr/lib
Settings Files
- Configuration files used by programs
- Text based, similar to .INI files
- Usually stored in /etc for system-wide settings or in a hidden folder in ~/ (like ~/.thunderbird)
Documentation Files
- Stores information about the software
- Responds to 'man' command on terminal
- Usually stored in /usr/share folder
Ubuntu Package Management
- Most software installed via "packages"
- Packages are provided from a repository
- Programs such as Synaptic or apt can install packages
- Programs can also be installed from source
Ubuntu Software Commands
- apt-get install (package)
- apt-get update
- apt-get upgrade
- apt-get dist-upgrade
- auto-apt run (command)
- dpkg-reconfigure (package)
Ubuntu Software Install Process
- Extract/expand files
- Place files in location
- Create user data files (usually on first run)
- Create startup scripts
Tracking - Synaptic
Software Configuration
- Modifying software settings
- Storing user specific information
- Customizing software to suit user preference
Windows Software Configuration
- Control Panel Options
- Software Provided Menus
- Configuration Files
- Registry Entries
Windows Default Programs
- Files types on Windows determined by file extension
- File extensions are mapped to programs
- Program will be started when a file is double-clicked in Windows Explorer
Defaults by Programs
Defaults by App
Defaults by File Type
AutoPlay Defaults
Firefox Config - Menu
Firefox Config - about:config
File Configuration
- Some program store settings in text files
- PRO: Can be easily edited by hand, shared between systems
- CON: No verification of settings, easy to make mistakes
Pegasus Mail Config - Menu
Pegasus Mail Config - Files
Registry Configuration
- Other programs store settings the Windows registry
- PRO: Easy to organize and retrieve values, hides settings from most users
- CON: Can still be edited by users, corrupted registry affects multiple programs
Internet Explorer - Settings
Internet Explorer - Registry
Ubuntu Default Programs
- File Types in Ubuntu determined by many things
- File Extension
- File Header
- Magic Number
- File types are mapped to programs
- Program will be started when a file is double-clicked in Nautilus
Default Programs
Defaults by File Type
AutoPlay Defaults
Assignments
- EXAM 1 - 9/30 During Class
- Lab 4 - Services, Processes & Software
Due 9/26 11:30 AM Before Lecture!!