CSCI 243: C & UNIX Kirk Anne South 124A

Slides:



Advertisements
Similar presentations
Bab 14 IMPLEMENTASI TEORI SISTEM OPERASI. SISTEM UNIX.
Advertisements

Learning Unix/Linux Bioinformatics Orientation 2008 Eric Bishop.
Jump to first page Unix Commands Monica Stoica Jump to first page Introduction to Unix n Unix was born in 1969 at Bell Laboratories, a research subdivision.
Chapter One The Essence of UNIX.
History of UNIX Fergus Toolan Intelligent Information Retrieval Group University College Dublin.
Unix Systems Administration 1Y. K. Chang UNIX History : Bell Lab joined with GEC and Project MAC of MIT to develop Multics: multi-user and data-sharing.
Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
CS 497C – Introduction to UNIX Lecture 2: Work with Files and Directories Chin-Chih Chang
COMP5102/5122 Lecture 1 Operating Systems (OS) Introduction phones off (please)
Working Environment - - Linux - -.
Phones OFF Please Operating System Introduction Parminder Singh Kang Home:
Introduction to UNIX CS208.
Introduction to Unix (CA263) Computing With Unix By Tariq Ibn Aziz.
Guide To UNIX Using Linux Third Edition
CMPE 151: Network Administration Spring Class Description Focus: system and network administration. Sequence of exercises. E.g., installing/configuring.
Basic Unix Dr Tim Cutts Team Leader Systems Support Group Infrastructure Management Team.
TECHWARZ. (Multiplexed Information and Computing Service)  Multics was an extremely influential early time-sharing operating system.  Goal: Develop.
Unix Presentation. What is an Operating System An operating system (OS) is a program that allows you to interact with the computer -- all of the software.
UNIX/Linux System Programming Jordan University of Science and Technology History.
What is Unix Prepared by Dr. Bahjat Qazzaz. What is Unix UNIX is a computer operating system. An operating system is the program that – controls all the.
1 SEEM3460 Tutorial Unix Introduction. 2 Introduction What is Unix? An operation system (OS), similar to Windows, MacOS X Why learn Unix? Greatest Software.
Unix Background / History CSE 4251, Sp 2014, Bolz 422 Dr. Bob Mathis,
Introduction A computer system consists of hardware system programs application programs.
Chapter 10 – UNIX. History In late 1960s, two employees of Bell Labs (Ken Thompson & Dennis Ritchie) designed a new operating system to overcome the constraints.
Overview of Linux CS3530 Spring 2014 Dr. José M. Garrido Department of Computer Science.
COSC513 Project Linux Features Instructor: Prof. Mort Anvari Student: Yingfeng Luo ID: #
Module 1 Introduction to UNIX/Linux
Cmsc 312 Operating Systems. UNIX? DOS – PC? VAX/VMS - mainframe Unix – PC, workstation, mainframe 1970 bell Lab For computer scientist? Why popular? Free.
Chapter 1: Welcome to Linux An intro to UNIX-related operating systems.
Unix Background. Introducing Unix Brief Unix History u In 1969, Ken Thompson at AT&T Bell Labs began developing Unix. –First done in assembly language.
LIS508 background of GNU/Linux
Natawut NupairojAssembly Language1 Unix Survival Guide.
Session 2 Wharton Summer Tech Camp Basic Unix. Agenda Cover basic UNIX commands and useful functions.
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
Unix/Linux. What is Unix & Linux? Unix is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including.
Operating System Part II: Introduction to the Unix Operating System (The Evolution of Unix)
1 Operating Systems and Using Linux Topics What is an Operating System? Linux Overview Frequently Used Linux Commands Reading None.
Introduction to C Programming Lecture 2. C Tutor Schedule / 3rd Floor Lab b The lab and tutor schedule is available at the following URL:
History of UNIX a short version CSCI 333 August 31, 2011.
Computers & Operating Systems
Just Enough Unix, Chapter 1
1 Operating Systems: Principles and Practice Cpr E 308.
Unix and Samba By: IC Labs (Raj Kidambi). What is Unix?  Unix stands for UNiplexed Information and Computing System. (It was originally spelled "Unics.")
CS2204: Introduction to Unix January 19 th, 2004 Class Meeting 1 * Notes adapted by Christian Allgood from previous work by other members of the CS faculty.
1 Lecture 1 Introduction & Getting Started COP 3353 Introduction to UNIX.
Intro to UNIX Presented by: Student Ambassadors: Lauren Lewis Martin Sung.
Introduction to Programming Using C An Introduction to Operating Systems.
CSCI 330 UNIX and Network Programming Unit I Introduction.
Agenda Computer Languages How to Write a Simple C Program
Introduction 1 Chapter 1. Introduction History and Proliferation Mandate for Change What’s Good and Wrong Scope of this course.
Basic UNIX Concepts. Why We Need an Operating System (OS) OS interacts with hardware and manages programs. A safe environment for programs to run is required.
Background & History of UNIX & Linux Fort Collins, CO Copyright © XTR Systems, LLC The Background and Short History of UNIX & Linux Instructor: Joseph.
Introduction to UNIX CS 2204 Class meeting 1 *Notes by Doug Bowman and other members of the CS faculty at Virginia Tech. Copyright
Introduction to UNIX CS465. What is UNIX? (1) UNIX is an Operating System (OS). An operating system is a control program that allocates the computer's.
1 CS3695 – Network Vulnerability Assessment & Risk Mitigation – Introduction to Unix & Linux.
Introduction to UNIX and Linux.  Written by Dennis Ritchie and Ken Thomsom at Bell Labs in 1969  Initially written in assembly language and a high-level.
WHY AN OPERATING SYSTEM (OS) OS interacts with hardware and manages programs. Programs not expected to know which hardware they will run on. Must be possible.
Lab #1: UNIX crash course Introduction: History of Operating Systems Lesson #1: Navigating directories Lesson #2: Creating and editing files with emacs.
CS 120 Extra: The CS1 Server Tarik Booker CS 120.
Computer Center | Network Group IISER Bhopal Introduction to Basic Component of Computer System Vinay Bajpai iiserb.ac.in Computer Center Indian.
UNIX and SOFTWARE TOOLS Dr. Tran, Van Hoai Faculty of Computer Science and Engineering HCMC Uni. of Technology
By Jonathan Rinfret UNIX/LINUX By Jonathan Rinfret
Overview of Linux Fall 2016 Dr. Donghyun Kim
A LECTURE NOTE.
Class Projects and Environment
CS1010: Intro Workshop.
Lecture 1: Introduction to JAVA
A short Linux History of UNIX/Linux
UNIX/LINUX Commands Using BASH Copyright © 2017 – Curt Hill.
UNIX Introduction.
Presentation transcript:

