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.