Friday, 13 February 2015

Utility Software

What is Utility Software?

Utility software is system software designed to help analyse, configure, optimize or maintain a computer. Utility software usually focuses on how the computer infrastructure (including the computer hardware, operating system, and software and data storage) operates.
           
What is Anti-virus Software and how does it work?

Antivirus (or anti-virus) software is used to safeguard a computer from malware, including viruses, computer worms, and Trojan horses. Antivirus software may also remove or prevent spyware and aware along with other forms of malicious programs.

Viruses, Trojan horses, and worms

Virus: A computer virus attaches itself to a program or file enabling it to spread from one computer to another, leaving infections as it travels. A computer virus can range in severity: some may cause only mildly annoying effects while others can damage your hardware, software or files. Almost all viruses are attached to an executable file, which means the virus may exist on your computer but it actually cannot infect your computer unless you run or open the malicious program.

Trojan horse: The Trojan Horse at first glance will appear to be useful software but will actually do damage once installed or run on your computer.  Those on the receiving end of a Trojan Horse are usually tricked into opening them because they appear to be receiving legitimate software or files from a legitimate source.  When a Trojan is activated on your computer, the results can vary. Some Trojans are designed to be more annoying than malicious (like changing your desktop, adding silly active desktop icons) or they can cause serious damage by deleting files and destroying information on your system.

Worms: A worm is similar to a virus by design and is considered to be a sub-class of a virus. Worms spread from computer to computer, but unlike a virus, it has the capability to travel without any human action. A worm takes advantage of file or information transport features on your system, which is what allows it to travel unaided.

What is a firewall and why would we use one?

Protect a network or system from unauthorized access with a firewall.

What is encryption and why would we use it?

Encryption is the most effective way to achieve data security. To read an encrypted file, you must have access to a secret key or password that enables you to decrypt it. Unencrypted data is called plain text; encrypted data is referred to as cipher text.
  
What is disc management software and why do we need it?

Disk Management is an extension of the Microsoft Management Console that allows full management of the disk-based hardware recognized by Windows. Disk Management is used to manage the drives installed in a computer - like hard disk drives (internal and external), optical disk drives, and flash drives.

What is disc defragmentation and how does it work?

Disk Defragmenter is a tool that rearranges the data on your volume and reunites fragmented data so your computer can run more efficiently. In this version of Windows, Disk Defragmenter runs on a schedule so you don't have to remember to run it, although you can still run it manually or change the schedule it uses.

What is system maintenance software and why do we need it?

Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes. A common perception of maintenance is that it merely involves fixing defects. However, one study indicated that over 80% of maintenance effort is used for non-corrective actions. This perception is perpetuated by users submitting problem reports that in reality are functionality enhancements to the system, [citation needed] More recent studies put the bug-fixing proportion closer to 21%.

What are development or dev tools and why do we use them?

Web development tools allow web developers to test and debug their code. They are different from website builders and IDEs in that they do not assist in the direct creation of a webpage, rather they are tools used for testing the user facing interface of a website or web application.
     
Explain what an assembly language is and what we use an assembler for.


An assembly language is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling. Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code. Assembly language uses a mnemonic to represent each low-level machine instruction or operation.

