CST334 Unix & X Window System • Overview of UNIX • Purpose of an Operating System (OS) • History Unix OS • Characteristics of Unix OS • History of Linux OS • The Drive for compatability (POSIX standards)
Attention • For additional reading, consult • Appendix B and Chapter 1 of Forouzan and Gilberg, Unix and Shell Programming • your textbook
Definition of an Operating System (OS) • An operating system is a control program for a computer that performs the following operations: • allocates computer resources • schedules routine tasks • provides a platform to run application software for users to accomplish tasks • provides an interface between the user & the computer
History of Unix OS • Prior to Unix, many operating systems ran collections or “batches” of operations one at a time. • This single-user “batch-processing” approach did not take advantage of the potential processing power and speed of computers Enter data in files to be later processed Process Collection or “Batch” of files Receive information of processed data Note: batch processing lacks the advantage of immediate feedback as opposed to online processing
History of Unix OS • The Unix OS was developed (based on Multics & CTSS operating systems) by Ken Thompson at the AT&T Bell Laboratories in 1969. He wanted to create an multi-user operating system to run “space travel” game. • Ken’s philosophy was to create an operating system with commands or “utilities” that would do one thing well (i.e. UNIX). Pipes could be used combine commands...
History of Unix OS • The first versions of UNIX were written in “machine-dependent” program (such as PDP-7). • Ken Thompson approach Dennis Ritchie developer of C program), and in 1973 they compiled UNIX in C programming language to make operating system “portable” to other computers systems.
Ken Thompson (recently retired from Bell Labs) is on left, and Dennis Ritchie is in the middle. What`s his name is on the right… History of Unix
UNIX Features • The Unix OS is a multi-user OS allowing more that more person to directly communicate with the computer. • Although the OS can only work on one task at a time, a small piece of time (time slice) is dedicated to each task or user - this is referred to as “time-sharing”. • Time sharing gives the illusion that the CPU is giving all the users its full attention
Illustration of Time-Sharing User 1 User 8 User 2 User 7 User 6 User 3 TIME User 4 User 5
Development of Unix OS • Unix became a popular OS among institutions such as colleges & universities through a 4-year “try before you buy” deal. • Efficient and inexpensive way of networking • promotes Internet use and file-sharing • Open system allows for source code to be shared among many programmers - allows for better coordination among programmers
Development of Unix OS • Students at University of California (in Berkley) further developed the UNIX operating system and introduced the BDS version of Unix Unix Bell LabsUNIX System V (5)Proprietary Berkley Software Distribution (BSD)Free
Development of Unix OS • There were versions of UNIX for the Personal Computer (PC), such as XENIX, etc., but they didn’t catch on in popularity until Linux was developed in the early 90’s.
History of Linux • Linux operating system developed by programming student Linus Torvalds • Linus wanted to develop Unix-like OS just to experiment with new 386 computer at the time...
Why Has Linux Become soPopular? • Linus decided to make Linux OSsource-code for Linux Kernal open to all: • Unlike traditional Operating Systems, anyone can modify and distribute Linux OS (as long as they distribute source code of Linux Kernel) • “Competition among Hackers” allow code to be improved and distributed often • Many users can spot bugs in the operating system or application if source code is “open”
Why Has Linux Become soPopular? Other Factors: • PC’s have increased processing power and a there has been a noted shift from mainframes and minicomputers to PCs. • Since Linux is a “Unix Work-alike”, this OS has a reputation to be a very stable platform for networking (creating at-home servers) and running / maintaining applications. • Agencies such as Free Software Foundation created GNU project to provide free software.
Concerns • Some people claim that “there are as many version of Linux as there are users…” • POSIX (Portable Operating System Interface for Computer Environments) is a government standard to ensure consistency among different UNIX and Linux versions. • Many versions of Linux are approaching POSIX standard.
Concerns • Freedom of allowing Linux users to create “servers” connected up to Internet can lead to attacks from experienced hackers. • Linux commands may be considered “user-unfriendly” although GUIs are now used. • Prior reputation for difficult install process including the loss of data on other hard disk partitions.
Attention • The following material is taken from chapter one of your textbook , Unix and Shell Programming
Advantages of Unix • Portable • Multi user • Multitasking • Networking – log into the any site • Organized file system • Device independence – i/o vs files • Utilities – > 100 utilities, productivity • Services – administrative tools built in
Figure 1-1 Computer System
A computer system • Hardware • Input , output, CPU, auxiliary/secondary storage • Software • Systems software • Primary purpose to support computer • Applications software • Programs written to solve users problems
Figure 1-2 Components of Computer Hardware
Operating system • A special category of systems software that manages all operating facets of the computer • Heart and character of a computer: • DOS, Windows , Mac, UNIX • Performs resource allocation, scheduling, data management (file I/O), system security
Unix environments • Personal environment • Linux, Apple’s System X (Unix kernel) • Timesharing environment • Many users connected to one computer • Client/server environment • Computing split between a central computer (server) and users’ computers (clients)
Figure 1-4 The Time-Sharing Environment
Figure 1-5 The Client/Server Environment
Figure 1-6 Components of UNIX
Components of the Unix OS, cont • The kernel: contains most basic parts • including process control and resource management • The shell: receives & interprets the commands entered by the user • Interpreter and script programming language • Three standard shells: Bourne (sh/bash) , C (csh/tcsh), Korn (used in text)
Components of the Unix OS, cont • Utilities: hundreds ! Primarily • Text editors, search programs, sort programs • ls, cp, mv, vi, emacs, grep, chmod, sort, cal, date, plus countless options • the real heart of the class • Applications: written by systems administrators, professional programmers, or users • Extended capability , sometimes made into future utilities
Accessing Unix • User ID • Passwords • Interactive session
Figure 1-8 Interactive Session
Common commands • date • date -u • cal • cal 1 2005 • cal 2005 • who • passwd • man
Figure 1-9 Command Source and Destination
Figure 1-10 General Command Format
Figure 1-11 The date Command
Figure 1-12 The calendar Command
Figure 1-13 The who Command
Figure 1-14 The passwd Command
Passwords a) must be >=6 characters long, b) must contain 2 out of 3 of upper-case letters, lower-case letters, non-letters (digits, punct) c) may not be a dictionary word or too similar to your name
Exit—to Log Out • Type exit • if it says "there are stopped jobs" type exit again
Figure 1-15 The echo Command
Figure 1-16 The man Command
Figure 1-17 The lpr Command
Figure 1-18 The tty Command
Figure 1-19 The clear Command
Figure 1-20 The stty Command
Figure 1-21 The script Command
Figure 1-22 The uname Command