Cloud computing refers to accessing data and programs over the Internet as opposed to your Computer's hard drive.
It can be seen as relying on your Internet connection to store, retrieve and even process your data
Cloud computing allows users to run particular software, as well as have access to their stored data anytime, anywhere and on any computing device.
Cost efficiency
Users can save money on storage devices as their data is hosted externally
Program licensing costs can be reduced as software can be hosted and used externally
Convenience
The cloud can be accessed wherever there is an Internet connection available
Users have peace of mind knowing their data is hosted externally, as it eliminates the risk of leaving data at home or in another environment
Data is available whenever and wherever its needed
Backups & Recovery
Backups can be made online without hassle
Recovery is easy as data is stored online and can be accessed from anywhere
Storage Capacity
The Cloud often offers more data storage capacity compared to physical hardware
Cloud servers have a large amount of storage available
The cost for storage is much, much cheaper than the cost for an equal-sized physical storage device
Privacy & Security
As your data is hosted elsewhere, it's not easy to ensure the privacy and protection of it
Each company has different policies on how they store your data and what it can be used for
Security is another factor that needs to be addressed, as personal information because available to the world wide web
Downtimes and Unavailability
Sometimes hosts can go down
This means that your data may be inaccessible if a company hosting your storage has a downtime
Limited Functionality
In terms of programs and hardware, functionality is limited to the company's discretion
Features and performance of the hardware is dependent on the company's architecture
As many users will often use the same resources, certain aspects of the cloud may be slow
To converge means to meet at a point
Convergence is the act of meeting at a point
In technology, this means that products converge when they evolve to perform similar tasks
An example of convergence in technology is a smartphone capable of taking photos (camera + phone = camera phone)
As technology evolves, more and more features and tasks need to be addressed
Instead of creating individual devices for each of these tasks, we can create one device to perform multiple
Convenience is priority, a smartphone is capable of handling the tasks of a camera, telephone and a computer (to an extent)
As mentioned, convenience is a large factor in convergence
The ability to carry a single pocket-sized device with the capability of 4 devices is highly sought after in today's world
Mobile devices such as smartphones and tablets are very good at handling these types of tasks that are common in other devices
Such as: taking photos, browsing the Internet, playing games, taking notes, taking calls & messaging, viewing emails, etc.
Smart Watches and TVs are the latest in technological convergence, the former allowing for these functions from your own wearable device
A file system is a core component of a computer system
The file system is used to control how data is stored and accessed
Without a file system, information would be stored in one large chunk
The data is grouped in order to make it easy to identify where one piece of information begins and ends
This grouped data is what we call a file
Each file system, see image bottom of page has its own method of organising data
Space management refers to how we use and manage space on our storage devices
Often, storage devices such as hard disks (HDDs) and solid-state drives (SSDs) are partitioned
Partitioning is the action of breaking up a storage device in to many usable chunks
This has many benefits, including:
The option to run multiple Operating Systems (wherein each OS is installed on a different partition)
Partitions can be used for storage space outside of an OS, meaning even if the OS corrupts, the data on the created storage partition will remain
Partitioning eliminates the need for multiple physical storage devices as we can divide one storage device in to many virtual storage devices
Operating Systems will often create multiple partitions when installing, however we don't generally see these partitions on common Operating Systems such as Mac OS X and Microsoft Windows
These system-created partitions are generally for use as reserved sections that allow for important data
This generally includes a boot manager and necessary configuration files for booting in to the OS
Operating Systems contain disk utility applications that allow for creating, deleting and modifying partitions
File names are used to identify where a specific set of information is stored on a file system
A file name is essentially an identifying name given to a computer file
Some systems are case sensitive, meaning a file named "MyFile" and "myfile" point to different files
Generally systems are case insensitive, meaning "MyFile" and "myfile" will point to the same file
Special characters such as ':' aren't generally allowed in file names
File systems contain directories, or more commonly referred to as folders
These directories are capable of grouping specific files in to a centralized place
Directories work off a hierarchy basis, meaning each folder can contain multiple sub-folders, each containing their own files
Information systems have multiple stages of data flow
The first stage of data flow is input
This is where the data to be processed is put in to the system
Data input can occur in many ways, such as from:
A keyboard
A mouse / trackpad
Scanners
Barcode readers
Touch screens (common on mobile computing systems)
Microphones
Web-cams
Data must be converted from an analogue to digital format if it is not already digital
This is because computers work in a digital format (i.e. binary)
Processing is the next phase of data flow
This is the stage where the data is prepared for the task being performed
The data is shaped to provide an output of useful information
Data processing can refer to multiple tasks, such as:
Sorting
Searching
Graphing
Calculations
Converting (e.g. to another format)
Validation (ensuring the data's validity)
Aggregation (combining multiple pieces of data)
Analyzing
Reporting
There are different types of processing types that are each suited to particular situations
Read The Computing Teacher's article on Processing Types here
Data is often stored after it has been processed, but not necessarily permenantly
Data can be held temporarily in memory or stored on non-volatile storage devices, such as:
Hard Disk Drives (HDD)
Solid-state Drives (SSD)
Optical Drives
Flash drives
Storage is useful for data that we may need to process in the future
Read The Computing Teacher's article on primary and secondary storage here
Read The Computing Teacher's article on storage capacities here
Data that has been processed is now ready for output
The data is presented in a suitable format depending on the desired result
For example:
We can hear the output for data involving sounds (such as music)
We can see data such as text and graphs as a visual output
We can feel certain outputs such as haptic feedback (e.g. mobile phone vibrations upon touch input)
Other data that has been output may be re-used for further processing
Some devices such as printers allow for data output in other physical forms
Multiple systems include various types of output
We generally think of data that has been output as information from a process that we can see, hear, feel or work with
Background
An operating system (OS) is software that makes a computer work.
It coordinates all aspects of what you do on a computer.
It processes everything by controlling the central processing unit (CPU)
It manages the software you use. (by allocating memory to that software) eg typing, browsing, emailing etc
It saves your work. (by putting it into memory - primary and secondary) to cpu, cache, SSD, HDD, USB
It connects the computer to your printer, USB, and other hardware
Role of the OS
Scheduling tasks = the OS decides which tasks take priority and allocates processing requirements accordingly (including multitasking)
Managing concurrency = the OS manages which processes are running simultaneously and potentially interacting with each other
Managing memory = the OS manages memory allocation and memory addresses for running processes
Devices = the OS manages hardware devices and other peripherals so that they can interact with the system and each other
Embedded OS
An embedded operating system is an OS that is built in and configured to a particular hardware configuration
Embedded OS's are designed to be compact, resource efficient and lightweight
These types of OS's are designed to run a particular task and run it efficiently.
Examples are in Blackberry, Android and iOS smartphones.
Standalone OS
A standalone operating system is an OS that works on a computer that is by itself.
Most OS these days can be standalone AND they can be networked.
An operating system can be considered as standalone if it does not require any other library or another OS to boot
Standalone is not a common term these days as most major OS's (Mac OS X, Windows and Linux) are standalone by default
Example of a standalone OS are Windows 7 and Mac OS X
Basic criteria for a standalone system includes:
An OS that never exits
An OS that loads in to memory
An OS that begins its own execution
An OS that never fully hands over execution
Server OS
A server OS is an OS that is designed specifically for a task (usually over a network)
It is an Operating System that has special features and abilities required by a client-server architecture
Windows, OS X and Linux all have their own versions of Server OS's
Apple Macintosh OS X = the default OS used by Apple desktops and laptops
Written in C, C++ and Objective-C
Based off a Darwin (an UNIX-like OS built by Apple) as well as BSD (UNIX OS)
Microsoft Windows = a well known and largely used OS built by Microsoft
Written in C, C++ and Assembly
UNIX / Linux = a free and opensource Operating System
Written in C and Assembly
Compare different OS types here
A processor can be seen as the brains of a computer
The CPU (central processing unit) is in charge of prioritizing tasks as well as processing the information
In technical terms, the processor is the logic circuitry that processes information
Distributed processing is a term used to describe a variety of systems that use more than one computer (or processor) to run specific programs
Parallel processing refers to a single computer that uses more than one CPU (central processing unit) to run applications and tasks
Distributed processing can be done through local area network's; wherein special, complex software is able to detect CPU's that aren't in use across computers on the network and utilizes them to run other software
Seqential processing is when the processing occurs in the order that the tasks were received
For example, applications such as a word processor would send tasks through to the CPU
The tasks would be processed in the order that they were sent through with sequential processing, generally:
Opening the document
Editing the document
Saving the document
A task cannot be processed until the task preceding it has completed
Multi-core processing occurs in computers with multiple processing "cores"
Each of these cores acts as an individual processing device
Often, modern computers run on dual-core and quad-core processors
Dual-core refers to CPU's with two cores, whilst quad-core CPU's contain four cores
Multi-core processing allows for tasks to be run simultaneously, meaning that more than one task can be processed at a time
Sometimes it's essential to securely dispose of data that could be potentially harmful or discriminating in the wrong hands
Simply moving a file to the computer's trash is ineffective, as this only removes the indexes to the data, hence the information is still available on the disk
Methods to successfully securely remove this information include software capable of overwriting or "wiping" the media, as well as physical destruction of the media
Special software can be used to remove data securely
Although the data indexes are removed, the information can be left physically sitting on the disk, hence a recovery program may still be able to read this information
Data erase software can be used to remove this data securely from a machine
This works by overwriting the storage locations (where the data is) with either complementary variations of 1s and 0s (meaning the opposite of what is currently stored), or by replacing them with random 1s and 0s
This generally allows for secure data disposal as the information is over-written with random bits
Many types of secure disposal software, allow for an option to over-write the data multiple time, with more times ensuring a higher chance that the data is un-recoverable
Physical destruction is a good way to ensure that data cannot be attained from a storage device
By mangling the hardware components of a storage device, the disk becomes unusable in a normal computing environment
Using a hard drive tool such as a degausser will de-magnetize the physical medium
A degausser will wipe all the data on the hard drive, as well as over-writing and removing the factory pre-recorded data, making the disk unusable
Storage is the holding of data that can be retrieved for future use
Capacity is the maximum amount that something can hold
Storage capacity in terms of computing is the maximum amount of data that can be held and retrieved
A bit is the basic unit of information for computer systems and can only have one of two values (commonly represented as a 1 or a 0)
Bit is shorthand for binary digit
A bit = the basic unit (can contain only one of two values)
A byte = made up of 8 bits
A kilobyte [kb] = made up of 1024 bytes (generally referenced as 1000 bytes, hence kilo)
A megabyte [mb] = made up of 1024 kilobytes (generally referenced as 1000 kilobytes, hence mega)
A gigabyte [gb] = made up of 1024 megabytes (generally referenced as 1000 megabytes, hence giga)
A terabyte [tb] = made up of 1024 gigabytes (generally referenced as 1000 gigabytes, hence tera)
Although commonly referenced in terms of thousands, you'll notice they end in multiples of two
This is because memory is measured in terms of base two
Hence,
2 ^ 1 = 2
2 ^ 2 = 4
2 ^ 3 = 8
...
2 ^ 10 = 1024
'Bits and Bytes' explanation by Stanford here
'Bits vs Bytes' explanation by New Jersey Institute of Technology here