System Software
System Software
Software
5.1 Operating System
The Von Neumann Architecture
• Functions that are ready to use (like a calculator for math operations).
• Easily inserted into programs without changes (like a USB plug-and-play device).
Benefits
• Time-Saving: Reduces coding efforts (similar to using templates).
• Reliability: Broadly tested and trusted (like a certified safety equipment).
• Language Versatility: Adaptable to various programming languages (like multi-lingual
support in software).
• Complexity Management: Manages detailed tasks without user intervention (like a car's
automatic transmission).
• Code Simplification: Only the function names are needed (like calling a contact on speed dial).
• Auto-Update Feature: Library updates automatically apply (like app updates on a
smartphone).
Drawbacks
• Compatibility Issues: May not work with existing code seamlessly (like new software on old
operating systems).
• Testing: Not immune to bugs (as in first releases of software products).
• Specificity May not fully align with unique requirements (like one-size-fits-all clothing).
• Stability Upon Changes: Updates can introduce new issues (like system updates causing
compatibility problems).
Dynamic Link Libraries
• Shared Libraries: Code segments used by multiple applications
• Separation from Executable: Independent from the main executable file
Benefits
• Efficient File Size: Smaller executable files (like zip files).
• Memory Optimization: Loaded only when needed (like on-demand video streaming).
• Update Convenience: Updates without recompiling the main program Resource Sharing:
Single DLL for multiple applications (like a communal garden).
Drawbacks
• Runtime Dependency: Programs may fail without the DLL
• Software Requirements: Specific linking software is needed
• Error Management: Absence or corruption leads to errors (like missing pages in a manual).
• Security Concerns: Vulnerable to malicious changes (like a security flaw in a home alarm
system).