UNIX Operating System Concept U.Y: 1435/1436 H What is an Operating System? The operating system (OS) is the program which starts up when you turn on your computer and runs underneath all other programs - without it nothing would happen at all. In simple terms, an operating system is a manager. It manages all the available resources on a computer, from the CPU, to memory, to hard disk accesses. What is an Operating System? • Tasks the operating system must perform: • Control Hardware - The operating system controls all the parts of the computer and attempts to get everything working together. • Run Applications - Another job the OS does is run application software. This would include word processors, web browsers, games, etc... • Manage Data and Files - The OS makes it easy for you to organize your computer. Through the OS you are able to do a number of things to data, including copy, move, delete, and rename it. This makes it much easier to find and organize what you have General Characteristics of UNIX as an Operating System (OS) Multi-user & Multi-tasking - most versions of UNIX are capable of allowing multiple users to log onto the system, and have each run multiple tasks.This is standard for most modern OSs. Over 30 Years Old - UNIX is over 30 years old and it's popularity and use is still high. Over these years, many variations have spawned off and many have died off, but most modern UNIX systems can be traced back to the original versions. It has endured the test of time. For reference, Windows at best is half as old (Windows 1.0 was released in the mid 80s, but it was not stable or very complete until the 3.x family, which was released in the early 90s). General Characteristics of UNIX as an Operating System (OS) • Large Number of Applications – there are an enormous amount of applications available for UNIX operating systems. They range from commercial applications such as CAD, Maya, WordPerfect, to many free applications. • Free Applications and Even a Free Operating System of all of the applications available under UNIX, many of them are free. The compilers and interpreters that we use in most of the programming courses here at UMBC can be downloaded free of charge. Most of the development that we do in programming courses is done under the Linux OS General Characteristics of UNIX as an Operating System (OS) • Less Resource Intensive - in general, most UNIX installations tend to be much less demanding on system resources. In many cases, the old family computer that can barely run Windows is more than sufficient to run the latest version of Linux. • Internet Development - Much of the backbone of the Internet is run by UNIX servers. Many of the more general web servers run UNIX with the Apache web server - another free application. OS Organization Unix Components As with most modern operating systems, the Unix OS is also made up of many different components. In a very general sense, Unix is divided into two main components, kernel and utilities. The kernel, which is critical to the operation of the OS, is loaded into Random Access Memory (RAM) by the boot loader, where it remains memory resident for as long as the machine remains powered on. The utilities are programs which (typically) reside on a disk device (e.g. a hard drive). Unix Components Unix is comprised of three main components: Kernel Shell Utilities or Programs Unix Components Kernel - The core of the UNIX system. Loaded at system start up (boot). Memory-resident control program. Manages the resources of the system, presenting them to you and every other user as a coherent system. Provides service to user applications such as device management, process scheduling, Unix Components Example functions performed by the kernel are: managing the machine's memory and allocating it to each process. scheduling the work done by the CPU so that the work of each user is carried out as efficiently as is possible. accomplishing the transfer of data from one part of the machine to another interpreting and executing instructions from the shell enforcing file access permissions Unix Components • Example functions performed by the kernel are: managing the machine's memory and allocating it to each process. • scheduling the work done by the CPU so that the work of each user is carried out as efficiently as is possible. • accomplishing the transfer of data from one part of the machine to another • interpreting and executing instructions from the shell enforcing file access permissions Unix Components • You do not need to know how the kernel is implemented in order to use a UNIX system (in this class anyway). Unix Components Shell - a command interpreter - Whenever you login to a Unix system, Unix opens an environment for you. This environment is actually a shell program. Your shell is independent of other user's shell environment The shell's prompt is usually visible at the cursor's position on your screen. To get your work done, you enter commands at this prompt. Unix Components The shell is a command interpreter; it takes each command and passes it to the operating system kernel to be acted upon. It then displays the results of this operation on your screen. Several shells are usually available on any UNIX system, each with its own strengths and weaknesses. Unix Components Utilities or Programs - UNIX provides several hundred utility programs, often referred to as commands or applications. Standard Unix commands are available to allow the user to accomplish universal functions − editing − file maintenance − printing − sorting − programming support − view online info Unix Organization Link: http://www.google.com.sa/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ua ct=8&ved=0CB4QFjAA&url=http%3A%2F%2Fwww.seas.upenn.edu%2F~eeaton%2Ftea ching%2Fcmsc121_fall06%2FIntroToUnix.ppt&ei=UN3sVLbcEsH7aMX5gdAL&usg=AF QjCNG8G2tdAozY24brUEAUB396lPC1xw