The first lecture for Computer Technologies and Operating systems was held today. The format for the subject is a one hour lecture followed by a three hour lab session, something I was happy to learn. Especially after finding that the lab session would be crash courses on a number of practical tasks such as setting up a web server and installing linux distros ect. The lecturer, Andy Cheng, was energetic and able to explain the topics covered in the lecture clearly.
In the lecture we, for the third time this week, went through administration topics (thankfully quickly this time). Andy went on to discuss some relevant background on computer history, followed by some fundamental computer definitions and diagrams. Things started to get interesting when we got into the definitions of:
- The Bus / Bus controller – lines of for data flow between components (lines one can see on motherboards)
- Fetch/Execute Cycles – Fetch retrieves next instruction from the Program Counter and loads it to in Instruction register, in Execute cycle the Control Unit decodes and executes instructions.
- Interrupts – Tells the CPU to suspend current task to memory and deal with interruption task.
- Multiprogramming – Multiple programs in memory and switching the processor between them using interruptions. Gives the illusion of processing many programs at once.
Unfortunately we ran short on time towards just as we were getting into the explanation of interrupts (damn the administrative crap wasting the first quarter of the lecture). This subject seems very practical and I look forward to learning many methodologies which I can apply immediately to current projects.