Thursday, 12 June 2014

Databases

Databases.

A database is and organised, group of data. there are three aspects to a database.

The external view, this is what the general user sees when they open the database, usually a simple to see sectioned view of the data.
The connectional view,
The physical view,

EXAMPLE OF A SERIAL FILE DB + SEQUENTIONAL DB + FLAT FILE + HEIRACHICAL.

Thursday, 3 April 2014

NET WORKS

Networks-

LAN stands for local area network. This means it interconnects with either a home or business site full of computers . it how the internet was born on each pc. A LAN is useful for sharing recorces like printers and files to each computer.

Advantages of using LAN:
they are easy to set up.
they are convenient.
they are also easy to expand.
they connect computers together like marriage
they can now share recourses.
Disadvantages of LAN:
they are not very secure.
limited to a certain geographical area.
need to maintained many times.
not very particle over wide areas.

Hardware.

THE INTERNET

 
 a software consultant named Tim Berners-Lee at the European Organization for Nuclear Research hatched a plan for an open computer network to keep track of research at the particle physics laboratory in the suburbs of Switzerland. Berners-Lee's modestly titled "Information Management: A Proposal," which he submitted to get a CERN grant, would become the blueprint for the World Wide Web. AND THUS THE INTERNET WAS BORN.
 The Internet protocol suite is the networking model and a group of communications protocols used for the Internet and similar networks. It is commonly known as TCP/IP, because its most important protocols, the Transmission Control Protocol (TCP) and the Internet Protocol (IP), were the first networking protocols defined in this standard.
 
 
Types of LAN setups:
Star topology,
shared link to servers, most common, few data collations, fast, can set up independent segments.
Bus Topology,
good things: one common linking cable, cheapest of them all, nodes connected off the cable.
bad things: slows down when heavy traffic, lots of data collisions, bad cable effects whole network, limited distance is possible.
 
Ring Topology,
one common linking cable, passes all nodes, one direction travel, fast performance, however... a single problem and the whole network goes down.

                                                                   DNS DNS DNS!!!!!!!!!'

A DNS (domain name server) is a server that allows the translation of a desired domain, like www.reddit.com, into an IP address which the Internet is based on. So every time you use a website a DNS finds the corresponding IP address. However the interesting thing about DNS systems is: they are in fact their own network, so if one DNS server doesn't recognise or cannot translate it will go and ask another one. 
Now, when you enter the web address "www.neatorama.com" it is in an alphabetic value so it needs to be translated into a IP address so the Internet knows where to go. It will go through your routers cache to check if it was recently visited, nope! So it goes to a DNS through the DNS servers till it is translated into an IP address. So the computer now sends off the IP address it received and carries on its way to "neatorama?"

Advantages:
Easier to remember instead of lots of numbers. 
Easier for categorising.
And is the sole reason search engines work.

Disadvantages:
Spoofing DNS would result in data being left in the wrong hands.
Breaking an important DNS server would be very dangerous to the Internet.
The Internet was made without wanting to be decentralised, DNS makes it centralised. 

Monday, 24 March 2014

A451 software theory

 
An algorithm that is coded for a computer to use to perform tasks is a program.
•Programs are generally known as software, to distinguish them from the hardware on which they run.
•The term software also includes the associated data that a program needs.
•Software is written using programming languages, a type of software.

There are many types of software but they generally fall into three main categories:
Systems software
Development software (programming languages and utilities)
Applications

Systems software includes:
Operating systems
Device drivers
Firmware
Servers
Utilities
Interfaces

An operating system, sometimes called a platform, is a collection of programs that control the hardware in a computer or device.
At the heart of the operating system is the kernel which looks after the most low-level hardware operations.

Multi-tasking allows the computer to make best use of the CPU.
The CPU works much faster than RAM and the other components of the computer.
While the CPU waits for other actions to complete, e.g. loading data to RAM, it works on other tasks.
Users often have several tasks running at the same time, for example word processor, email program, music player, spread sheet and web-browser.
 
A multi-tasking operating system allows several processes to be in RAM at the same time:
–Running: The CPU is currently dealing with this process and others must wait.
–Runnable: These are ready to go and just need the running program to finish or be interrupted to get the CPU’s attention so they can run.
–Waiting: these processes are waiting to get into the queue and become runnable.

The role of the multi-tasking operating system is to ensure all the processes get attended to by the CPU in the most efficient way.
There are many ways this can be done, but the operating system usually switches very quickly between processes and the user rarely notices that this has happened. The system appears to be doing lots of jobs at once.
 

