Introduction to Operating Systems

advertisement
Operating Systems
cs550
Introduction/Syllabus
• Course website
– http://catpages.nwmissouri.edu/m/monismi/cs55
0
– Resources
• LittleFe Clusters
– littlefe.nwmissouri.edu
– littlefe2.nwmissouri.edu
• BCCD – www.bccd.net
– Bootable Cluster CD
– Free Open Source Linux operating system for cluster
computing
More Resources
• XSEDE – Extreme Science and Engineering
Discovery Environment
• Sign up for accounts at xsede.org and send me
your email and username
• Stampede Supercomputer (part of XSEDE)
– stampede.tacc.utexas.edu
What is an Operating System?
• It is a resource manager.
• OS manages the CPU(s), Main Memory, I/O,
and peripherals and possibly more
• Other resources may be managed, too.
– Programs and their interactions
– Interprocess Communication
– Files and file systems
Assumptions for this class
• You should have background in Computer
Organization.
• Understand the following:
– CPU instruction/execution
– Registers
– Interrupts
– Memory: fetch instruction and data
– Cache
– I/O
More Assumptions
• Data Structures Background
– Searching and Sorting
– Lists, queues, trees, stacks, etc.
– Discrete Math
Even More Assumptions
• Little or no background with UNIX/Linux
command line interface
• Lab 1 reviews connecting to the LittleFe
cluster, using the command line, and setting
up an XSEDE Portal Account
Linux for Windows?
• Sort of
• From the Cygwin website:
– Cygwin is
• a collection of tools which provide a Linux look and feel
environment for Windows.
• a DLL (cygwin1.dll) which acts as a Linux API layer providing
substantial Linux API functionality.
– Cygwin is not
• a way to run native Linux apps on Windows. You must rebuild your
application from source if you want it to run on Windows.
• a way to magically make native Windows apps aware of UNIX
functionality like signals, ttys, etc. Again, you need to build your
apps from source if you want to take advantage of Cygwin
functionality.
A Real Linux OS
•
•
•
•
•
BCCD is a Linux variant that we will use for this course.
Bootable Cluster CD
Variant of Knoppix, knopper.net
A live cd
Knoppix is a variant of Debian Linux that runs from a
bootable DVD
– This runs in RAM (Main memory) only
– It will not modify your Hard Drive.
• BCCD was created by extending upon Knoppix and can
be liberated (installed onto) to a hard drive
Linux and UNIX
• Linux - a UNIX-like OS that is free and open source (the
source code is provided for free)
– It was created by Linus Torvalds in 1991
• UNIX - created in Bell labs
–
–
–
–
A multitasking and multiuser OS
Stands for Uniplexed Information and Computing System
Developed in 1969 in assembly and re-written in C in 1973
Many variants
• See http://www.levenez.com/unix/unix_letter.pdf for a
history of all the variants
Basic UNIX/Linux Command Line Tools
• The command line is very powerful if used
properly
• Why?
– Typing can be much faster than using a GUI
– The tools within the command line have many
many options and you can often do more with
them than you can with a GUI, but doing so may
be cumbersome.
– You can write scripts to group together programs
Basic Commands
• nano - a text editor available on most
UNIX/Linux Systems (only uses the keyboard
and arrow keys)
• wildcard characters - * = anything, ? = any
one character
• ls - list all the files in the current directory
• man - manual pages
• cat - list a file or multiple files and
concatenate them
Basic Commands
• cp - copy a file to another location or file
name
• mv - move a file to another location or name
• rm - delete a file (-R for a directory)
• pwd - present working directory - list the
directory you are currently located within.
• mkdir - make a directory
Directory Structure Starts At Root
/
/bin
/home
/home/usernam
e
/usr
/var
/usr/bin
C Programming
• C will get us closer to the hardware than Java,
but not too close like Assembly.
• We will explore C in the next slide set.
Download