FIT9018: Week 2

Andy Cheng today presented an Introduction to Operating Systems,  focusing on Unix and Unix like operating systems. This lecture was a bit short due to a time and room change. We also had to finish the previous weeks lecture with some further analysis into the steps a computer takes to process instructions. The operating system is best defined graphically (source: http://en.wikipedia.org/wiki/Operating_system <- also has a good amount of relevant details in the article):

Some key abilities of an O/S are:

  • Controls Hardware
  • Provides environment for other programs to run/compile
  • Controls CPU, memory and secondary memory allocation
  • Divides software into utilities and application depending on complexity

Modern operating systems can be defined as Multi-User and Multi-tasking (although this interrupts give the illusion of multitasking, the processor can only process one programs instruction at any given time.)

Running somewhat parallel to the abilities are, The Major Functions of an O/S:

  • Process Management(program/s in execution) -> creates and destroys processes, controls progress  of processes, acts on exceptions/interrupts (enables multitasking), allocating hardware to processes, providing inter process communication.
  • File Management -> controls transfer of data to and from secondary storage devices, controlling file access, provide sharing, keep track of space and locations of files.
  • Memory Management -> Primary memory (RAM), closely related to process management and assists in the illusion of multitasking. Modern O/S memory management should be non-contiguous logical objects to be disjointed and to enable virtual memory (incorporating secondary memory).

The rest of the lecture was a history of Unix and the evolution of O/S, a more detailed version of which can be found at: http://en.wikipedia.org/wiki/History_of_operating_systems

The tut comprised simply of installing ubuntu onto a flash disk from which we will be completing tasks from in the future. However the tut did contain the Pearl of the week:

When installing Ubuntu onto a flash disk you must go into advanced installation options at the review stage and change the boot sector installation to the Flash disk drive (it is not altered when choosing the Flash disk as the installation directory). Without this Ubuntu will not boot from a flash disk!

FIT9018: Week 1

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.