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.

CIS 225

Software

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!!