* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Introduction to Operating Systems - Seneca
Survey
Document related concepts
Computer terminal wikipedia , lookup
Library (computing) wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
MTS system architecture wikipedia , lookup
Commodore DOS wikipedia , lookup
Spring (operating system) wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Burroughs MCP wikipedia , lookup
Computer file wikipedia , lookup
Transcript
Introduction to Programming Using C An Introduction to Operating Systems Contents 2 Operating Systems Files & Directories UNIX Commands Operating Systems Computer hardware does nothing without instructions In the early days, one would press a button to have the computer load and execute your program This had disadvantages – – 3 You could only run one program at a time A human had to press a button to start a program Operating Systems This was a drag so they wrote a program to run continuously and – – – – 4 Automate the loading of programs Let more than one program run at once Support multiple users Make hardware transparent so that all disk drives look alike even if made by different companies This program was called an operating system Operating Systems A computer is like an onion – – – 5 Application programs are at the outer layer They talk to the operating system at the next level The operating system talks to the hardware in the centre hardware UNIX 6 UNIX is an operating system written in the 1970s by AT&T It has become a standard on which many other operating systems are modelled We will be using a command-line interface to communicate with UNIX Shells While an application can talk to the OS, how does a user talk to the OS Via a special application called a shell Shells fall into two broad categories – Command line shells – Graphical shells 7 Sh, csh, ksh X Windows Command Line Shells A command line shell is a program which – – – 8 Lets you type commands Conveys your instructions to the operating system Displays results from your programs and the operating system Shells have their own simple command language which you use to tell them what to do Files and Directories Everything you store in a computer is in a file Files are given a name and are usually stored on a hard disk Files are organized into directories A directory can contain – – 9 Any number of files Other directories Files and Directories Files and directories are organized into a tree like structure “/” is the root of the file system “/” is also used to specify a path through the file system / usr etc rob ipc144 10 home Your Home Directory 11 Every user is assigned a home directory This is a directory in which they can store their files Usually, a subdirectory is created for every course and subdirectories in each course for each assignment Shells 12 A shell is the program which communicates the user’s wishes to the operating system We will be using the Korn Shell This is a command-line interface Command line interfaces are programmable, making them useful for many tasks for which GUIs are poorly suited Logging In You can contact the computer – – Via a connected terminal Over the internet via Once connected you login with a – – 13 telnet – a remote terminal Putty – a secure connection which is encrypted User name password Listing Files To see the files in your directory use the ls command This has variations, specifified with command line parameters – – 14 ls –a ls –l list all files, including hidden ones long listing showing details Working with Directories Directories and files are named with either a relative or absolute path – Relative paths specify a file relative to the current directory – Absolute paths give a complete path from the root of the file system and do not depend on the current directory 15 ipc144/as1/as1.c /home/rob/ipc144/as1/as1.c Working with Directories You can find out what directory you are in by typing – To change the currect directory – – – 16 pwd cd <path> “.” is shorthand for the current directory “..” is shorthand for the parent directory Command Syntax Every command – – Starts with a command name Is followed by 17 Options Filenames or other data passed to the command Optional input / output redirection I/O Redirection Every command reads input from – And write output to – – 18 Standard output Normally, these are connected to – Standard input The keyboard The terminal screen However, they can be redirected to files I/O Redirection The “<“ sign tells a program to read from a file rather than the keyboard – – The “>” sign redirects output to a file – – 19 cat < file1.txt This causes the cat command to read from file1.txt cat > file2.txt Causes the cat command to write its output to file2.txt End Of File 20 A file is simply a stream of bytes Every file has and end marker called End Of File Your programs can detect this When reading from a terminal, typing CTRLD on a line by itself and pressing RETURN will send an End Of File character to your program Shell Programming Shell commands can be saved in files and replayed at any time The shell maintains variables to make programming easier Common variables include – – – 21 HOME -- your home directory PATH -- directories searched for commands PS1 -- prompt Shell Programming You can set a variable by simply assigning a value – To see the value type – Echo $Myvar To see the values of all variables type – 22 Myvar=1 set Basic UNIX Commands cat [<filelist>] – – – cd [<dir>] – – 23 Concatenates one or more files into a single file Often used to display a file on screen Also used to combine files Changes the current working directory to the absolute or relative path specified All relative paths are prefixed with the current directory Basic UNIX Commands chmod <permissions> <filelist> – – Every file has an owner and a set of permissions You can allow a file to be – These operations can be performed by 24 Read (r) Written (w) Executed (x) The owner (u) The group (g) Everyone outside the owner or his/her group (o) All users (a) Basic UNIX Commands The permissisons are combined into a string of the form – To allow anyone to read a file – chmod a+r filename Restrict access to anyone but the owner – 25 [rwx]±[oug] chmod ug-rwx filename Basic UNIX Commands clear – cp <filelist> <dest> – – Copies one or more files to another file or directory Can be used to copy files to a directory df – 26 Clears the screen Shows the amount of free disk space Basic UNIX Commands du [<dir>] – finger <user> – Provides information about a user ln <filename> <alias> – 27 Reports the disk usage for a directory Creates a link where two filenames point to the same file Basic UNIX Commands lpr [-P printer] <filelist> – lpstat [-P printer] – Lists jobs queued for the printer ls [-al] – 28 Prints a series of files on a printer Lists files in a directory Basic UNIX Commands man <command> – mkdir <dirlist> – Provides a manual page on the command Creates one or more new directories more <filelist> – Displays a file a screenful at a time 29 Enter advances one line Space advances one page q quits Basic UNIX Commands mv <filelist> <dest> – – passwd – Allows you to change your password pwd – 30 Moves files rather than copying Can be used to rename a file Displays the current directory name Basic UNIX Commands quota – rm <filelist> – Removes a directory if it is empty set – 31 Removes one or more files rmdir <dirlist> – Displays how much disk space you can use Displays all shell variables Basic UNIX Commands stty – who – 32 Terminal settings Shows who is logged on Editing UNIX has a variety of editors – vi – nled – Neat little editor Pico 33 Everyone loves to hate this one Another editor Compiling The C compiler is called cc – – – – 34 cc <cfilelist> –o <outputfile> Compiles one or more C source files into an executable output file Output files do not have to end in .exe Write errors to command line 35