The Computer Revolution/Software/OS

The Operating System
The Operating System (OS) is the most important software in any computing device that is intended to interact with users (these include running applications from different creator than that of the OS). The OS is often a more complex System Software (SS), that is the most basic type of software that is required for a machine to operate, that often is even referred as Firmware (extremely reduced interaction with others than the creators, the firm).

Operating systems are much more prevalent than most people suspect. Most machines will be sold with some form of basic operative systems, some will bring it in installed form other will have it pre-loaded into read only memory (ROM). They requires it to function and so It is one of the most important software pieces on your computer. Without an operating system installed your computer becomes basically useless.

The operating system manages the hardware systems and software systems for your computer. It hides in the background of computer systems performing the small basic tasks that most people are unaware of, to translate applications code into instructions that the hardware can process.. There are some major tasks that most are aware of that the computer performs. These tasks include: Booting up the computer, organizing files, performing tasks (for example, reading from the hard drive), logging in, and managing security (firewall, permissions, etc.).

Today they exist not only in laptops or desktops, but in a wide variety of other devices. Operating systems have extreme versatility, especially with today's technologies. They also have large scalability, which means that operating systems can be simplified greatly or have features even the programmers may not be aware of. Operating systems are now used on routers, PDAs (Personal Digital Assistants), mobile phones, as well as a multitude of other computers including laundry machines and refrigerators. This does make sense as the computer in a typical modern cell phone is now more powerful than a desktop computer from 20 years ago. It also allows for customization of cellphones such as individualized rings and wallpapers.

The operating system interacts with the user in a form that can be understood by the user as it translates in computer form what is being entered by the user. This form can be text based or graphics based. For example, when you connect a device to your computer a pop up will come up on the taskbar explaining to the user what it is doing (installing the driver necessary to use the connected device). During the boot process the key component of the operating system called the kernel is loaded into memory. Unlike other components, the kernel is stored in the memory until the computer is turned off. The operating system can also configure and communicate with peripheral devices by installing the necessary device drivers needed to use that particular device.

The operating system controls the resources (memory, disk space) and makes them available as needed while you are using the computer. Also places in order which tasks need to be carried out. Storing files/documents in a specific location which can be fetched at a later time when needed. The operating system specific files are by default stored in its own folder (Windows Folder), and any applications which are installed their files will be stored the Program Files folder by default. Although there are default folders, users can create their own folders and name them accordingly to better organize. Each folder can hold multiple folders/files. File extensions should not be modified by the user as the operating system uses that information to open the file with the selected program. If the extension is modified the operating system will not know which program to use to open the specific file as a result the file will be corrupted and may not open.

The operating system has many security options to protect your computer from unauthorized users. Regular password that only you would know or using your finger print to log in. Another option would be setting up multiple accounts and making you the administrator on the computer while others would be standard users. Administrator users would have the ability to do anything on the computer, while standard users would be restricted from certain actions such as uninstalling/installing programs or modifying any settings.

The operating system has the ability to multitask, run multiple programs at once. The CPU is actually multitasking, going between different programs as it can only perform one task at a time. Multi-threading is the ability to perform multiple tasks within one particular program similar to multitasking which can perform between multiple programs. Both multiprocessing and parallel processing use multiple CPUs to perform tasks on your computer. Multiprocessing, each CPU performs on a different task than the other CPU. Parallel processing, multiple CPUs work on multiple tasks to speed up the process. Multiprocessing is used on most computers.

The operating system works to manage the memory being used by your computer by sending memory to programs being used and later retrieves it once the program is closed. Users can control memory use by closing programs which aren’t being used. Virtual memory is another way to enhance processing efficiency. Programs and data communicate between RAM and virtual memory as RAM is needed the information is copied to virtual memory and deleted from RAM. The process between RAM and virtual memory will continue until the program/data is complete. Using virtual memory can slower the process but it allows more memory use than what is available. To speed up processing on your computer, operating systems use a process called buffering and spooling. Buffering is space in the RAM or hard drive which stores the input and output. Spooling retrieves that information when needed. This will speed up processing as this particular task is not holding up the CPU from performing other tasks as it waits for one to complete.



