introduction to programming using c an introduction to operating systems

35
Introduction to Programming Using C An Introduction to Operating Systems

Upload: geraldine-montgomery

Post on 17-Jan-2016

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Programming Using C An Introduction to Operating Systems

Introduction to Programming Using C

An Introduction to Operating Systems

Page 2: Introduction to Programming Using C An Introduction to Operating Systems

2

Contents

Operating Systems Files & Directories UNIX Commands

Page 3: Introduction to Programming Using C An Introduction to Operating Systems

3

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– You could only run one program at a time– A human had to press a button to start a program

Page 4: Introduction to Programming Using C An Introduction to Operating Systems

4

Operating Systems

This was a drag so they wrote a program to run continuously and– 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

Page 5: Introduction to Programming Using C An Introduction to Operating Systems

5

Operating Systems

A computer is like an onion– 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

Page 6: Introduction to Programming Using C An Introduction to Operating Systems

6

UNIX

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

Page 7: Introduction to Programming Using C An Introduction to Operating Systems

7

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 Sh, csh, ksh

– Graphical shells X Windows

Page 8: Introduction to Programming Using C An Introduction to Operating Systems

8

Command Line Shells

A command line shell is a program which– 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

Page 9: Introduction to Programming Using C An Introduction to Operating Systems

9

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

– Any number of files– Other directories

Page 10: Introduction to Programming Using C An Introduction to Operating Systems

10

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 home

rob

ipc144

Page 11: Introduction to Programming Using C An Introduction to Operating Systems

11

Your Home Directory

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

Page 12: Introduction to Programming Using C An Introduction to Operating Systems

12

Shells

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

Page 13: Introduction to Programming Using C An Introduction to Operating Systems

13

Logging In

You can contact the computer– Via a connected terminal– Over the internet via

telnet – a remote terminal Putty – a secure connection which is encrypted

Once connected you login with a– User name– password

Page 14: Introduction to Programming Using C An Introduction to Operating Systems

14

Listing Files

To see the files in your directory use the ls command

This has variations, specifified with command line parameters– ls –a list all files, including hidden ones– ls –l long listing showing details

Page 15: Introduction to Programming Using C An Introduction to Operating Systems

15

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 ipc144/as1/as1.c

– Absolute paths give a complete path from the root of the file system and do not depend on the current directory

/home/rob/ipc144/as1/as1.c

Page 16: Introduction to Programming Using C An Introduction to Operating Systems

16

Working with Directories

You can find out what directory you are in by typing– pwd

To change the currect directory– cd <path>– “.” is shorthand for the current directory– “..” is shorthand for the parent directory

Page 17: Introduction to Programming Using C An Introduction to Operating Systems

17

Command Syntax

Every command– Starts with a command name– Is followed by

Options Filenames or other data passed to the command Optional input / output redirection

Page 18: Introduction to Programming Using C An Introduction to Operating Systems

18

I/O Redirection

Every command reads input from– Standard input

And write output to– Standard output

Normally, these are connected to– The keyboard– The terminal screen

However, they can be redirected to files

Page 19: Introduction to Programming Using C An Introduction to Operating Systems

19

I/O Redirection

The “<“ sign tells a program to read from a file rather than the keyboard– cat < file1.txt– This causes the cat command to read from

file1.txt The “>” sign redirects output to a file

– cat > file2.txt– Causes the cat command to write its output to

file2.txt

Page 20: Introduction to Programming Using C An Introduction to Operating Systems

20

End Of File

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 CTRL-

D on a line by itself and pressing RETURN will send an End Of File character to your program

Page 21: Introduction to Programming Using C An Introduction to Operating Systems

21

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– HOME -- your home directory– PATH -- directories searched for commands– PS1 -- prompt

Page 22: Introduction to Programming Using C An Introduction to Operating Systems

22

Shell Programming

You can set a variable by simply assigning a value– Myvar=1

To see the value type– Echo $Myvar

To see the values of all variables type– set

Page 23: Introduction to Programming Using C An Introduction to Operating Systems

23

Basic UNIX Commands

cat [<filelist>]– Concatenates one or more files into a single file– Often used to display a file on screen– Also used to combine files

cd [<dir>]– Changes the current working directory to the

absolute or relative path specified– All relative paths are prefixed with the current

directory

Page 24: Introduction to Programming Using C An Introduction to Operating Systems

24

Basic UNIX Commands

chmod <permissions> <filelist>– Every file has an owner and a set of permissions– You can allow a file to be

Read (r) Written (w) Executed (x)

– These operations can be performed by The owner (u) The group (g) Everyone outside the owner or his/her group (o) All users (a)

Page 25: Introduction to Programming Using C An Introduction to Operating Systems

25

Basic UNIX Commands

The permissisons are combined into a string of the form– [rwx]±[oug]

To allow anyone to read a file– chmod a+r filename

Restrict access to anyone but the owner– chmod ug-rwx filename

Page 26: Introduction to Programming Using C An Introduction to Operating Systems

26

Basic UNIX Commands

clear– Clears the screen

cp <filelist> <dest>– Copies one or more files to another file or

directory– Can be used to copy files to a directory

df– Shows the amount of free disk space

Page 27: Introduction to Programming Using C An Introduction to Operating Systems

27

Basic UNIX Commands

du [<dir>]– Reports the disk usage for a directory

finger <user>– Provides information about a user

ln <filename> <alias>– Creates a link where two filenames point to the

same file

Page 28: Introduction to Programming Using C An Introduction to Operating Systems

28

Basic UNIX Commands

lpr [-P printer] <filelist>– Prints a series of files on a printer

lpstat [-P printer]– Lists jobs queued for the printer

ls [-al]– Lists files in a directory

Page 29: Introduction to Programming Using C An Introduction to Operating Systems

29

Basic UNIX Commands

man <command>– Provides a manual page on the command

mkdir <dirlist>– Creates one or more new directories

more <filelist>– Displays a file a screenful at a time

Enter advances one line Space advances one page q quits

Page 30: Introduction to Programming Using C An Introduction to Operating Systems

30

Basic UNIX Commands

mv <filelist> <dest>– Moves files rather than copying– Can be used to rename a file

passwd– Allows you to change your password

pwd– Displays the current directory name

Page 31: Introduction to Programming Using C An Introduction to Operating Systems

31

Basic UNIX Commands

quota– Displays how much disk space you can use

rm <filelist>– Removes one or more files

rmdir <dirlist>– Removes a directory if it is empty

set– Displays all shell variables

Page 32: Introduction to Programming Using C An Introduction to Operating Systems

32

Basic UNIX Commands

stty– Terminal settings

who– Shows who is logged on

Page 33: Introduction to Programming Using C An Introduction to Operating Systems

33

Editing

UNIX has a variety of editors– vi

Everyone loves to hate this one

– nled Neat little editor

– Pico Another editor

Page 34: Introduction to Programming Using C An Introduction to Operating Systems

34

Compiling

The C compiler is called cc– 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

Page 35: Introduction to Programming Using C An Introduction to Operating Systems

35