CSCI 243: C & UNIX Kirk Anne South 124A

Course Description 5 weeks Teach you how to use UNIX Teach you how to program in C Practical, not theoretical “Tricks of the trade” How to not spend hours in front of the computer

Grading The only way to learn C is to program. Programs will be graded on: –Correctness –Style –Spelling Programs must produce correct answers. If errors, programs should exit gracefully.

Projects Syllabus tells you what you need for a “C”. –Three programs by end of week 2. –Three programs by end of week 3. –Three programs by end of week 4. –One program and final project, end of week 5. Final project –Can be from another class to save time

Points A250+ A-225 B+200 B175 B-150 C+125 C100 C-75 D50 E25

Final Project You can use a project from another class Or… –Write a library of functions for a stack and a “reverse Polish notation” calculator (HP) –Write a “substantial program”

Tentative Schedule Week 1: Intro Week 2: Basic C Week 3: Structures Week 4: Pointers Week 5: Shell Scripts Editors, X windows Control statements Functions Debugging, profiling Course Wrapup

Plagiarism The exercises are published on the Internet. I know this. This class may be your only chance to practice C with the “safety net”. This is where you will learn how C works. Cheating will only hurt you.

The History (!!) of UNIX

History of UNIX 1969… –The Year of Woodstock –Armstrong walks on the moon –The Year of “Space Travel” –A PDP-7 sits in a corner of a lab… 9K of RAM Paper tape drive Teletype 33 terminal