Examples of operating systems:
–Windows®: A powerful multi-tasking operating system from Microsoft. It provides a graphical user interface (GUI) that enables all applications running under Windows® to look similar.
–UNIX: a robust and stable operating system used on servers and on workstations. Traditionally a command line interface, but there are many user interfaces developed to run on top of UNIX for the non specialist user, for example:
–MacOS: Apple Computers’ own proprietary operating system based on UNIX and iOS used on the iPhone and iPad.
–LINUX is designed to behave like UNIX but was developed separately and is the basis for many other operating systems.
–The kernel has been adapted to run devices from supercomputers to mobile phones.
–Some LINUX based systems include:
Red Hat
Debian
Ubuntu
Google’s Android smart phone operating system


The operating system also provides facilities to deal with peripheral devices.
–When a peripheral is required, a signal, called an interrupt, is generated to signal to the operating system that it needs to deal with something.
–This tells the CPU to stop the running process as soon as it can and to deal with another process linked to the peripheral device. These programs are called device drivers.
–When the job is finished, the CPU returns to the point where it was interrupted and carries on.
 
•The operating system is loaded from disk into RAM on the typical desktop or laptop computer.
•For devices running embedded systems the operating system is stored on ROM or in flash memory.
•Software stored in this way is called firmware.
•Firmware is typically the set of small programs used to control an electronic device.
•Larger computers also have firmware in ROM to take care of boot up.
 
Operating systems also have supporting software to manage various aspects of the system:
Utility software
is often loaded with the operating system
comes as small-scale programs used to carry out simple maintenance tasks.
Security
Anti-virus software to detect and remove viruses that could damage the data on the computer;
Anti-spyware to detect and remove spyware such as a Trojan that logs key strokes to steal passwords and other sensitive data;
Firewalls that restrict incoming and outgoing access to certain network addresses.


Maintenance: Disk organisation tools allow formatting and management of files on disks, for example:
–Disk defragmenters: As files are deleted and added, the data gets spread around the disk, leaving gaps. The defragmenter moves the files to put all the free space together to improve access speeds.
–Other utilities include:
–Archive
–Backup
–Data compression
–Disk cleaners
–Network utilities

DEVELOPMENT SOFTWARE

Editors
Editors are used to write programs. These are basically cut-down versions of word processors that do not save any formatting, e.g. Notepad for windows.
Editors will often have features to help organise the code by detecting program constructs and indenting loops, using different colours for key words and automatic line numbering.
 
Compilers
Translate the high-level code used by the programmer into the machine instructions required by the computer.
The high level code produced by the programmer is called source code, and the machine instructions created by the compiler, object code.

Interpreters
Translate the high level code into machine instructions (code) but they translate the code one line at a time and execute it, instead of translating the whole program to create the object code.

Assembler
Translate assembly language programs into machine instructions. Instead of using binary machine codes assemblers use mnemonics to represent these, making them much easier to read for the programmer. Assembly language is not machine code but each assembly language instruction translates to just one machine instruction.

Linkers
Connect together sub programs to create larger programs. Often programs are made up from sub programs written using different tools and languages. The linker is used to combine all of these separate modules of code to ensure they will work together
 
1. Idle can help new users as it has a syntex error checker. this can help as it tells the user where they went wrong. idle uses a basic language that can help new users understand how programming works.

2a) An open source software is created by the community. it is usually highly customisable and cheap or free for anyone to use.
2b) It is cheaper and/or free so john will save money. it can be modified to suit all of johns needs.
it may not be as safe due to it being made by 'un-professionals' it will have constant updates since with more people working on it they will constantly find new things.

3a)Editors are used to write programs. These are basically cut-down versions of word processors that do not save any formatting like notepad.
b)Disk defragmenters: As files are deleted and added, the data gets spread around the disk, leaving gaps. The defragmenter moves the files to put all the free space together to improve access speeds.
c)Firewalls restrict incoming and outgoing access to certain network addresses.

4a) Off the shelf software is practically plug and play, it is like windows or office so you can load it up with no hassle.
b) Custom written software can be more expensive as you must pay a programmer to do what you want, also if you want it to have no bugs and be very stable you must put a lot of money and effort into it. So that is why off the shelf can be cheaper and generally easier.

Monday, 11 November 2013

Binary 101



Binary


Binary is machine code. In Binary, every digit is represented as either a 1 or a 0. Binary works in multiples of 2.
The digits: 8 4 2 1 represents a nibble. This is 4-bit.
The digits: 128 64 32 16 8 4 2 1 represents a bit. This is 8-bit.
All the digits are represented by either a 1 or  0. For example:
0001 1001 = 25
Because...
128\
|128|  64 | 32 |16  | 8 | 4|  2 | 1  |
| 0   | 0   | 0    |1     |1   |0|   0|   1|  
And 16+8+1 = 25


Hex
Instead of working in multiples of 2, Hex works in multiples of 16, it's called Base 16.



ASCII 

