•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.
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.
–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.
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.
–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.
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.
No comments:
Post a Comment