Parker, D. M. (2011). Understanding Computers: Today and Tomorrow. Boston, MA: Course Technology. Cengage Learning.

Turning on
When booting up a computer there must be a basic operating system. There are multiple operating systems available for consumers to choose from; starting with the most common on desktop PCs, Windows, to common server operating systems, such as Linux. Windows is made to be user friendly, even those who know little about computers can easily master the basic commands. Linux comes in many different forms, some of them easy to use, and some of them meant more for those who are already aware of how computers operate, with complex codes and hard to use commands. The boot up information is usually stored in memory called ROM.

When the computer is booting up, several things will occur. First, the core of the operating system (known as the kernel) will be loaded into the computer memory. Then the computer identifies the hardware devices that are connected to the computer to confirm that all of the hardware devices are connected properly. Finally, there may be a login process or a security program launched via an instant message or login screen. These options can be customized by the user through the Windows Task Manager.

Parker, D. M. (2011). Understanding Computers: Today and Tomorrow. Boston, MA: Course Technology. Cengage Learning.

Basic functions
a major part of most operating systems, The file system, manages your files. It takes your files and puts them safely on your hard drive. It does the same function as you taking your papers and storing them in a filing cabinet until you need them next.

In addition to booting the computer, file management, and security, the operating system is also responsible for configuring devices. This is carried out with the plug and play feature, where devices become installed and accessed as soon as they are plugged into the computer, with the help of a driver, which is a small program that tells the operating system how to communicate with a specific device. Other responsibilities include communication with the user and managing and monitoring the computer’s resources. In a desktop computer, these resources are the processor, memory, disk space, etc. On a mobile phone, the resources include the screen, keypad, address book, battery, network connection, etc. The operating system’s overall goal is to provide a solid way for applications to work with the hardware.

Command Line Interface (CLI)


The CLI is non-graphical interface and uses typed commands only to perform. Although not as widely used as the GUI, the CLI can be used to accomplish many of the same feats - for those equipped with such programming skills. Through a CLI, one can encrypt files, create directories, navigate through directories, etc.

In Windows, the CLI used is called the Command Prompt. In Fedora, it is called the Terminal.

Graphical User Interface (GUI)
The GUI (pronounced gooey) is a visual interface; convenient and preferred by most users, because of its simplicity and appeal to the eye. By performing simple, graphical tasks such as clicking on an icon, dragging a folder, or right-clicking files and navigating through choices, files can be opened, moved, renamed, saved, and so forth.

Modern computer operating systems often provide a desktop graphical user interface ("GUI") for displaying various graphical objects. Some examples of graphical objects include windows, taskbars, docks, menus and various icons for representing documents, folders and applications. If the GUI is touch sensitive, then a stylus or one or more fingers may be used to interact with the desktop. A desktop GUI could be two-dimensional ("2D") or three-dimensional ("3D").

A 3D GUI is being developed and will allow mobile devices like mobile phones and tablet pcs to work with proximity sensor arrays and is being develop to respond to hovering gestures. Modern mobile devices typically include a variety of onboard sensors for sensing the orientation of the mobile device with respect to a reference coordinate frame. For example, a graphics processor on the mobile device could display a GUI in landscape mode or portrait mode based on the orientation of the mobile device. Due to the limited size of the typical display of a mobile device, a 3D GUI could be difficult to navigate using conventional means, such as a finger or stylus. For example, to view different perspectives of the 3D GUI, two hands are often needed: one hand to hold the mobile device and the other hand to manipulate the GUI into a new 3D perspective.