A plan comes together... Dennis Ritchie and Ken Thompson take a PDP-7 and use their research at AT&T to produce the first computer that can play “Space Travel”. Based on research from GE, MIT and AT&T called Multics, a powerful operating system, UNIX is born. But much simpler...

Multics Multiplexed Information & Computing Service Too big to work but had… –Interactivity –Shared Physical and Virtual Memory –Symmetric Multiprocessing –Security –Software Engineering –Hierarchical File Storage System –Programmed in PL/I

UNIX Took a lot of Multics ideas But reduced the complexity Originally written in assembly Uses a “layered” approach to achieve complexity

What’s “C” got to do with it? C is derived from BCPL, another language available on Multics. C is a “middle level” language. –Low level - Assembly (fast but only one CPU) –High level - FORTRAN, PL/I (slow, but easy) C allows you the power of assembly with the ease of a high level language.

C makes UNIX portable Kernighan & Ritchie write a C compiler to prepare code for the PDP-7 UNIX project. Made C small and easy to port. When they got a PDP-11 with 24K, it ported quickly. After converting the UNIX system from assembly to C, it ported quickly too.

UNIX becomes popular Once a C compiler is written for a new CPU, the UNIX operating system can be ported soon after. AT&T couldn’t sell UNIX because the gov’t said that their phone monopoly was enough. They gave it away to universities...

UNIX meets Berkeley... CS graduate students got their hands on the source code for an entire operating system. The prices for PDP-8s and PDP-11s enabled research universities to allow grad students to work on their “own”computers. UC Berkeley graduates take the source and run...

BSD UNIX Bill Joy (one of the founders of Sun Microsystems), leads the CSRG to build a new version of UNIX called Berkeley Software Disitribution (BSD). SUN actually stands for Stanford University Network.

CSRG products “vi” (vee-eye) sendmail lint make TCP/IP (Internet) telnet, ftp, rlogin, rsh, rcp, etc…

The “Tower of Babel” AT&T invents UNIX Berkeley reinvents UNIX as BSD UNIX Corporations realize it’s cheaper to use UNIX Everybody has a version of UNIX Two major types –AT&T System V and BSD

Corporate UNIX In the early 1990’s, corporations wanted to have a “corporate UNIX” that conformed to standards. The Open Software Foundation was formed to create a “standard UNIX”. AT&T wanted to keep the UNIX name.

What goes around, comes around AT&T joined forces w/ Sun (Bill Joy,BSD) to create the UNIX Software Labs and System V Release 4 (SVR4). Sun drops development on its BSD system Solaris is born...

UNIX Terms

“Buzz Word” Compliant Multiuser –more than one person can use the system Multitasking –more than one job can be done at a time Hierarchical –Different levels, resembling an upside-down tree

File System

Shell Kernel The “UNIX” Way... CPU

Logging in...

Logging into a UNIX system Telnet to a system X Windows (on the console) “rlogin”

Changing your password “passwd”

Getting out “logout” “exit” Exit the Window System

Basic UNIX commands Remember that PDP-7 with 9K of memory and 110 baud Teletype 33 terminal???

Basic UNIX commands date ls cat file mv old new cp original new rm file more file pwd See what time it is List directory Display a file Move a file (rename) Copy a file Remove a file Page through a file Print working directory

UNIX Files One of the strengths of UNIX is that a “file” is just considered a stream of information with a starting point and an optional length. UNIX can treat almost anything as a file. Because of this, handling data is very easy.

Directories A directory is a special type of file that holds information about other files. Can be used to store similar files –mkdirMake a directory –cdChange directory –rmdirRemove an empty directory –lsList a directory

Wildcards and “Regular Expressions” A star “*” indicates all files that match. A question mark “?” means just one character. Brackets can restrict which letters are used. –[A-Z]All upper case letters –*[02468]All files that end w/even numbers –[aeiou]*All files that start w/vowels

Next time... Man pages Editors X windows File permissions How to handle processes

For more information... (Check out the UNIX CBTs)