In computing, a shell is computer software that essentially provides a kind of user interface. Typically, the term refers only to an operating system shell that provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web browsers and email clients that are "shells" for HTMLrendering engines. Computer software (or simply software) refers to one or more computer programs held in the storage of a computer for some purpose. ... The user interface is the part of a system exposed to users. ... The shell of an operating system is a program that presents an interface to various operating system functions and services. ... It has been suggested that Kernel and its variants be merged into this article or section. ... A web browser or Internet browser is a software application that enables a user to display and interact with HTML documents hosted by web servers or held in a file system. ... An email client (or mail user agent [MUA]) is a computer program that is used to read and send email. ... In computing, HyperText Markup Language (HTML) is a hypertext markup language designed for the creation of web pages and other information viewable in a browser. ... A layout engine, or rendering engine, is a software that takes web content (such as HTML, XML, image files, etc) and formatting information (such as CSS, XSL, etc) and displays the formatted content on the screen. ...
In a computer, the most central part is the CPU or processor, which actually runs different programs the way and the amount of time as dictated by the kernel.
In the decade preceding Unix, computers had grown enormously in power - to the point where computer operators were looking for new ways to get people to use the spare time on their machines.
Another ongoing issue was properly handling computing resources: users spent most of their time staring at the screen instead of actually using the resources of the computer, and a time-sharing system should give the CPU time to an active user during these periods.
In computer security technology, a virus is a self-replicating program that spreads by inserting copies of itself into other executable code or documents.
A computer virus behaves in a way similar to a biological virus, which spreads by inserting itself into living cells.
Unlike biological viruses, computer viruses do not simply evolve by themselves, except in the cases where copying errors and recombination have led to actual evolution of computer viruses; however, these cases are very rare compared to the rapid generation of new malware by human programmers.