Every computer, tablet, and/or smartphone has an operating system. The operating system is “software that communicates with the hardware and allows other programs to run. It is comprised of system software, or the fundamental files your computer needs to boot and function”. (“Techterms.com”, 2013). Windows, Linux and Mac OS X are some of the more common operating systems. Operating systems provide a graphical user interface, which provides the computer with the ability install and run programs specifically written for the operating systems, as well as the power to manage folders and files.

When applications are created, they are generally written for a specific operating system, although many of the more popular programs were developed crossplatform, meaning they were developed for multiple operating systems. The user needs to be aware of what programs they want when selecting a computer to be sure the operating system will support them. Memory Management

When an operating system manages the computer’s memory, there are two broad tasks to be accomplished. The processes need to be able to execute without overlapping into the memory space of another process, nor can it be run into by another process. Also, the memory in the system must be properly allocated to that all processes are running at their most efficient and effective. (“Techterms.com”, 2013). In order not to overlap, the operating system needs to set up limits for the software and individual applications. Random access memory (RAM) and memory caches are the main storage area for a computer and this is where data is read and written. RAM is a physical storage compartment found on the hard disk. Once the computer runs out of physical memory, it will start using virtual memory. (“Wisegeek.com”, 2013).

As applications are ready to be loaded into memory, the operating system determines fixed block sizes in order to ensure the applications do not encroach on each other’s space. At any given time, the majority of RAM in
your computer system is not being utilized, as a processor can only access one location at a time. This is where virtual memory management comes into play. Information is moved from RAM to hard disk to expand the RAM space.

The operating system manages several different memory types including disk storage, high-speed cache, main memory, and secondary memory. Disk storage is the slowest; the fastest is high speed cache. In order to speed up system performance, cache controllers forecast which portions of data the CPU will use next and move it from main memory and into the cache. RAM is the main memory. Secondary memory generally serves at your virtual RAM is generally a sort of rotating magnetic storage under the control of the operating system. The operating system performs a balancing act based on the needs of the processes with the memory availability across the different types. (“Techterms.com”, 2013).

Processor Management

“A processor, or ‘microprocessor,’ is a small chip that resides in computers and other electronic devices. Its basic job is to receive input and provide the appropriate output. While this may seem like a simple task, modern processors can handle trillions of calculations per second.”

(“Techterms.com”, 2013).Managing the processor is all about two related issues – ensuring that each process and application receives enough of the processor’s time to function properly and using as many processor cycles as possible for real work. The processor’s basic unit is either a process or a thread; this is dependent on the operating system utilizing it. ” A process, then, is software that performs some action and can be controlled — by a user, by other applications or by the operating system.” (“Howstuffworks.com”, 2013).The operating systems controls the processes and schedules them for execution by the CPU. The process can be an application that you are very well aware of, such a game, or they can be a process that works in the background that you aren’t even aware of such as disk management.

The operating system manages the processes to run most efficiently. It may allow an application to start, then suspend it to deal with user input and interrupts. The CPU can only execute one task at a time, so the operation system needs to make the user believe there are several tasks being accomplished at the same time. You can have a multi-processor machine, but the processor is still only able of handling one task at a time.

The operating system maintains this appearance by switching between processes thousands of times in a second. The operating system will make use of the registers, stacks and queues in order to buffer the next process by allotting CPU execution cycles to a program, then copying the registers, stacks and queues used by the processors, and pause it’s execution. It loads the second process’s data and copies the registers, stacks and queues and allows it a certain number of cycles. Once complete, it loads the first program.

The operating system is responsible for the management of the computer system – files, devices, memory, and processors. In doing this it manages it’s various memory types and processes for efficiency.