The 3D GUI display environment for mobile device will use orientation data from one or more onboard sensors to automatically determine and display a perspective projection of the 3D display environment based on the orientation data without the user physically interacting with (e.g., touching) the display. In some implementations, the display environment could be changed based on gestures made a distance above a touch sensitive display that incorporates proximity sensor arrays.

Security
Most, as not to say all, software has 'holes' in their programming, operating systems are no exception. But in these case vulnerabilities make it possible for people to 'attack' and/or use your computer with, or more commonly without, your knowledge.

Microsoft more than any other commercial OSs has a long list of documented weaknesses, some fixed some not because they have not been classified as critical. In considering why as OS has more detected security problems that others one has to take into account not only the quality of the software but also the number of users, especially those capable of reporting the issues, and the amount of attention an OS receives from those attempting to take advantage of it's weaknesses (this also has to do with the OS market-share the bigger the more attractive to exploit).

There are methods to close these holes. One of the newer abilities of well known operating systems is the ability to update the software either manually or automatically. These updates are normally downloaded to your computer from the internet and installed on your computer, basically changing the structure of the programming to make the operating system more secure. Another option is a program like Norton Antivirus. It is one of the most common, but there are many other choices the consumer can choose from. Antivirus software protects your computer from outside dangers, such as hackers, scammers, and viruses. A hacker can log onto your computer and see all your personal information, and possibly have access to even your banking information. Viruses are common in today's world, they come from receiving files, downloading things from the internet, or even visiting certain sites. Antivirus programs work with your operating system and constantly check everything the computer does for anything that might be a threat.

Digital Rights Management (DRM)
Digital Rights Management (DRM) is that part or type of technology which are used by hardware manufacturers, publishers, copyright holders, and individuals with the intent to control the use of digital content and devices after sale. In short to prevent piracy, it controls access through technology. Examples can be cited like, A company servers are programmed to block any forwarding of sensitive or restricted e-mail. E-book server is programmed to restrict copy of and printing of material as per the copyright holders contents. Software for DVDs limiting copies made. Thus restrictions, encryption etc, are few methods. DRM runs from the time floppy disks were there.

A DRM scheme operates on three levels Establishing a copyright for a piece of content. Managing the distribution of that copyrighted content. Restricting access via software once distributed on consumer level.

To accomplish this level of control, a DRM program has to effectively define and describe three entities- The user. The content. The usage rights. This it does by describing the relationship between them.

Graphical User Interface (GUI) V.S. Command Line Interface (CLI)
The command line and graphical user interface are two different ways a user can communicate instructions to the computer. For example, you can launch an application through the command line by typing in the command (path to where the program is installed) to open the application. Graphical user interface allows the user to physically search for the program via mouse click to open the application.

Although both methods are used today, GUI is the more common method used as it is much easier to grasp and people who are new to computers would find it extremely difficult to use the CLI method. With the GUI method it is much easier as you only have to learn how to point and click the mouse. With CLI it would be much difficult as you would have to memorize the path at which your file is located along with the different commands to open a file or launch an application. GUI is also a better way to go if you will be multitasking (using more than one program at a time) it is much easier to navigate to different windows using GUI. CLI does not offer an easy way to view multiple open applications or documents.

One good advantage about CLI is Scripting. CLI allows the user to use the command line to create what is called a script, which allows you to run a program without clicking through menus to find the program and run it. This is good for applications that should be run often say at a certain time. Although there are advantages and disadvantages to either option, it all depends on how good you are with the computer and if you have the patience to memorize all the commands and paths.

