Wednesday, 1 October 2014

GrOPER-SYS

Operating Systems, GrOPER-SYS Pitch

The operating system is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers.

For large systems, the operating system has even greater responsibilities and powers. It makes sue that different programs and users running at the same time to not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system.
Operating systems recognize input from peripheral devices
Operating Systems can be:

Real-time (RTOS) - Are usually used to control machinery, scientific instruments ad industrial systems. This typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box"  when delivered for use. Any particular operation will execute precisely in the same amount of time, every time it occurs.

Single user, single task - As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a single user, single task operating system.

Multi-User - A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't necessarily affect the entire community of users. Unix, VMS and mainframe operating systems such as MVS are examples of multi-user operating systems.

Multi-Tasking - Allows more than one program to be run at once. This can either be pre-emptive or co-operative. 
                        1. Pre-emptive - The operating system divides the CPU time and allocates a slot for                                                        each program.
                        2. Co-operative - Relies on each program to allocated time for each other. 

Distributed - Multiple computers working together to carry out multiple computations. When acting together they can be described as distributed.

Embedded - Used in embedded computer software. (Used on small computers with less resources). 


GrOPER-SYS

I'd like to introduce to you GrOPER-SYS - The new mobile operating system for smartphones and tablets. It is an open source system that aims to offer a more in-depth user experience - unlike many other OSs, GrOPER-SYS has no restrictions. 
HTML5-based applications are emphasized, and there is a large store for apps that can be easily uploaded by users. 
Essentially, we aim to have a full PC experience - on a mobile, with all the standard applications included such as command prompt. 



Monday, 29 September 2014

Recursion

 - A method or function that calls itself.
 - A type of iteration or looping.
 - Must have a stopping condition (this prevents endless loops).

Two types:
 - Tail, when the last thing that happens is the recursive call.
 - Head, when the first thing that happens is the recursive call.

Functions, Subroutines, Procedures - Worksheet Answers

A function can pass values, and will return a value:
                    Def function(somenum):
                                  Return somenum*3

A subroutine is a portion of code within a larger program that performs a specific task and is relatively independent of the remaining code (called by name):
          go sub

A procedure can receive a parameter or argument and does not have a return values (which would make it a function, essentially).
          Def procedure(somenum):
                print(somenum)

An iteration means the act of repeating a process with the aim of approaching a desired goal, target or result. Each repetition of the process is also called and "iteration", and the results of one iteraiton are used as the starting point for the next iteration.
       
         Iteration is used to repeat sections of code:
         
         number = 1

         while number = <10
         print("Iteration!")
         number = number + 1
           
        Iteration means less code == easier to read.
        More efficient // powerful.
        More manageable && maintable
        More extensible with new features.

A for loop is a set of instructions that repeat until a criteria is met. It is:

            - Count controlled
            - Repeats a fixed number of times based on:
                           1. Limit
                           2. Increment
            - Good for arrays or when number of repetitions is known in advance

While loops are condition controlled loops, so they work like IF statements. They repeat for as long as the condition is true, which can be a problem as an indefinite loop never fails.
There are two types of while loops:
       While do: Condition first so may never run:
                      while 10 + 10 = 20
                      print("While do")
       Do while: condition last so always runs at least once
                     print("do While")
                    while 10 + 10 = 20

ITERATION WORKSHEET
For loops
a) A for loop completes a set of instructions, repeating until a criteria is met. The number of repetitions is known in advance.
b) int i = 0; - Initialize (initializes the variable!)
    i < 10; - Argument (continuation condition) - Tests if i meets certain condition (if < 10)
    i++ - Adds on 1

While loops
a) for (int i = 0; i < 10; i++){
               System.out.println(i)
    }
---------------------------------------------
Corrected:
i = 0
While (i < 10)
    print(i)
    i++

b) Program a working solution that counts from 10 to 1:
for (int i = 10; i > 0; i--){
              system.out.println(i)
     }
 
c) What is the difference between a while loop and a for loop?
A for loop is count controlled and will  repeat for a predetermined number of iteraitons.
WHILE is condition controlled and will repeat until a conditional statement is satisfied. 
     

Thursday, 18 September 2014

RAID

RAID
RAID (Redundant Array of Inexpensive/Independent Disks) is a term to describe several hard disks made into one logical disk.

The main reasons why RAID is used are:
-          To make loss of data happen less often
-          For more storage space
-          More flexibility – a disabled hard drive doesn’t mean no computer
-          Access data more quickly

The disadvantages of RAID are:
-          Certain choices can protect against data being lost because one (or a number) of disks failed. This does not, however, protect against the data being deleted or overwritten.
-          After one (or a number) of disk failures, getting the system into a clean state could take a long time
-          RAID can be a little challenging – some easy to make mistakes can result in nulled data

Monday, 15 September 2014

What is an Algorithm? Answers June 2010

An algorithm is simply a set of instructions or steps that is followed to complete a task.

There are 2 common ways to display algorithms, one being flowcharts, and another being pseudo-code.