Computer Program
This is what my Software Engineering program is about, understanding all levels of how a computer program works, from software program down to the machine code. Super interesting!
Layers of the Program
- Application software
- Written in high-level language
- System software
- Compiler: translates HLL code to machine code
- Operating System: service code
- Handling input/output
- Managing memory and storage
- Scheduling tasks & sharing resources
- Hardware
- Processor, memory, I/O controllers
Levels of Program Code
High-level language
- Level of abstraction closer to problem domain
- Provides for productivity and portability
A Compiler converts this high-level language into Assembly language.
Assembly language
- Textual representation of instructions
An Assembler converts Assembly into Machine Language.
Hardware representation (Machine Language)
- Binary digits (bits)
- Encoded instructions and data