Process Management was the theme of Andy’s lecture this week. Specifically, a definition of processes and how they intersect with the CPU, Process Control and Process Scheduling Algorithms.

  • Processes – Simply a program execution.
  • Process Control –  an import part of a multi-tasking O/S (modern O/S’s and CPUs enable multithreading)
  • Information about processes is store in the Process Table by the O/S

The lecture glazed over the process management system stopping at:

  • Process State –
  • Multitasking – works by providing each process a time quantum (usually around 100ms), saving its state in ProcessTable/ProcessControlBlock
  • High Level Scheduling –  allows processes into system based on memory availability, if not enough memory secondary memory swapping will most likely occur. High level scheduling is more suited to batch style processing rather than multitasking.
  • Low level scheduling is key for modern multitasking systems. Preemptive scheduling Utilizes system clock for interrupts for processes that are already in memory.
  • Scheduling Algorithms are an inexact art at present with no best algorithm for all circumstances at present. Preemptive scheduling must ensure that the quantum time is sufficiently large not to waste to much time on swapping. Dynamic Priority Scheduling seems nice.
  • Awareness issues for multitasking -> Mutual Exclusion, Synchronization, Deadlock.

The lecture was over in the usual hour and next came the tutorial. This week the tutorial explored the surface of networking with UNIX and network protocols such as TCP/IP

First off came an analysis of IP addresses, binary-decimal conversion and masking.

IP4 addressed are 32 bit: 192.168.100.200 / 11000000.10101000.01100100.1100100

an 8 bit binary number can be viewed as 8 building blocks 128,64.32.16.8.4.2.1 matching up to the eight digit 00000000

So, 192, build using the blocks in the line above would be 128 + 64, so switch on the 128 block and the 64 block : 11000000

After some confusion over this which once understood seems simple, we moved onto network classes:

Subnet Mask – ie 255.255.248.0 -> 11111111.11111111.11111000.00000000 – only the last 8 bits of the 32 bit address refer to the HostID assuming the address is a B class then the final 16 bits of of the IP address refer to the HostID (or SubnetID). To find the subnetID, AND mask the original IP and take the information bit from the overlap of the mask onto the HostID section of the address. Haha now I see why Andy did not waste a great deal of time trying to articulate this, its much easier to understand by working through an example at your own pace.

UNIX networking commands:

ifconfig
ethtool
ping
netstat
traceroute

I am having some issue with some of these commands which I think may be caused by my router set up, all of these commands where working well at the Monash Labs. Will need to investigate further.