ASCII stands for American Standard Code for Information Interchange. It is used to represent characters:
  • Upper and lower case letters (52 characters)
  • All the numeric symbols (10 characters)
  • Punctuation and Space (33 characters)
  • Non printable code (32 characters) 

The http://www.mathsisfun.com/binary-number-system.html

Instruction Set 

An instruction set is the instructions used by the CPU to run a program. It tells the CPU what to do. 
To run a program, the CPU must go to the start address, from there it decodes its first instructions and finds out what to do next.
Both instructions and data are written in Binary code. The CPU cannot differentiate between the two. If the CPU expects to find instructions, it will find it and decode it.
Examples of Instruction Set
ADD - Add two numbers together.
COMPARE - Compare two numbers.
IN - Input information.
JUMP - Jump to a location in the RAM.

Instruction sets are written in 2 parts:  operator and operand.
The operator tells the CPU what to do. The operand gives the location.

The Instruction Set can be embedded in the processor or part of the software.


Representation of Images

Images are stored in binary and are made up of pixels. When representing colour, we use bits per pixel. 1 bit represents two colours: 
0 = Black
1 = White
With 8 bits, we can represent 256 colours. Colour depth is the number of bits per pixel. To get a better quality image, more bits must be used. That way, more colours can be encoded into the image.
Resolution is the number of pixels per unit of measurement. The higher the resolution, the clearer the image will be.
Meta data provides information about an image that the computer can use. Meta data includes:
  • The height and width of an image,
  • The colour depth,
  • The resolution,
  • camera used and when the image was taken.

Representation of Sound

Sound is also stored in binary. The computer converts sound (which is continuously varying data) into digital data by sampling the sound wave at regular intervals. The frequency of this is called Sample rate.
How much data is stored per second is called the bit rate. When we store the sound file, the higher the bit rate, the better quality of file. However, this will mean a larger file.


development software

Editor
Programs must be written in an editor, this is like a cut down word processor but it doesn't save your formatting or text for example notepad- on windows or G edit- on Linux. there are some advanced, deemed almost useless editors that grant the amazing perk of... pretty printing. this recognises constructs and put them in different colours :/

Compilers
High level languages look alot like normal English, they are designed to make programming easier, each statement in high level language is turns into machine instructions this makes it easier on the programmer. it is more focused on the programmers intentions than the machine. they are made to convert hihg level language into language the CPU is able to process. 


Interpreters
Interpreters are similar to compilers but they do a line at a time and execute as they go. they are great for debugging as they tell you which line had the error when it failed. although it uses more RAM and restricts whoo can run the software to those who have the correct interpreter. It is also slower to translate and run every line. Examples are different versions of basic, just like HAND BASIC on my ipad. 

ASSEMBLY LANGUAGE
Assembly Language makes writing machine code programs easier. It uses mnemonics to represent machine operations. It allows the programmer complete control over their code, however it takes longer because of this.  Assembly language is unique to the processor that is running it. Assembly language must be converted into machine code by an Assembler.

LINKERS
Linkers allow programs to be built from subprograms. Different parts of programs can be written in different languages with different tools. These are put together by Linkers, literally, linking the separate sub programs together. They also ensure that once the program has been put together, that it runs smoothly





























Thursday, 10 October 2013

Memories.

Flash memory Is given its name due to the way in witch it works, it was first used by toshiba who used a large current To force electrons through a barrier to trap them in a layer on the other side of the barrier until they reset.this 'flash' gives us the name. Flash memory is a removable memory in a wide range of devices. The most we widely use is USB sticks. Even though it being a ssd with no moving parts makes it reliable, although after lots of writing and rewriting it may deteriorate. Flash memory makes a low cost portable and removable storage. 
Virtual memory is a section of  the hard drive that creates a virtual space for program's and things to be stored in.
Cashe memory is memory located either on the CPU or nearby, on the motherboard. This memory acts as a buffer for the CPU, it stores recently used data so it can access it quickly . The CPU always checks the CPU first.

Ram is volatile so when its turned off nothing is stored, it takes files from the hard drives and gives them access to the CPU.  Static ram takes up more ram on a chip, and dynamic ram constantly refreshes.
The more ram available the more program's and data can be used at the same time. 

And/ or gates




Thursday, 26 September 2013

Binary Logic

 A binary digit, or bit, can have one of two states. That is what DW described.
Binary logic is usually used to refer to computer gates that create a result based on binary input.
 0 = (not 0) 1
1 = (not 1) 0
Not gates don't need a signal (0) to output a signal. 
 

 And gates need both inputs to be on (1) to output a signal. 
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1

or gates need atleast one input to be on (1) to output a signal.
 0 OR 0 = 0
0 OR 1 = 1
1 OR 0 = 1
1 OR 1 = 1
 
 
on switch- 1
off switch- 0