CS108 Software Systems: UNIX. Fall 2011

Similar documents
Introduction to Linux

Introduction to Linux Overview and Some History

Unix to Linux. CS 3113 Fall 2018 Dr. Christan Grant

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

Overview of Unix / Linux operating systems

History of Unix, Linux and the Open Source

Spring Modern Computer Science in a Unix Like Environment CIS c

Free & Open Source Software: The Academic Future

Basics of system administration on a Unix system

Introduc+on. General Information. General Information. General Information. General Information. General Information

COURSE OUTLINE. UNIX Programming 2014 Fall by Euiseong Seo

CSCI 2132 Software Development. Lecture 2: Introduction to UNIX and Unix-like Operating Systems

Welcome to ULI101! The Internet has become part of our daily lives.

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

Systems Programming. The Unix/Linux Operating System

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry

UNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

tech. solutions T2G Page1 ALT_01_Ch1 : Introduction to Linux ideas and history The History of Linux starts with the earlier development of UNIX.

ULI101 Introduction to Unix and Linux Week 1 Origin and History of Unix

Perl and R Scripting for Biologists

History of Unix and Linux

Operating Systems. I. Introduction. Eurecom

Introduction to Linux

Operating System Labs. Yuanbin Wu

EKT332 COMPUTER NETWORK

Ethics. Ethics. Ethics. Ethics. The issue of software ownership. The issue of software ownership. Programmers and the Hacker mentality.

UNIX Concepts COMPSCI 386

CS 153 Design of Operating Systems

Unix/Linux: History and Philosophy

Practical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015

Linux for Beginners. Windows users should download putty or bitvise:

Lecture 1. Course webpage. Syllabus and schedule, textbooks CS Lab, Virtual Box. Handouts, assignments Supplemental resources

Linux Session Part I. Kesavan M

Development Technology: Using Linux

Class Freeware, Open Source, and Free Software There is a difference, who knew?

Computer Software. c 2016 by David W. Gerbing. School of Business Administration Portland State University

To remotely use the tools in the CADE lab, do the following:

Chapter 01: Introduction to Linux

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

Lab Configure Basic AP security through GUI

Lecture 01: welcome and intro what LSD and Unix have in common

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems

Linux Essentials. Smith, Roderick W. Table of Contents ISBN-13: Introduction xvii. Chapter 1 Selecting an Operating System 1

Introduction to Cygwin Operating Environment

Remote Connection to the Zoo

Chapter 2: Configure a Network Operating System. Every computer requires an operating system to function, including computerbased

Introduction to Linux

DogeCash Masternode Setup Guide Version 1.2 (Ubuntu 16.04)

Ftp Command Line Manual Windows Username Password Linux

CS Operating Systems, Fall 2018 Project #0 Description

COSC350 System Software

Introduction to Linux

FREE SCIENTIFIC COMPUTING

CS Operating Systems (OS) Introduction. Lecture 2 Sept 12, 2018

Data Analysis in Geophysics ESCI Class 1. Bob Smalley. Basics of the Computer Environment

Prerequisites: Students should be comfortable with computers. No familiarity with Linux or other Unix operating systems is required.

Projects and Environment Introduction

TSMC NA Secure Chamber Quick Start Guide V2.3

Operating systems fundamentals - B01

Introduction To Linux. Rob Thomas - ACRC

Introduction: What is Unix?

OPEN SOURCE SOFTWARE

Telnet/SSH. Connecting to Hosts. Internet Technology 1

Operating Systems Concepts

CIS 90 Introduction to UNIX/Linux

Ftp Command Line Commands Linux Example Windows Put

EL2310 Scientific Programming

LINUX FUNDAMENTALS (5 Day)

The Operating System Machine Level

Linux: Powering the Internet

CSE 391 Lecture 1. introduction to Linux/Unix environment

What Makes Up the Modern Linux OS?

Preview. Story about Linux. Story about Linux. Story about Linux. Story about GNU/Linux. Story about GNU/LINUX 1/26/2018

Linux Fundamentals (L-120)

CS 300. Data Structures

Free Software Alternatives to Commercial Math Software

Unix Linux Fundamentals And Shell Scripting

LINUX FUNDAMENTALS. Supported Distributions: Red Hat Enterprise Linux 6 SUSE Linux Enterprise 11 Ubuntu LTS. Recommended Class Length: 5 days

Introduction to UNIX and Linux: Lecture 1

Operating Systems. Pablo Prieto Torralbo. 1. Introduction DEPARTMENT OF COMPUTER ENGINEERING

CSE 390a Lecture 1. introduction to Linux/Unix environment

Lab01: Part I. Introduction to Linux. Professional Training Academy Linux Series

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad

Introduction to CARC. To provide high performance computing to academic researchers.

computers to personal computers

Introduction to Operating Systems. Note Packet # 1. CSN 115 Operating Systems. Genesee Community College. CSN Lab Overview

The Operating System Machine Level

CSC 634: Networks Programming

Linux at the Command Line Don Johnson of BU IS&T

Chapter 14 Operating Systems

Chapter 14 Operating Systems

Remote GUI access to a Linux computer using Tightvnc

CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems

Advanced Linux System Administra3on

Version Control with Git

CS 300 Data Structures

CS395T: Introduction to Scientific and Technical Computing

Setting up my Dev Environment ECS 030

Transcription:

CS108 Software Systems: UNIX Fall 2011

CS108 Fall 2011 2

Course Info cs.utexas.edu/ edwardsj/teaching/2011fall/cs108 CS108 Fall 2011 3

