Introduction to Unix (CA263) Computing With Unix Objectives • After reading this chapter, you should be able to: – Discuss the background and philosophy underlying the use of computers – Overview of basics of computer hardware and software – Explain why you are learning about Unix – Illustrate features and advantages of using the Unix operating system. Computer Basics • What is a computer? – A tool that helps and make impossible task easy, it helps in solving mathematical problems • Why do we need computers? – Without computers many tasks require countless hours of hand calculation • How do we use them? – Never trust computer’s output. Always check your input, otherwise garbage in, garbage out. To check results use pencil-and-paper analysis. History of Computing • Webster dictionary defines computer as “a programmable electronic device that can store, retrieve, and process data.” • Computer technology improved rapidly in late 19th and 20th century. • Invention of the electronic computer chip began the microcomputer revolution in 1970s. Computer Classifications • Computers are generally classified into three categories: supercomputers, mainframes and workstations. – Supercomputers handles complicated problems in high-level engineering and scientific enterprises. – Mainframe computers supply services for many users in industry. (e.g. Airline industry) – Powerful, stand-alone personal computers are called workstations. Computer Components and Usage • Computer Hardware: – Five components classify computer hardware: the processor, memory, and devices for input, output, and storage. 1. Input devices: Keyboards, mice, scanner etc. 2. Processor: CPU is the brain of computer and it interprets instruction entered by input device. Computer Components and Usage 3.Memory: Internal memory usually split between RAM and ROM. RAM is for reading and writing information required by program. ROM store permanent information. 4.Storage: Floppy disks, CD-ROM, HDD to store electronic information. Program stored on these can be loaded into Memory. 5.Output: The most common output device is the video display terminal (VDT) or monitor. Another form of output is hard copy, such as printouts on paper. Computer Components and Usage • Computer Software – Without program CPU is nothing. CPU need knowledge or instructions to process input and produce useful output. – Although computers are not intelligent, software teach computer hardware, what to do Computer Components and Usage • Bit and Bytes – Computer store information with the digit 0 and 1 – binary digit, or just bit – Bit is the smallest component of memory – A group eight bits make 1 byte. – megs and gigs refer to big chunk of memory Computer Components and Usage • Programs – Computer programs are instructions written in a programming language that CPU understands. – Computer programs that perform word processing, financial analysis are called application software or just applications. – Programs designed to help people to use computers and applications are called system software (operating systems) Computer Components and Usage • Operating System – CPU uses operating systems to control all computer functions. – When you turn on OS loaded into the memory. – The OS controls who applications transfer data between main memory and output. Computer Components and Usage • Graphical User Interface – Originally, computer had unfriendly interface, such as monochrome monitors and teletype machines. – GUI (goo-ees) software presents an interface of pull-down menus and point-and-click mouse operations inside windows. – GUIs tend to avoid text-based command entry in order to provide friendly environment Unix Operating System • History of Unix • Unix Variants • Why Unix? History of Unix • Unix was born in 1969 in Bell Labs as a better way to run Space Travel, an astronomicalsimulation program • Ken Thompson, a Unix developer got frustrated with running Space Travel on Multics (Multiplexed information and computing system) computer. • In 1973 after many revision in Assembly code, Ken Thompson and Dennis Ritchie rewrote Unix in C language just for that task. • Eventually AT&T the owner of Bell Labs, released Unix to educational institution, but without any support. Unix Variants – Since source code of Unix was publicly available, different versions, both commercially and free, – Linux is freely available, Mac computer has Unix operating system. – If you prefer not to install a new operating system, you might try cygwin (www.cygwin.com) , which is Linux emulator. Cygwin provide a Unix like environment that run on top of Microsoft windows. Why Unix? – Remember GUI environment is not an OS – GUI just hide OS command from user – Experienced user get tired of GUI very soon – Why are we having keyboard shortcuts, just to improve efficiency – Text-based command improve efficiency – Originally Unix was developed for computers with limited memory, so we use “cp” instead of “copy” every character counted. Why Unix? • Unix has many advantages to offer: – Openness, source code is publicly available – Utilities, variety of commercial software available – Portability, every kind of computer supports Unix – Multiuser, Unix can handle many users running different programs – Multitasking, A user can run different program simultaneously – Networking, Unix allows computers to connect and share information, in fact Unix protocols forms the basis of the Internet – Prevalence, Workstations that employ Unix help solve many complicated engineering and science problems Windows Systems and Other Operating Systems • Microsoft windows or Macintosh operating systems are GUI based • Although Unix is taught as a text-based OS, many types of GUI based Unix are also available, including X windows, (CDE) Common Desktop Environment, and others. Unix Basic • • • • Software layers File System Utilities Unix GUIs Software layers • Many kinds of layers are available between the user and the computer hardware in Unix. • The outer most layer, the shell, read and interpret your command. • Not all Unix use the same shells, some commands even differ from shell to shell. • Utilities and program can be called by the shell to do some task. • The resident modules perform input/output and process control. • The kernel, directs the hardware to perform your commands. File System • Common task such as report writing, programming, and analysis, generate electronic information that files store. • Files are stored in directories. Directories are arranged in hierarchical structure often known as a directory tree. Utilities • After you become familiar with Unix, you may wish to write programs called shell scripts, which perform customized task that you devise. Unix GUIs • Unix is primarily text based, but GUIs are available for it. • The X Windows system developed by Xerox Park is a common Unix-based window system. • A group of computer companies has produced the Common Desktop Environment that is now very popular.