[http://www.computerhope.com/issues/ch000619.htm

Turning off
When you turn off your computer it writes any unsaved information to the hard disk. It will remember how your computer last looked and will reload that image next time you turn on your computer.

Operating System Classifications
Operating systems for personal computers are usually can be divided in several categories, in relation to a dedicated purpose, use or configuration.

On the personal computer most operating systems, are intended to be installed to a single computer and often, even if not restricted, will serve a single user. Today operating systems are subdivided into subcategories, such as desktop operating system, for mid and upper range machines and lighter versions for portables or legacy systems.

The server operating system is conceived to be installed as a network server, as to give several users access to its resources across a network. A server will often have no local users.

A network operating system, rests inside a server and serves to boot several client machines as its own personal operating system, often these client machines will not have any data storage device locally and will share the resources of the server machine.

There are also other factors that serve to distinguish operating systems, for instance the guarantees they provide in security or speed, for instance a real-time operating system will be dedicated to rapid processing of critical events, other relations can be formed about the structure of the OS, it can be monolithic or modular.

There are several types of Operating Systems which can be categorized. Multi-user operating systems are those in which one or more user(s) can run one or more program(s) at the same time. A Multiprocessing OS can allow one or more program(s) to run on more than one CPU. Most multiprocessing operating systems will run on single-processor machines, but it will be slower than a normal OS running on the same machine. Multitasking OS's allow more than one program to be running at the same time. Multithreading allows for different parts of the same program to be running concurrently. And finally, Real Time operating systems have an instant (as fast as possible) response to input. Most modern operating systems are a combination of several of the above types.

Mobile operating systems
Mobile Operating Systems or Mobile OS have surged in popularity in recent years. With the development of so many mobile devices such as smartphones and tablets the need for high functioning mobile operating systems is a must.

Several companies, for example Microsoft, which provide personal or server network operating systems also offer mobile versions of their operating systems Windows CE, in fact most of last core changes to the Windows have been made in reducing its system footprint, MS hope is that Windows 8 with a specific packaging will be able to work as a Mobile Operating System. On the other hand some companies have developed strictly mobile operating systems (iPhone OS/Blackberry OS/Android).

Since the first release of the iPhone in June of 2007, Apple has been breaking records with their releases of the iPhone. It is not just the fun features of the phone, but the software that it runs on that makes it so revolutionary. iPhone OS is based on Apple's OS X operating system. It supports multi-touch input, and has thousands of applications exclusively created for the system itself. The versions since iOS 6 have voice command technology, where by simply talking to the phone, you can search on the latest version of Safari, find your way around on Bing driven GPS system, or call and text by voice command.

It seems that at as mobile device technology continues to gain in popularity and diversity, the mobile OS will continue to advance as well. Mobile technology has now infiltrated multiple areas of society from smartphones to IPADs used in classrooms and without mobile operating systems that would not be possible. To the consumer the demand of hardware vendors of a lighter operating system has been extremely positive, the path of optimizing resource utilization has been increasing in importance and the need to make the Operative Systems portable across different hardware platforms, alleviates the technological stronghold that has permitted some firms to dominate the hardware and Operative Systems fields for decades.

Cloud computing
Many of the newer mobile device operating systems are taking advantage of the new meme "cloud computing". Cloud computing is really an mix of Internet technologies, storage, processing and social participation that is used as an off-site virtual service to gather,store and process information and allow you to share the information across machines to other persons. For example, let’s say you own an iPad, iPhone, and Mac computer. You schedule an appointment and put the appointment into the calendar application on your phone.

Cloud computing is in itself not an innovation, what has changed is the ease of access to the Internet, cost of storage (and improvement on storage technologies). It improved on usability of what previously would require some technical skill for instance to mount your own WEB and/or file server and incur in its operational costs. Those improvements became cumulative while you previous would then have to either repeat the input into your iPad and Mac, or you would have to manually sync all the devices with your computer. Now, using cloud computing, that synchronization of devices happens automatically whenever you are connected to Wi-Fi!

This of course has several implications, that are being exploited by corporations, that are not only willing to mine personal information from users of those services but will take the opportunity to control not only your data but your access to it.

GNU-Linux
GNU-Linux was developed by Linus Torvalds back in September 1991 using system tools and libraries originated in the GNU Project, initiated in 1983 by Richard Stallman. Since then, with help from around the world, Linux has become one of the world's most widely used operating systems.

The main difference between operating systems such as Windows and Mac compared to Linux is that both Windows and Mac are proprietary system, meaning that they have restrictions on them regarding usage and copying them. Whereas Linux is free software available for all to use, modify, and redistribute as they see fit.

Due to the nature of freeware there are literally hundreds of Linux distributions or versions, called Distros, available to users. These Distros vary greatly, some examples being hardware requirements, ease of use, stability, and appearance. When selecting a Distro, the idea is to find the one that meets as many of your needs as possible and is setup in your ideal fashion. After selecting the Distro that suits you best, you can finish customizing the operating system to make it truly unique to the user. Although all Distros are fully customizable they do have varying levels of technical competency requirements. A Distro such as Arch Linux that you install from scratch using a command line is not for a beginner compared to a Distro such as Linux Mint that is easy to install, has a GUI, and is packaged with application software common to many users.

Because of Linux's little to no cost, Linux is often found in micro-controllers or embedded computers such as PDAs, and cell phones. Linux is considered a unique operation system because it gives users the ability to customize it to a particular application. Linux is widely available over the Internet as a free download. It is available for both personal and server use and uses a much wider range of applications than Windows. Linux has a wide range of compatibility and many users are switching because they are finding it to be much more cost effective, and can get many different essential programs such as free or low cost office suites.

Commercial and proprietary Operating Systems
When you purchase your computer this software may not show up on the receipt but you have paid for it.

DOS
In August 1981, IBM introduced to the world the "Personal Computer” including the operating system called MS-DOS 1.0. Prior to having any issues with DOS it was suggested that users take the time to create a boot disk: 1.	Insert the blank floppy into the computer's drive.  2.	Click the Windows "Start" button and select "Run." 3.	In the text box that displays, enter "cmd" (= command) 4.	Press the "OK" button. This opens your Windows command prompt. 5.	Enter "sys (= system) x:" into the command prompt. 6.	Press "Enter." 7.	Replace "x" with the drive letter for your floppy drive. It only takes a few seconds to copy the boot files to the disk. 8.	Reboot the machine with the disk in the drive.

With the very first use of computers, DOS, or Disk Operating Software was just about the only operating system used. It is very uncommon for computers to use DOS today because Graphical User Interfaces are much simpler to use for the average computer using person. This is because DOS uses a command line interface where the user inputs commands for the computer to process, instead of clicking on windows like many people do today. There are two types of DOS. Both were created by Microsoft and were used for IBM computers or IBM compatible computers. The two types are PC-DOS and MS-DOS.

UNIX
UNIX was developed in the 1960’s at AT&T Bell Laboratories for midrange servers. UNIX is a multiuse, multitasking operating system. Microcomputers, mainframes, and a diversity of other devices from different manufacturers can run UNIX. The flexibility gives UNIX a lead over competing operating systems. Although, UNIX is more expensive, requires a higher level of technical knowledge, and tends to be harder to install, maintain and upgrade.

OS X
Based off the UNIX operating System, Mac OS is seen in Apple computers and is very user friendly, including simple graphical user interfaces. Mac OS X Lion also make navigation more simple using new multi-touch gestures. Newer Mac OS can support dual 64-bit processors which is advantageous while multi-tasking. Mac OS X also has the capability of running Windows via BootCamp, so on restart, you have the option(by holding the "alt" key while the screen flashes white) of booting into Windows or Mac OS X. This function is not very well reciprocated by Windows at all. People have tried installing Mac OS X on Windows, commonly referred to as "Hackintosh's", albeit with loss of functionality and stability.

The term Hackintosh has become ever more popular as Apple starts to move to general purpose hardware technology that is easily accessible to anyone. 2005-2020 Mac hardware builds of Apple use the Intel i5/i7 second generation processor to offer the best performance with their operating system. The Apple software license of the Mac OS X does not allow it to be used on a computer that is not "Apple-branded. The hackintosh, a collaborative Kernel hacking project, works as the newer processors are now more compatible with the Mac OS X software and can be tweaked to work with current Gigabyte motherboards and second generation processors. Using information from tonymacx86.com you use iBoot and Multibeast to load kernels and drivers and install Mac OS X (Mac OS X Lion, with Mountain Lion in the works as of February 2012) on compatible hardware. The biggest attraction is the options outside of the processor and motherboard that could be easily changed to each persons style or interests.

.

Microsoft Windows
Microsoft Windows is the most popular desktop operating system, and has been for many years. As with technology in general, the Windows operating system has evolved over the years.

Microsoft has developed a wide range of Windows operating systems. In 1985, the original version of Windows was introduced as Windows 1.0, and later followed by Windows 3, which had several versions, such as 3.0, 3.1, and 3.11. They simply enhanced the DOS operating system, making it more user friendly, this trend continued with Windows 95 and 98.

The creation of the Windows NT and then the Windows 2000, Windows XP Professional, XP Home, Windows Vista and many more, were a large technological advance. While the first versions of Windows were simply add-ons to DOS. Later versions did not depend on DOS.

Windows desktop came in the footsteps of other OSs and enabled the customization of the GUI. That included changing skins, mouse keys function and the style of desktop, colors and etc. Until the release of Windows 98, free OS alternatives were not as attractive, by maintaining the GUI elements static across versions users feel comfortable and easily adapted to new releases. This was until Vista, since then the GUI of Windows has been in constant change.

Windows Vista version of windows had several improvements over Windows XP, it still has it's downside. Windows Vista had the following new features:
 * 3D window viewing
 * Capable of using flash memory as RAM rather than adding memory to the motherboard
 * secure features than all previous windows versions
 * side bar to allow quick access to commonly used gadgets
 * Super-fetch feature.

The new Super-fetch feature knows what most commonly used programs/tasks are and keeps them in the memory to allow faster responsive times.

Windows Vista downsides:
 * The system requirements for Windows Vista are extremely high compared to previous windows versions and even other modern operating systems.
 * The integration of new forms of digital rights management (DRM), specifically the Protected Video Path (PVP).
 * Poor hardware driver support.
 * Legacy software incompatibility.
 * Concerns have been expressed that Windows may be experiencing software bloat.
 * Expensive compared to other modern operating systems.

Whether you should use Windows Vista largely depends on how you want to and need to use your computer.

The next operating system that Windows released was Windows 7. It was released in 2009. Windows 7 system requirements are about the same as Vista. Windows 7 was designed to start up and respond faster then Vista. It also focuses on making it more user friendly. An example of this you can drag taskbar buttons to have them the way you like it. Also, Windows 7 have a Device Stage. This was formed to make it easier to use and manage all your connected devices. Microsoft states Windows 7 runs well on netbooks, this was not always the case with Vista.

In 1995, Microsoft launched Windows 95, which was their first full-fledged operating system, and it was followed by Windows 98. Windows NT (New Technology) was the operating system developed for high-end workstations and servers. Following 98, was Windows ME (Millennium Edition) and Windows 2000, replaced Windows NT. These systems were followed by Windows XP, which replaced both Windows 98 and Windows 2000. Windows Vista replaced XP, and was the current version until 2009, when Windows 7 was released.

Windows 7 was available in four main editions and in 32-bit and 64-bit versions. The appearance is similar to Windows Vista but runs faster and is easier to use. It has many new features like rearranging taskbar buttons, pin locks on programs to the taskbar, arranging two windows side by side quickly and easily, or resizing windows to fill half of the screen easily.

iOS
iPhone OS: Every iPhone has used a different variation of the same operating system since Apple first launched them in June of 2007. The latest versions support multitasking, video calling, picture messaging, the ability to cut, copy, and paste text, in addition to other features other phones have adapted in order to remain competitive in the smartphone market. To make applications for the iPhone OS one would need to learn how to program in Objective-C and be familiar with the Cocoa API.