Why Linux? Multi-user, multi-process operating system Open-source project with a rapidly expanding software base UNIX-like - The UNIX Philosophy, as summarized by Doug McIlroy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface. A mature desktop environment Adaptible, Robust, Secure, Cost-effective (free) CS108 Fall 2011 4

Why not? Cryptic commands and command-line options Few failsafes Coupled with open source movement (both good and bad) Designed for geeks by geeks, not users CS108 Fall 2011 5

Nevertheless,... Linux is widely used in companies and academic departments, including UTCS People often assume you know your way around Linux John s opinion: excellent environment for working on programming projects and technical papers CS108 Fall 2011 6

Ancestry of Linux CS108 Fall 2011 7

1969: UNIX developed at Bell Laboratories by Ken Thompson & Dennis Richie, et al., for the DEC PDP-7 minicomputer. 1972: Thompson develops the C programming language; work begins on rewriting UNIX in C. 1976: Thompson introduces UNIX to UC Berkeley; BSD is born. 1984: Richard Stallman begins the GNU project with Emacs. 1985: Richard Stallman founds the Free Software Foundation (FSF) to support the GNU project. 1991: Linus Torvalds writes a Minix-like kernel; GNU/Linux is born. CS108 Fall 2011 8

UNIX/Linux Timeline CS108 Fall 2011 9

The Linux Family Collection of common software elements form usable OS. No one Linux but rather many distributions that contain (nearly) the same software. Red Hat/Fedora A popular and well-developed Linux. SuSE A professional Linux. Debian A sophisticated 100% free Linux. Ubuntu A popular Debian-derived version of Linux. More distribution information at http://www.distrowatch.com/ CS108 Fall 2011 10

GNU GNU (Gnu s Not UNIX) - complete UNIX-compatible software system FSF - Free Software Foundation (Richard Stallman) - Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer. GNU Free Software Definition - Free software is software that users have the freedom to distribute and change. Some users may obtain copies at no charge, while others pay to obtain copies. Richard Stallman CS108 Fall 2011 11

Components of a Linux System Kernel The core OS code that manages physical resources (CPU, memory, hard drives, etc.) Shells Programs providing a text-based interface to the OS, a.k.a. the command line interface (CLI). Commands, utilities, and applications The large set of programs that perform specific tasks, e.g. moving files, printing documents, and browsing the web. Compilers Software development tools for converting human-understood languages into computer-understood languages. Desktops / Window Managers Software providing a graphical user interface (GUI). CS108 Fall 2011 12

The Two Faces of Linux CS108 Fall 2011 13

The Two Faces of Linux CS108 Fall 2011 14

Connecting to a Linux System Every user of a Linux system has a user account, identified by a username and authenticated with a password. Linux systems may be accessed in a variety of ways: Console terminal telnet (insecure) ssh (secure) VNC The Linux architecture allows almost all locally performable operations to be performed remotely as well. CS108 Fall 2011 15

Interacting with the Shell The textual interface of a Linux system is provided by a shell program, which performs a READ-EVALUATE-EXECUTE loop. 1. Display a prompt, indicating readiness. 2. READ a line of input. 3. EVALUATE any meta-syntax. 4. EXECUTE the specified command(s). CS108 Fall 2011 16

Remote Log-in Using SSH SSH allows you to establish a secure connection to a UNIX host from your local machine. To connect to a UTCS host: 1. Find a host that has a low load: apps.cs.utexas.edu/unixlabstatus 2. Use a client SSH program to connect to themachine.cs.utexas.edu: OS X: - start the Terminal or X11 and type: ssh user@themachine.cs.utexas.edu Windows: CS108 Fall 2011 17

- SSH Secure Shell @ http://www.ssh.com/ - PuTTY @ www.chiark.greenend.org.uk/ sgtatham/putty/ - Enter the hostname (themachine.cs.utexas.edu) (and user name if available) and press connect. Another UTCS UNIX host: - type ssh themachine.cs.utexas.edu or just ssh themachine CS108 Fall 2011 18

Using VNC VNC is a two-part system consisting of a server on a UTCS machine and viewer on the local machine (where the display is). 1. Find an available VNC Session http://www.cs.utexas.edu/facilities/ accommodations/public_labs/vnc_status/vnc.html 2. SSH to that UTCS machine (for me, this is antones) 3. Start a vncserver on the UTCS machine: CS108 Fall 2011 19

antones: > vncserver Found /lusr/opt/realvnc-4.1.1/lib for http connections. New antones.cs.utexas.edu:1 (erozner) desktop is antones.cs.utexas.edu:1 Starting applications specified in /u/erozner/.vnc/xstartup Log file is /u/erozner/.vnc/antones.cs.utexas.edu:1.log 4. The VNC viewer can now connect to the VNC server, e.g. antones.cs.utexas.edu:1 OS X - Chicken of the VNC@http: //www.apple.com/downloads/macosx/ networking_security/chickenofthevnc.html Windows - RealVNC @ http://www.realvnc.com/ - TightVNC @ http://www.tightvnc.com/ - UltraVNC @ http://ultravnc.sourceforge.net/ 5. When finished, terminate the VNC server from the UTCS machine: CS108 Fall 2011 20

antones: > vncserver -kill :1 Killing Xvnc process ID 16384 6. For more detailed instructions, see: http://www.cs.utexas.edu/facilities/ documentation/using_vnc/index.shtml CS108 Fall 2011 21

Homework 1 cs.utexas.edu/ edwardsj/teaching/2011fall/cs108/getting_started.html CS108 Fall 2011 22