CS 61C Vs. CS 61AB the CS 61 Series Is an Introduction To

Total Page:16

File Type:pdf, Size:1020Kb

CS 61C Vs. CS 61AB the CS 61 Series Is an Introduction To CS 61C vs. CS 61AB The CS 61 series is an introduction to computer science, with particular emphasis on software and on machines from a programmer's point of view. The first two courses considered programming at a high level of abstraction, introducing a range of programming paradigms and common techniques. This course, the last in the series, concentrates on machines and how they carry out the programs you write. The main topics of CS 61CL involve the low-level system software and the hardware organization of a "logical machine"—not the actual electronic circuits, but the computational operations that those circuits carry out. To make these ideas concrete, you will study the structure of a particular computer, the MIPS R3000 processor, in some detail, down to the level of the design of the processor's on-chip components. Course outline Topics in the first half of CS 61CL will be covered roughly in the sequence specified below. week topics 1 introduction to C 2 C arrays and pointers 3 dynamic storage allocation 4 introduction to assembly language 5 assembly language translation of C operations 6 machine language 7 floating-point representations Topics to be covered in the remainder of the course include the following: input and output linking and loading logic design CPU design C memory management virtual memory caches A notebook for CS 61CL We encourage you to buy a notebook specifically for CS 61CL and bring it to lab every day. T.a.s will want a place to write answers for questions you ask. You will want a place to keep track of issues or techniques that arise in lab. The notebook is also a good place to keep track of errors you make, to help you not make them again. Overview For those of you that are new to the UC-WISE learning environment, this (http://inst.eecs.berkeley.edu/ ~cs61cl/fa07/misc/intro.to.UC-WISE.html) provides an overview. Why C? C arose from work on UNIX at Bell Labs in the late 1960’s. It filled two main needs. First, it is a relatively high-level language that in addition allows flexible low-level access to memory and operating system resources. It's also relatively easy to write a compiler for, so it wasn't too long before implementations of C were available on a variety of computers. (This contributed greatly to the spread of UNIX.) In CS 61CL, we'll be focusing on two aspects of C. First, there are things you need to be an everyday C programmer; you'll write some of the CS 61CL projects in C, so we hope these hints will help you with those programs. Also, C allows easy access to other aspects of the CS 61CL content. C vs. Java To a first approximation, C is just Java without the object-oriented features. Here's a Java program that veterans of CS 61B have probably encountered. public class Account { public Account (int amount) { myAmount = amount; } public void deposit (int amount) { myAmount = myAmount – amount; } public int balance ( ) { return myAmount; } private int myAmount; } Crossing out mentions of class and public/private leaves an almost legal C program: Format of a C program Here's an excerpt of a program we'll see later in this lab session, along with some explanatory notes. #include <stdio.h> int main ( ) { unsigned int exp = 1; int k; /* Compute 2 to the 31st. */ for (k=0; k<31; k++) { exp = exp * 2; } ... return 0; } Notes: #include is loosely similar to the import construct in Java. Mechanically, the C compiler replaces the #include line by the contents of the named file. However, well-designed include files are an important aspect of good C programming style. Important system programming interfaces are described in < > include files. (Surrounding the file name with angle brackets, as in the example, tells the compiler to look for the file in a set of system directories.) User-defined data types and interfaces, such as you will write, are described in " " include files. (Surrounding the file name with double quote marks says to look in the user's directory for the file.) As in Java, main is called by the operating system to run the program. Unlike in Java, main is an int- valued function that returns a success-failure code (0 means success, anything else means failure). Command-line arguments may but are not required to be specified as arguments to main. The C compiler also allows main to be declared as void; K&R contains numerous examples of this. C requires declaration before use; moreover, all declarations must appear after the left brace surrounding a group of statements. C uses "/*" and "*/" as comment delimiters as does Java. More recent versions of C also allow "//" comments as in Java. Another example Here's another example that we'll revisit later in this lab session. #include <stdio.h> int bitCount (unsigned int n); int main ( ) { printf ("%d %d", 0, bitCount (0)); printf ("%d %d", 1, bitCount (1)); printf ("%d %d", 27, bitCount (27)); return 0; } int bitCount (unsigned int n) { int k; return 13; } Notes: Functions should also be declared before they're used. In C, that's done with a function prototype; the line right after the #include is an example. Files whose names end in ".h" (for "header") typically consist of function prototypes and data type definitions. Files whose names end in ".c" contain the code for those functions. The printf function is used to produce output. Its first argument is a format string. Each occurrence of "%" in the format string indicates where one of the subsequent arguments will appear and in what form. This association between form and variable type isn't checked by the C compiler, as we'll note later. Some troublesome details C doesn't have a boolean type. It uses int instead: 0 means "false", anything else means "true". (This is similar to Scheme.) This feature, combined with assignment within expressions and a looser approach to types in general, leads to a common mistake made by beginning C programmers: using "=" instead of "==" in a comparison causes C to interpret the comparison as an assignment statement, whose value is the value assigned. Thus, a typical assignment statement might be: n = 5; and a typical conditional might be: if (n == 5) { ... do something ...} But the following is a funny combination of both: if (n = 5) { .. do something ...} It assigns the value 5 to the variable n and tests whether 5 is not equal to zero. (It's true. 5 is not 0.) The test always succeeds, probably not what the programmer intended. In Java, this causes an error, since the condition in an if statement must be of type boolean. And yes, C programmers do find elegant uses of the assign-and-test idiom, but in moderation. For new C programmers, it is usually a bug. C doesn't check for the failure to initialize variables, or for accessing outside the bounds of an array. These omissions have been the bane of many a C programmer over the years. They are best addressed by good, disciplined programming conventions right from the beginning. Although simple, C is very powerful and allows you to get at anything the machine can do. Without care, that power can be dangerous. Review of some UNIX commands First, use the mkdir command to create a directory named lab1 in your home directory. The mkdir command takes a single argument, the name of the directory to create. Then use the cp command to copy two files from the CS 61CL code directory to the lab1 directory. The cp command takes two arguments: the file to be copied, and the destination file or directory. The files to be copied are ~cs61cl/code/wc1.c and ~cs61cl/code/wc.data.txt. Incidentally, if you're new to UNIX, this web page contains short descriptions of some more useful UNIX commands. The most important is man. If you are not sure how a UNIX command works, run man on it. (Yes, man man works too.) UNIX i/o redirection The default input source for many UNIX programs is the keyboard. However, this source may be redirected to come from a file, using the < operator. For example, a desk calculator program named dc simulates a calculator that takes input in postfix order (operands before operator). When one runs dc with the command dc input comes from the keyboard. For example, to compute 2 + 3, one would type 2 3 + p ("p" prints the result.) To take input instead from a file named dc.cmds, we would type dc < dc.cmds gcc, gdb, and emacs In lab, we'll be using the gcc C compiler and the gdb debugger. The emacs editor provides features that enhance the capability of gdb, with which you'll shortly get some practice. Check right now that the gcc command is set up properly for your account, by typing the alias command to the UNIX shell. Among the entries printed should be one for gcc that includes the options "-Wall", "-g", and "-std=c99". "Wall" means "Warn about all recognized irregularities"; "-g" causes gcc to store enough information in the executable program for gdb to make sense of it; "-std=c99" enables the use of features added to C in the 1999 standard. Warn your instructor if these options do not appear in an alias entry for gcc. Let's try it out. Type gcc. It should come back with gcc: no input files. That's right; you didn't specify any.
Recommended publications
  • Institutionen För Datavetenskap Department of Computer and Information Science
    Institutionen för datavetenskap Department of Computer and Information Science Final thesis NetworkPerf – A tool for the investigation of TCP/IP network performance at Saab Transpondertech by Magnus Johansson LIU-IDA/LITH-EX-A--09/039--SE 2009-08-13 Linköpings universitet Linköpings universitet SE-581 83 Linköping, Sweden 581 83 Linköping Final thesis NetworkPerf - A tool for the investigation of TCP/IP network performance at Saab Transpondertech Version 1.0.2 by Magnus Johansson LIU-IDA/LITH-EX-A09/039SE 2009-08-13 Supervisor: Hannes Persson, Attentec AB Examiner: Dr Juha Takkinen, IDA, Linköpings universitet Abstract In order to detect network changes and network troubles, Saab Transpon- dertech needs a tool that can make network measurements. The purpose of this thesis has been to nd measurable network proper- ties that best reect the status of a network, to nd methods to measure these properties and to implement these methods in one single tool. The resulting tool is called NetworkPerf and can measure the following network properties: availability, round-trip delay, delay variation, number of hops, intermediate hosts, available bandwidth, available ports, and maximum al- lowed packet size. The thesis also presents the methods used for measuring these properties in the tool: ping, traceroute, port scanning, and bandwidth measurement. iii iv Acknowledgments This master's thesis would not be half as good as it is, if I had not received help and support from several people. Many thanks to my examiner Dr Juha Takkinen, without whose countin- uous feedback this report would not have been more than a few confusing pages.
    [Show full text]
  • APPENDIX a Aegis and Unix Commands
    APPENDIX A Aegis and Unix Commands FUNCTION AEGIS BSD4.2 SYSS ACCESS CONTROL AND SECURITY change file protection modes edacl chmod chmod change group edacl chgrp chgrp change owner edacl chown chown change password chpass passwd passwd print user + group ids pst, lusr groups id +names set file-creation mode mask edacl, umask umask umask show current permissions acl -all Is -I Is -I DIRECTORY CONTROL create a directory crd mkdir mkdir compare two directories cmt diff dircmp delete a directory (empty) dlt rmdir rmdir delete a directory (not empty) dlt rm -r rm -r list contents of a directory ld Is -I Is -I move up one directory wd \ cd .. cd .. or wd .. move up two directories wd \\ cd . ./ .. cd . ./ .. print working directory wd pwd pwd set to network root wd II cd II cd II set working directory wd cd cd set working directory home wd- cd cd show naming directory nd printenv echo $HOME $HOME FILE CONTROL change format of text file chpat newform compare two files emf cmp cmp concatenate a file catf cat cat copy a file cpf cp cp Using and Administering an Apollo Network 265 copy std input to std output tee tee tee + files create a (symbolic) link crl In -s In -s delete a file dlf rm rm maintain an archive a ref ar ar move a file mvf mv mv dump a file dmpf od od print checksum and block- salvol -a sum sum -count of file rename a file chn mv mv search a file for a pattern fpat grep grep search or reject lines cmsrf comm comm common to 2 sorted files translate characters tic tr tr SHELL SCRIPT TOOLS condition evaluation tools existf test test
    [Show full text]
  • File Management Tools
    File Management Tools ● gzip and gunzip ● tar ● find ● df and du ● od ● nm and strip ● sftp and scp Gzip and Gunzip ● The gzip utility compresses a specified list of files. After compressing each specified file, it renames it to have a “.gz” extension. ● General form. gzip [filename]* ● The gunzip utility uncompresses a specified list of files that had been previously compressed with gzip. ● General form. gunzip [filename]* Tar (38.2) ● Tar is a utility for creating and extracting archives. It was originally setup for archives on tape, but it now is mostly used for archives on disk. It is very useful for sending a set of files to someone over the network. Tar is also useful for making backups. ● General form. tar options filenames Commonly Used Tar Options c # insert files into a tar file f # use the name of the tar file that is specified v # output the name of each file as it is inserted into or # extracted from a tar file x # extract the files from a tar file Creating an Archive with Tar ● Below is the typical tar command used to create an archive from a set of files. Note that each specified filename can also be a directory. Tar will insert all files in that directory and any subdirectories. tar cvf tarfilename filenames ● Examples: tar cvf proj.tar proj # insert proj directory # files into proj.tar tar cvf code.tar *.c *.h # insert *.c and *.h files # into code.tar Extracting Files from a Tar Archive ● Below is the typical tar command used to extract the files from a tar archive.
    [Show full text]
  • User's Manual
    USER’S MANUAL USER’S > UniQTM UniQTM User’s Manual Ed.: 821003146 rev.H © 2016 Datalogic S.p.A. and its Group companies • All rights reserved. • Protected to the fullest extent under U.S. and international laws. • Copying or altering of this document is prohibited without express written consent from Datalogic S.p.A. • Datalogic and the Datalogic logo are registered trademarks of Datalogic S.p.A. in many countries, including the U.S. and the E.U. All other brand and product names mentioned herein are for identification purposes only and may be trademarks or registered trademarks of their respective owners. Datalogic shall not be liable for technical or editorial errors or omissions contained herein, nor for incidental or consequential damages resulting from the use of this material. Printed in Donnas (AO), Italy. ii SYMBOLS Symbols used in this manual along with their meaning are shown below. Symbols and signs are repeated within the chapters and/or sections and have the following meaning: Generic Warning: This symbol indicates the need to read the manual carefully or the necessity of an important maneuver or maintenance operation. Electricity Warning: This symbol indicates dangerous voltage associated with the laser product, or powerful enough to constitute an electrical risk. This symbol may also appear on the marking system at the risk area. Laser Warning: This symbol indicates the danger of exposure to visible or invisible laser radiation. This symbol may also appear on the marking system at the risk area. Fire Warning: This symbol indicates the danger of a fire when processing flammable materials.
    [Show full text]
  • GNU Coreutils Cheat Sheet (V1.00) Created by Peteris Krumins ([email protected], -- Good Coders Code, Great Coders Reuse)
    GNU Coreutils Cheat Sheet (v1.00) Created by Peteris Krumins ([email protected], www.catonmat.net -- good coders code, great coders reuse) Utility Description Utility Description arch Print machine hardware name nproc Print the number of processors base64 Base64 encode/decode strings or files od Dump files in octal and other formats basename Strip directory and suffix from file names paste Merge lines of files cat Concatenate files and print on the standard output pathchk Check whether file names are valid or portable chcon Change SELinux context of file pinky Lightweight finger chgrp Change group ownership of files pr Convert text files for printing chmod Change permission modes of files printenv Print all or part of environment chown Change user and group ownership of files printf Format and print data chroot Run command or shell with special root directory ptx Permuted index for GNU, with keywords in their context cksum Print CRC checksum and byte counts pwd Print current directory comm Compare two sorted files line by line readlink Display value of a symbolic link cp Copy files realpath Print the resolved file name csplit Split a file into context-determined pieces rm Delete files cut Remove parts of lines of files rmdir Remove directories date Print or set the system date and time runcon Run command with specified security context dd Convert a file while copying it seq Print sequence of numbers to standard output df Summarize free disk space setuidgid Run a command with the UID and GID of a specified user dir Briefly list directory
    [Show full text]
  • You Can Download and Print the Meeting Schedule
    EVERY WEEK DAY FRIDAY 6 PM SATURDAY NIGHT LIVE 7 PM HONOMU AS YET UNNAMED Serenity House, 15-2579 Pahoa-Keaau Rd., Pahoa ZOOM 5 PM WOMEN'S 11th STEP 8 AM ATTITUDE ADJUSTMENT NEW Hilo Coast United Church of Christ, Old Mamalahoa - O, BBS (near Pahoa Fire Station) MEDITATION -CL, WO LOCATION Onekahakaha Beach Park 74 Hwy. past the gym & turn left at the first driveway, https://zoom.us/j/400348959 Onekahakaha Rd, Hilo -OD, S, H Honomu - O, H ZOOM 6PM BEGINNER STEP MEETING psswd: 443670 https://us02web.zoom.us/j/4639358103?pwd 12 PM NOONERS now located at the Hilo soccer =c0FKRnJaVmNIQUlaS3lmRFVQNzZtdz09 field on Kamehameha Ave ***from Kilauea Ave turn TUESDAY 5:30 PM VOLCANO BIG BOOK GROUP psswd 9waxu4 East on Ponahawai Street. (toward the water) Right Cooper Center in Bookstore, Wright Rd., Volcano - on Bay Front (King Kamahemeha Ave) First drive ZOOM 7 PM SERENDIPITY -OD, H and CL, BB, H on right, at pavilion Bring Own Chair! 6:30 PM KEEP IT SIMPLE NEW Additional teleconference meeting Reflections https://us04web.zoom.us/j/9609522834 6 PM AA FRIDAY NIGHT Center for Spiritual Cooper Center on Wright Road, Volcano - Telephone number: 978-990-5000 Living, corner of 31st and Paradise in Hawaiian OD, H Access code: 226622 Paradise Park- OD, H ZOOM 7 PM ELEVATAH STAY BROKE Ask member for zoom info 7 PM YOUNG PEOPLES TUNDA 7 AM NANAWALE 4th DIMENSION (week 6 PM HILO MEN'S STAG 1842 Kino'ole St., Hilo O, 12 X 12 Lanakila Center, 600 Wailoa St. (across St.
    [Show full text]
  • Unix Programmer's Manual
    There is no warranty of merchantability nor any warranty of fitness for a particu!ar purpose nor any other warranty, either expressed or imp!ied, a’s to the accuracy of the enclosed m~=:crials or a~ Io ~helr ,~.ui~::~::.j!it’/ for ~ny p~rficu~ar pur~.~o~e. ~".-~--, ....-.re: " n~ I T~ ~hone Laaorator es 8ssumg$ no rO, p::::nS,-,,.:~:y ~or their use by the recipient. Furln=,, [: ’ La:::.c:,:e?o:,os ~:’urnes no ob~ja~tjon ~o furnish 6ny a~o,~,,..n~e at ~ny k:nd v,,hetsoever, or to furnish any additional jnformstjcn or documenta’tjon. UNIX PROGRAMMER’S MANUAL F~ifth ~ K. Thompson D. M. Ritchie June, 1974 Copyright:.©d972, 1973, 1974 Bell Telephone:Laboratories, Incorporated Copyright © 1972, 1973, 1974 Bell Telephone Laboratories, Incorporated This manual was set by a Graphic Systems photo- typesetter driven by the troff formatting program operating under the UNIX system. The text of the manual was prepared using the ed text editor. PREFACE to the Fifth Edition . The number of UNIX installations is now above 50, and many more are expected. None of these has exactly the same complement of hardware or software. Therefore, at any particular installa- tion, it is quite possible that this manual will give inappropriate information. The authors are grateful to L. L. Cherry, L. A. Dimino, R. C. Haight, S. C. Johnson, B. W. Ker- nighan, M. E. Lesk, and E. N. Pinson for their contributions to the system software, and to L. E. McMahon for software and for his contributions to this manual.
    [Show full text]
  • USER MANUAL GWR High Speed Cellular Router Series
    GWR USER MANUAL GWR High Speed Cellular Router Series Document version 1.0.0 Date: December 2015 WWW.GENEKO.RS User Manual Document History Date Description Author Comments 24.12.2015 User Manual Tanja Savić Firmware versions: 1.1.2 Document Approval The following report has been accepted and approved by the following: Signature Printed Name Title Date Dragan Marković Executive Director 24.12.2015 GWR High Speed Cellular Router Series 2 User Manual Content DOCUMENT APPROVAL ........................................................................................................................................ 2 LIST OF FIGURES .................................................................................................................................................... 5 LIST OF TABLES ...................................................................................................................................................... 8 DESCRIPTION OF THE GPRS/EDGE/HSPA ROUTER SERIES ...................................................................... 9 TYPICAL APPLICATION ............................................................................................................................... 10 TECHNICAL PARAMETERS ......................................................................................................................... 11 PROTOCOLS AND FEATURES ...................................................................................................................... 14 PRODUCT OVERVIEW ...............................................................................................................................
    [Show full text]
  • Unix Commands (09/04/2014)
    Unix Commands (09/04/2014) • Access control – login <login_name> – exit – passwd <login_name> – yppassswd <loginname> – su – • Login as Super user – su <login> • Login as user <login> • Root Prompt – [root@localhost ~] # • User Prompt – [bms@raxama ~] $ On Line Documentation – man <command/topic> – info <command/topic> • Working with directories – mkdir –p <subdir> ... {-p create all directories in path if not present} mkdir –p /2015/Jan/21/14 will create /2015, Jan, 21 & 14 in case any of these is absent – cd <dir> – rm -r <subdir> ... Man Pages • 1 Executable programs or shell commands • 2 System calls (functions provided by the kernel) • 3 Library calls (functions within program libraries) • 4 Special files (usually found in /dev) • 5 File formats and conventions eg /etc/passwd • 6 Games • 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) • 8 System administration commands (usually only for root) • 9 Kernel routines [Non standard] – man grep, {awk,sed,find,cut,sort} – man –k mysql, man –k dhcp – man crontab ,man 5 crontab – man printf, man 3 printf – man read, man 2 read – man info Runlevels used by Fedora/RHS Refer /etc/inittab • 0 - halt (Do NOT set initdefault to this) • 1 - Single user mode • 2 - Multiuser, – without NFS (The same as 3, if you do not have networking) • 3 - Full multi user mode w/o X • 4 - unused • 5 - X11 • 6 - reboot (Do NOT set init default to this) – init 6 {Reboot System} – init 0 {Halt the System} – reboot {Requires Super User} – <ctrl> <alt> <del> • in tty[2-7] mode – tty switching • <ctrl> <alt> <F1-7> • In Fedora 10 tty1 is X.
    [Show full text]
  • Gnu Coreutils Core GNU Utilities for Version 5.93, 2 November 2005
    gnu Coreutils Core GNU utilities for version 5.93, 2 November 2005 David MacKenzie et al. This manual documents version 5.93 of the gnu core utilities, including the standard pro- grams for text and file manipulation. Copyright c 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”. Chapter 1: Introduction 1 1 Introduction This manual is a work in progress: many sections make no attempt to explain basic concepts in a way suitable for novices. Thus, if you are interested, please get involved in improving this manual. The entire gnu community will benefit. The gnu utilities documented here are mostly compatible with the POSIX standard. Please report bugs to [email protected]. Remember to include the version number, machine architecture, input files, and any other information needed to reproduce the bug: your input, what you expected, what you got, and why it is wrong. Diffs are welcome, but please include a description of the problem as well, since this is sometimes difficult to infer. See section “Bugs” in Using and Porting GNU CC. This manual was originally derived from the Unix man pages in the distributions, which were written by David MacKenzie and updated by Jim Meyering.
    [Show full text]
  • US EPA, Pesticide Product Label, Orondis OD,10/05/2017
    81,7('67$7(6(19,5210(17$/3527(&7,21$*(1&< :$6+,1*721'& 2)),&(2)&+(0,&$/6$)(7< $1'32//87,2135(9(17,21 2FWREHU 0V+HLGL%,UULJ 5HJXODWRU\5HVLGXH0DQDJHU 6\QJHQWD&URS3URWHFWLRQ//& 32%R[ *UHHQVERUR1& 6XEMHFW 35,$/DEHO$PHQGPHQW±QHZXVHIRUFDFDRDGGVVXSSOHPHQWDOODEHOIRUFDFDR DVVRFLDWHG3HWLWLRQ( 3URGXFW1DPH2URQGLV2' (3$5HJLVWUDWLRQ1XPEHU $SSOLFDWLRQ'DWH 'HFLVLRQ1XPEHU 'HDU0V,UULJ 7KHDSSOLFDWLRQUHIHUUHGWRDERYHVXEPLWWHGXQGHUWKH)HGHUDO,QVHFWLFLGH)XQJLFLGHDQG 5RGHQWLFLGH$FWDVDPHQGHGLVDFFHSWDEOHXQGHU),)5$VHF F <RXPXVWVXEPLWDQGRU FLWHDOOGDWDUHTXLUHGIRUUHJLVWUDWLRQUHUHJLVWUDWLRQUHJLVWUDWLRQUHYLHZRI\RXUSURGXFWZKHQWKH $JHQF\UHTXLUHVDOOUHJLVWUDQWVRIVLPLODUSURGXFWVWRVXEPLWVXFKGDWD $VWDPSHGFRS\RI\RXU0DVWHUDQG6XSSOHPHQWDOODEHOLQJDUHHQFORVHGIRU\RXUUHFRUGV7KLV ODEHOLQJVXSHUVHGHVDOOSUHYLRXVO\DFFHSWHGODEHOLQJ<RXPXVWVXEPLWRQH FRS\RIWKHILQDO SULQWHGODEHOLQJEHIRUH\RXUHOHDVHWKHSURGXFWIRUVKLSPHQWZLWKWKHQHZODEHOLQJ,QDFFRUGDQFH ZLWK&)5 F \RXPD\GLVWULEXWHRUVHOOWKLVSURGXFWXQGHUWKHSUHYLRXVO\DSSURYHG ODEHOLQJIRUPRQWKVIURPWKHGDWHRIWKLVOHWWHU$IWHUPRQWKV\RXPD\RQO\GLVWULEXWHRU VHOOWKLVSURGXFWLILWEHDUVWKLVQHZUHYLVHGODEHOLQJRUVXEVHTXHQWO\DSSURYHGODEHOLQJ³7R GLVWULEXWHRUVHOO´LVGHILQHGXQGHU),)5$VHFWLRQ JJ DQGLWVLPSOHPHQWLQJUHJXODWLRQDW &)5 6KRXOG\RXZLVKWRDGGUHWDLQDUHIHUHQFHWRWKHFRPSDQ\¶VZHEVLWHRQ\RXUODEHOWKHQSOHDVHEH DZDUHWKDWWKHZHEVLWHEHFRPHVODEHOLQJXQGHUWKH)HGHUDO,QVHFWLFLGH)XQJLFLGHDQG5RGHQWLFLGH $FWDQGLVVXEMHFWWRUHYLHZE\WKH$JHQF\,IWKHZHEVLWHLVIDOVHRUPLVOHDGLQJWKHSURGXFW ZRXOGEHPLVEUDQGHGDQGXQODZIXOWRVHOORUGLVWULEXWHXQGHU),)5$VHFWLRQ D ( &)5 D OLVWH[DPSOHVRIVWDWHPHQWV(3$PD\FRQVLGHUIDOVHRUPLVOHDGLQJ,QDGGLWLRQ
    [Show full text]
  • Intro to Unix 2018
    Introduction to *nix Bill Renaud, OLCF ORNL is managed by UT-Battelle for the US Department of Energy Background • UNIX operating system was developed in 1969 by Ken Thompson and Dennis Ritchie • Many “UNIX-like” OSes developed over the years • UNIX® is now a trademark of The Open Group, which maintains the Single UNIX Specification • Linux developed by Linus Torvalds in 1991 • GNU Project started by Richard Stallman in 1983 w/aim to provide free, UNIX-compatible OS • Many of the world’s most powerful computers use Linux kernel + software from the GNU Project References: 1www.opengroup.org/unix 2https://en.wikipedia.org/wiki/Linux 2 3https://www.gnu.org/gnu/about-gnu.html This Presentation • This presentation will focus on using *nix operating systems as a non-privileged user in an HPC environment – Assumes you’re using a ‘remote’ system – No info on printing, mounting disks, etc. • We’ll focus on systems using the Linux kernel + system software from the GNU project since that’s so prevalent • Two-Part – Basics: general information, commands – Advanced: advanced commands, putting it all together, scripts, etc. 3 This Presentation • May seem a bit disjoint at first – Several basic concepts that don’t flow naturally but later topics build upon – Hopefully everything will come together, but if not… • I’ll cover (what I hope is) some useful info but can’t cover it all – People write thousand-page books on this, after all • Please ask questions! 4 Basics Terminology • User – An entity that interacts with the computer. Typically a person but could also be for an automated task.
    [Show full text]