1 / 20

UNIX

UNIX. Unix is an operating system developed at Bell Labs in 1969. Like all operating systems, unix manages the resources of the computer and provides an interface for users to access system functions.

johana
Download Presentation

UNIX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIX • Unix is an operating system developed at Bell Labs in 1969. • Like all operating systems, unix manages the resources of the computer and provides an interface for users to access system functions. • Unix is a general purpose op. sys. It is used, for example, by Sun to develop java applications. It is not suited to real time applications. • It was designed to provide a superior sw development environment; to be simple, powerful, and compact. • It was originally written in pdp-7 (DEC) assembly language by Ken Thompson so he could run his program “space travel” on the pdp.

  2. UNIX –more history • The uni- part refers to unix being developed for single users originally. • Unix’s history is intertwined with the development of C, also at Bell labs. Thompson developed a language called “B” which was used to help transport Unix to the Pdp-11 in 1971. • Unix became the o.s. of choice for the pdp-11 computer, preferable to DEC’s own o.s. • Dennis Ritchie, also at Bell Labs, refined the “B” language to create C. • Unix was itself rewritten in C in 1973. • Unix was adapted to a 16 bit microcomputer by a small company, Onyx, in 1980. • There are many versions out there: Xenix, Ultrix are a couple.

  3. Key Features • Portability • Portable applications sw • Multiuser operation (it can support multiuser mainframe environments) • Background processing • Hierarchical file system • UNIX shell- a command interpreter • Pipes- allows several prgrams to be combined so that the output from one becomes input to the next • Utilities • Text-processing tools • Sw development tools • maturity

  4. Structure of UNIX • The kernel is the core of the system controlling hardware and performing lowlevel functions. • The shell is the command interpreter (user interface). • Two hundred + utility programs provide functions like file copy, text edit, sw compilation and so on. • User programs logically occupy directory space analogous to the utility programs.

  5. The kernel • The kernel interacts directly with system hardware, implements the file system, manages memory, enforces security, performs I/o. If the system is muti-user, the kernel provides the system timesharing capability. apps utilities shell kernel Hardware & peripherals

  6. The kernel • The kernel also maintains system logs. • Since the kernel interacts directly with the system hw, the kernel is custom written for each processor type that unix runs on. File mgmt &security Date/time svces I/o svces kernel Process scheduling Ints and Error handling System accounting Memory mgmt

  7. Call interface • Utilities and applications call the kernel to provide services. • The call interface is the same for unix no matter what hw it runs on. User program wants service Call: Request service: Type Details data Return: Service complete Status data UNIX kernel provides services

  8. The file system: features • Hierarchical • Dynamic: file sizes grow as needed • Structureless: no internal structure is imposed • Security: files can be protected from access by other users • File – device independence: files and I/o devices are regarded the same by the o.s. So the same utilities used to process files can be used to process data from the terminal or as it is sent to the printer.

  9. Files& directories • File names can be up to 14 characters. • A directory can be used to organize files. A directory is really just a file with a list of entries (file names) in it as well as information on where to find those files in the system (in a data structure called the inode). • Users typically have their own directories. • Files can have multiple names and multiple links (from different directories) Below, the filenames People and XYZ refer to the same file. • Directory A Directory B • Results 0011 - XYZ 1122 • People 1122 • Data 0123 • Files: file 0123 file 0011 file 1122

  10. Hierarchical systems and path names • Typical file systems have many levels / (root) in unix is at the top. • Path names are separated by forward slashes (division sign) with a slash first if the pathname starts at the root directory: /usr/higgins/csci201/unixnotes • Such a path name is called fully qualified because the complete path from the root to the file is identified. • Partial pathnames can be used, these are relative, indicating a path from the current working directory. If I am in /usr/higgins then the name csci201/unixnotes identifies the same file. • Unix maintains information on each file: location, size, link count, ownership, security setting, type, creation date, most recent modification, last access.

  11. devices • Typical unix devices are • /dev/lp (line printer) • /dev/dk0 (disks) • /dev/dk1 (etc) • /dev/rdk0 (disk as raw I/o device) • /dev/tty0 (terminals) • /dev/null • To copy a file to another file location you would type cp fname othername • To copy the same file to the printer you would type cp fname /dev/lp

  12. directories • /bin utilities • /dev special files (I/o devices) • /etc administration • /lib libraries used by the language processors • /tmp temporary • /usr/bin overflow for /bin • /adm/bin adminstration files • /usr/games • /usr/include include files for C • /usr/lib archive libraries and textprocessing macros • /usr/mail • /usr/spool spool files for printing • Usr/src source files

  13. Hierarchy chart: / is the root / usr lib tmp bin dev etc higgins bin tmp

  14. File management utilities • pwd prints name of the current working directory • cd change pwd • ls list directory contents • cat concatenate files • mv move/rename file • ln create a new link for a file • cp copy files • mkdir make a dir • rm remove a file • rmdir • du display disk utilization • df display tree blocks for mounted systems • touch update time of last mod for a file • find find files

  15. examples $ pwd show present working directory /usr/higgins/courses/csci201 $ cd /usr/higgins/courses/csci311 change to directory specified $ ls /usr/higgins/courses/csci201 list directory contents assignments sampletests classlist $cat classlist show file contents on terminal bob joe sue mary rudolf xenophon

  16. examples- continued • most common use of cat is to show file contents • mv changes a filename $ mv classlist students mv can similarly be used to rename a directory ls- l means list long, and gives more details about files in the directory. ln is used to create additional links (not additional copies) of a file $ ln students classlist cp makes a duplicate file $cp classlist list mkdir creates a new directory $ mkdir /usr/higgins/courses/csci116

  17. examples- continued • rm is used to remove a file $ rm list rm can be used to delete directories and their contents also if you use $ rm –r /usr/higgins/courses rmdir can be used to remove (delete) empty directories.

  18. File storage & Buffered disk access • Whatever block size the system uses the location of the first ten blocks of a file are stored in the inode. If the file is larger than 10 blocks, then the address of an indirect block is stored in the inode as well, which has the addresses of the files subsequent blocks. This technique is applied up to 3 times (triple indirection). The inode stores the location of a triple indirect block which stores the addresses of double indirect blocks, each of which stores the addresses of sngle indirect blocks, which point to file blocks on the disk. • As with most modern operating systems, i/o is buffered in unix: This means that some disk blocks are duplicated in main memory. A read request first checks if the required data is already available. If not, it can be brought into the buffer. When the buffer is full and a read requests new data, some must be swapped out of the buffer. Similarly, write requests write to a buffer until the buffer is full or is flushed.

  19. the unix shell • The shell provides an interface between the user and unix o.s. services. • Some features of this command interpreter are • interactive: the user has a dialog with the computer • background processing: time consuming tasks can be run in the background • i/o redirection: program i/o can be redirected from/to other files, the terminal, the printer, etc. • simple programs can be piped together to perform more complex operations • wild-card matching: a pattern can be used to select files for processing so that a number of files can be processed with a single command • shell scripts: commonly used sequences of shell command can be stred in files and executed. • shell variables can be used to control the shell and other programs

More Related