> Central Processing Unit
> "Brain" of the computer
> Controls and sequences all input/output operations and carries out simple logical and arithmetic operations very quickly (>billions/s)
> HARDWARE (just like other physical components of the motherboard)
> the physical components of the computer that you can touch
> two types: the system consisting of the CPU; and the other hardware e.g. HDD, RAM, optical drive, other circuit boards (e.g. graphics and sound cards).
OS
Nota:
> Operating System
> sits on top of the hardware
> e.g. Android, OS X, Windows
> provides an interface between the user and the hardware
> it is system software
> carries out 5 main functions
>Memory Management - manages system resources which involves allocating memory space to programs and data. It tracks which parts of the memory have already been allocated and the parts that are still free
>Communication - provides a Human Computer Interface (HCI). deals with any errors that occur while a program runs or when data is being transferred somewhere and informs the user if necessary
>Data Transfer - deals with accepting data from input devices and transferring it to the computer's memory. will ensure that any output is sent to the correct output device, managing the transfer of data between the computer's memory and backing storage devices
>Processor management - deals with the loading of application software into the processor and controls execution of them. Also provides a way for the applications software to communicate with the computer's hardware
>Security - manages system security which involves monitoring and restricting access to programs and data and preventing unauthorised access to the system.
Mermaids Can't Date PrinceS
System software
Nota:
> low-level software concerned with the more technical aspects of setting up and running the computer system> many of the tasks the system software carries out are invisible to the user> provides an interface between the user and the hardware
> acts as a platform for other systems to run> e.g. memory management, virus detection> systems software (other than OS) includes utility programs, compiler/assembler and interpreter software> Higher level software is application software which enables users to accomplish tasks.> e.g. Database software, Word Processing, Spreadsheets.> Customised application software can be developed for specialised tasks.
Source Code
Nota:
> Human-readable programming language
> written in a text editor (e.g. Notepad++) or more commonly in an IDE and saved to a storage device (e.g. a hard disk drive (HDD)) as encoded text.
IDE
Nota:
> Integrated Development Environment
> a program that provides comprehensive facilities to a programmer for software development
> normally includes a source code editor with syntax error highlighting features, compliation automation tools and debugging aids
> can also contain: single step operation (works through code line at a time, programmer can view related data before and after execution); Watch; Breakpoints
> e.g. Microsoft's Visual Studio range (supports Visual Basic, Visual C++, Visual C#, and Visual Web Developer. It's principal elements are a code editor, a debugger, and a designer and each has many lower level features to help the Software Systems.
ASCII
Nota:
> American Standard Code for Information Interchange
> was standard way to encode keyboard characters for storage on a digital storage device (e.g. HDD)
> defines a 7-bit digital code for every character the standard computer keyboard.
> has 127 possible encodings
> first 32 are non-letter characters
> other characters (e.g. €) cannot be represented by ASCII as _______
> more modern and flexible encoding include unicode
> upper and lower case letters use different codes
Executable Files
Nota:
> after code is written in a text editor and saved to the HDD it can be compiled into a file that has the program instructions in a form which can be understood by the CPU
> these "machine-code" files/binary files/executable files are no longer legible for the programmer and contain a series of operation codes for CPU instructions and the memory locations of the data
0 or 1 = Bit (Binary digIT)
Nibble = 4 bits
Byte = 8 bits/ 3 nibbles
> these can be used to represent characters/text
XML
Nota:
> Extensible Markup Language
> A more structured way to store data
> Created as a standard means to store and transport data
> Closely related to HTML (HyperText Markup Language)
> Does not process data or preform any calculations on data just stores it, a "wrapper"/ "envelope"
> Most common mechanism for data transfer between software systems
Differences between XML and HTML
Nota:
> BOTH
> Intuitively readable
> Use tags to identify data types
> XML
> designed to carry and store data
> doesn't DO anything
> all tags are user-defined (provided by the user (in a context where the usual assumption is that things will be built-in to the program))
> HTML
> designed to display data
> has built-in tags (e.g. tags to indicate the data following the tag was part of the page header and not to be displayed)
Application Development Software
Nota:
> Software Systems Design - The process of designing and developing software systems.
> Includes research, prototyping, testing, modification, re-engineering and maintenance
> For programming in today's high level languages many of these activities take place within an IDE