Software

  • Software- Notes
  •  Software is the programs that run on a computer.
  •  System software- controls and makes use of hardware.
  •  Applications software- programs which do real world tasks the user wants to do
  •  Software is written by programmers using various programming languages.
  •  Applications software and system software- operating system, drivers, firmware, servers, development tools, interfaces and utilities.
  •  In 1937 Alan Turing thought of a device which would do any task when it was given the instructions to do it- the computer.
  • The instructions are loaded into RAM from hard drive and fetched- decoded and executed by the CPU. These instructions are a program i.e. software.
  •  The CPU only understands binary- Machine code (low-level language) long winded and difficult. So programmers use high-level languages to set out algorithms as a program.
  • The Operating system- necessary to run all computing devices.
  • The operating system sits between your applications and the hardware of your computer.
  • The operating system deals with controlling all aspects of the computer.
  • This makes it easier to write applications
  • The Kernel is the lowest level of an OS and controls the hardware
  • It manages the hardware and software resources of the system
  • In a desktop computer, these resources include such things as the processor, memory, disk space and more.
  • For example, when you wish to save a document, the application passes the document to the operating system (OS)
  • The OS needs to use different instructions to save to a hard disc compared to a solid state drive.
  • The OS uses special software called a device driver to translate the specific instructions to save to that hardware.
  • Each different piece of hardware will have a device driver to communicate between the OS and the hardware.
  • The computer has peripherals in order to input output and store data. The signal that controls them is a device driver which is controlled by the software. Each peripheral has its own driver depending on the manufacturer. There are some generic device drivers in windows 7/8
  • The application software doesn't need to know about the devices, it just passes on requests from the user to the driver.
  • Interrupt signal is generated by a program, which tells the OS to stop a program using a device and make the CPU do a task for another program with the device.
  • Applets- a small application that does a small task. The OS has applets built in to allow the user to e.g. change the screen resolution.
  • Firmware is the initial start-up before devices drivers are loaded on. This is stored permanently on ROM chips e.g. BIOS- basic input output system, which does the initial start-up of a computer.
  • Firmware also runs on simple devices such as a TV remote or a camera.
  • The word server applies to the hardware (the computer) and software.
  • Server software responds to the requests of other programs (clients). It’s used on the internet and on smaller networks like we have in school, e.g. when we ask to print- the server software processes the request and delivers the data to the client.
  • Servers also have their own special OS such as windows 7/8
  • Any computer can be a server.
  • The OS controls multi-tasking, making it look like the computer is running more than one computer at once.
  • It does this by switching between programs very quickly.
  • The CPU is so fast there are times when the RAM can’t keep up (video buffering) so the CPU is instructed by the OS to do something in this time.
  • The OS controls the memory management, allocating RAM space to programs.
  • It determines how much memory each app has and what to do if memory becomes full.
  • It manages virtual RAM.
  • It tracks where data and programs are at any one time to make efficient use of the memory and insure nothing is lost. 
  • OS must protect processes from each other and users from each other because PCs are used by multiple users at home or on a network and on the internet.
  • It tracks who owns each file and what privileges the user has on each file/folder.
  • Passwords to login allow you to protect your phone from other users but also allow you to use networked computers on your own profile.
  • The OS provides a user interface.
  • This is what the user sees when they wish to use the computer system.
  • There are different types of user interfaces, each with their own advantages and disadvantages.
  • This used to be the only way to operate a computer.
  • Commands are typed in at a prompt to run programs or perform actions.
  • Does not need a powerful computer.
  • Fast to get things done.
  • Not suitable for beginners as you need to know the commands before you can operate the computer.
  • Used by technicians because it is quicker.
  • Often seen on devices where the input device is limited (e.g. a TV remote)
  • As all the options are there to be seen, it is much easier for novices.
  • Simple to navigate and easy to determine what to do.
  • Some options take you to further menus while final options perform and action.
  • Cannot edit the menu, so makes customisations.
  • Graphical user interface is the way we most often control a computer.
  • Programs run in windows, icons, represent files, folders and apps.
  • A pointing device such as a mouse is used to control a pointer (or touch is used).
  • Actions may have metaphors. Dragging a file onto the trash can means delete the file, for example
  • Intuitive and easy for beginners, especially new touch interfaces for tablets and smart phones.
  • This is still evolving but is becoming more widely used e.g. call centers ask the user to say numbers and or yes/no. apple iPhone has voice recognition as part of the OS-SIRI
  • Windows OS currently 8.1 keeps the GUI and all applications looking similar so that user can easily use them. They all use code that is part of windows itself.
  • It has a huge range of capabilities far greater than the OS itself.
  • On PC this is currently Yosemite. This is based on a UNIX system and has led to the iOS for mobile devices. It is a proprietary system which has enabled new ways of thinking about how a user interacts with the OS.
  • This is an open source range of OS based on the UNIX kernel. UNIX works on command line but new versions of LINUX run a GUI. It is a small OS and is therefore fast and uses less memory. It is very versatile and is used on servers, and mobile devices-ANDROID