Author(s): August E. Evrard, PhD. 2010

Similar documents
For more information about how to cite these materials visit

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

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

History of Unix, Linux and the Open Source

Author(s): Rahul Sami, 2009

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

Overview of Unix / Linux operating systems

Author(s): Vic Divecha, 2011

SI Special Topics: Data Security and Privacy: Legal, Policy and Enterprise Issues, Winter 2010

For more information about how to cite these materials visit

Author(s): Rahul Sami, 2009

For more information about how to cite these materials visit

History And Modern Uses Of The Unix Operating System (including embedded devices and mobile phones).

Operating Systems. I. Introduction. Eurecom

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

CSC 634: Networks Programming

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

Introduction to Linux Overview and Some History

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

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

Software Project. Lecturers: Ran Caneti, Gideon Dror Teaching assistants: Nathan Manor, Ben Riva

a story of alternatives

Introduction to Operating Systems

UNIX Kernel. UNIX History

Introduction to Operating Systems. Jo, Heeseung

Introduction to Cygwin Operating Environment

Intro to FOSS. What is FOSS?

Operating System Labs. Yuanbin Wu

Operating System Study Material

computers to personal computers

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

Systems Programming. The Unix/Linux Operating System

CNT 5605, Fall 2009: Introduction

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

Brief Linux Presentation. July 10th, 2006 Elan Borenstein

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

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Chapter 14 Operating Systems

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

Basics of system administration on a Unix system

COURSE OUTLINE. UNIX Programming 2014 Fall by Euiseong Seo

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

CSC 453 Operating Systems

CS 153 Design of Operating Systems

CS108 Software Systems: UNIX. Fall 2011

Chapter 14 Operating Systems

Free as in Freedom A step towards Software freedom. Salahaddin University By: Amanj Sherwany

Underlying computer system = hardware + software

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

EE516: Embedded Software Project 1. Setting Up Environment for Projects

Introduction to Programming

Unix/Linux: History and Philosophy

For more information about how to cite these materials visit

Logistics. 1: Welcome and Overview. Topics. What is an operating system? Benefits of Operating Systems (1) Hardware Resources

Syllabus of ENPM 691: Secure Programming in C

Chapter 1: Introduction

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Computer System Management - Unix/Linux

CNT 4603, Spring 2009: Introduction

Spring Modern Computer Science in a Unix Like Environment CIS c

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

COPYRIGHTED MATERIAL. Unix Fundamentals. Brief History

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

UNIX Concepts COMPSCI 386

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

LECTURE/ STUDY NOTES ON C

Operating Systems CS3502 Spring 2018

EL2310 Scientific Programming

Operating System Labs. Yuanbin Wu

Introduction to UNIX and Linux: Lecture 1

EECS 470 Lab 5. Linux Shell Scripting. Friday, 1 st February, 2018

Open Source Software Some perspectives

The Operating System Machine Level

CISC 220 fall 2011, set 1: Linux basics

Statistics Statistical Computing Software

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

EECS 388 C Introduction. Gary J. Minden August 29, 2016

UNIX/Linux Fundamentals Lecture 1. Nick Stiffler Philip Conrad

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

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

CS120 Computer Science I. Instructor: Jia Song

The Operating System Machine Level

learning objectives understand the role of an operating system understand the role of interpreters and compilers

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

Is there an Open Source Business Model: YES or NO?

Linux Operating System

Linux goes safety and takes it to the next level.

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

INF 315E Introduction to Databases School of Information Fall 2015

Operating Systems History & Approaches. Computer Systems Laboratory Sungkyunkwan University

OPEN SOURCE SOFTWARE

R E A D C L E A N C O D E : A H A N D B O O K O F S O F T W A R E C R A F T S M A N S H I P. C H A P T E R S 2 A N D 4.

Workshop on Open Source Hardware Development Tools and RISC-V

Performance Measurement

Introduction to Linux

Projects and Environment Introduction

Open Source Licensing: An Overview

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

EL2310 Scientific Programming

Module 10: Unix Primer

Transcription:

Author(s): August E. Evrard, PhD. 2010 License: Unless otherwise noted, this material is made available under the terms of the Creative Commons Attribution-Non-commercial-Share Alike 3.0 License: http://creativecommons.org/licenses/by-nc-sa/3.0/ We have reviewed this material in accordance with U.S. Copyright Law and have tried to maximize your ability to use, share, and adapt it. The citation key on the following slide provides information about how you may share and adapt this material. Copyright holders of content included in this material should contact open.michigan@umich.edu with any questions, corrections, or clarification regarding the use of content. For more information about how to cite these materials visit http://open.umich.edu/education/about/terms-of-use.

Citation Key for more information see: http://open.umich.edu/wiki/citationpolicy Use + Share + Adapt { Content the copyright holder, author, or law permits you to use, share and adapt. } Public Domain Government: Works that are produced by the U.S. Government. (17 USC 105) Public Domain Expired: Works that are no longer protected due to an expired copyright term. Public Domain Self Dedicated: Works that a copyright holder has dedicated to the public domain. Creative Commons Zero Waiver Creative Commons Attribution License Creative Commons Attribution Share Alike License Creative Commons Attribution Noncommercial License Creative Commons Attribution Noncommercial Share Alike License GNU Free Documentation License Make Your Own Assessment { Content Open.Michigan believes can be used, shared, and adapted because it is ineligible for copyright. } Public Domain Ineligible: Works that are ineligible for copyright protection in the U.S. (17 USC 102(b)) *laws in your jurisdiction may differ { Content Open.Michigan has used under a Fair Use determination. } Fair Use: Use of works that is determined to be Fair consistent with the U.S. Copyright Act. (17 USC 107) *laws in your jurisdiction may differ Our determination DOES NOT mean that all uses of this 3rd-party content are Fair Uses and we DO NOT guarantee that your use of the content is Fair. To use this content you should do your own independent analysis to determine whether or not your use will be Fair.

Cyberscience: Computational Science and the Rise of the Fourth Paradigm user source code interpreter/ compiler processor instructions Honors 352, Class #0.10 August E. (Gus) Evrard, PhD Fall 2010

today * lecture: a brief history of programming * processing lab review + voting * reading quiz on-line (timed 30 min, open 9am-11:59pm)

software as human-cpu interface user source code interpreter/ compiler processor instructions user needs to instruct cpu 1940 s: write processor (assembly) code directly `high-level codes emerge to offer layers 1950 s: FORTRAN, BASIC compiler translates human-readable code into machine instructions time sharing /multi-tasking 1960 s: MIT s CTSS interleave tasks from multiple users memory and i/o device management

1962: Michigan s MAD compiler Please see original quote regarding the Michigan Algorithm Decoder at http://www.multicians.org/thvv/7094.html.

unix is born * 1964: Multics (Multiplexed Information and Computing Service) is overambitious failure * K. Thomson and Dennis Ritchie (Bell Labs) build UNICS (Uniplexed Information and Computing Services) with a decidedly anti-bloat perspective, build small neat things instead of grandiose ones. four original elements: kernel, shell, editor, assembler * early 1970 s: Unix spreads within AT&T Please see original image of Bell logos at http://www.porticus.org/bell/bell_logos.html * founding philosophy Write programs that do one thing and do it well. Write programs that work together. Write programs that handle text streams because that is a universal interface. Success of Open Source, p. 26-28

linux and open source software * 1978: Bill Joy (Sun Microsystems founder) packages Berkeley Software Distribution (BSD) unix enhanced editor (ex) and Pascal compiler sends 30 free copies to other universities, labs * 1980 s: AT&T vs. BSD unix $100,000 annual license vs. free??? * 1988: Open Software Foundation (OSF) fails to overcome AT&T monopoly but seeds cooperative era * 1991: Linus Torvalds releases linux shared programming development model voluntary participation and voluntary selection of tasks 1994: v1.0 release (today: v2.6.36 http://www.linux.org/) Success of Open Source, pg 31. The copyright holder of this file allows anyone to use it for any purpose, provided that one acknowledges lewing@isc.tamu.edu and The GIMP

free software foundation and GPL * 1984: Richard Stallman resigns from MIT, partly over inability to fix a XEROX printer starts backlash against proprietary software Please see original quote from the book, Success of Open Source, pg. 47. * Stallman establishes Free Software Foundation builds GNU = GNU s Not Unix * GNU Public License (GPL) copyleft : codes derived from GPL ed code must also be GPL ed free software `infects other software with its licensing terms GNU.org

GNU.org GNU meaning of free

software encodes algorithms * scientific computing has many common tasks sorting matrix inversion special function evaluation solving roots of equations spectral analysis (Fast Fourier Transform)... good software encodes these functions in a modular (flexible) manner * practical implementations vary in style choice of programming language speed vs. accuracy constraints The Art of Programming is in mapping the algorithm to a particular situation in a manner that maximizes return while minimizing cost.

Wikipedia imperative vs. functional styles

Copyright 1996,1997,1998,1999 David A Rusling 3 Foxglove Close, Wokingham, Berkshire RG41 3NF, UK david.rusling@arm.com Please see original image of screenshot of the Linux Kernel website at http://en.tldp.org/ldp/tlk/tlk.html.

tiobe.com ranking of computer languages Ratings The ratings are calculated by counting hits of the most popular search engines. The search query that is used is +"<language> programming" This search query is executed for the top 6 websites of Alexa that meet the following conditions: * The entry page of the site contains a search facility * The result of querying the site contains an indication of the number of page hits Based on these criteria currently Google, YouTube, Yahoo!, Live, Wikipedia and Blogger are used as search engines. Baidu should be part of this well but the TIOBE index calculator is not capable yet of dealing with Chinese characters. This facility will be added soon. The number of hits determine the ratings of a language. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

tiobe.com rank trends http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

growth of open source is ~exponential Amit Deshpande, Dirk Riehle, dirkriehle.com

~1999 list from UM CIS 400 http://groups.engin.umd.umich.edu/cis/course.des/cis400/

Additional Source Information for more information see: http://open.umich.edu/wiki/citationpolicy Slide 3: A. E. Evrard, University of Michigan Slide 5: A. E. Evrard, University of Michigan Slide 6: Please see original quote regarding the Michigan Algorithm Decoder at http://www.multicians.org/thvv/7094.html. Slide 7: Please see original image of Bell logos at http://www.porticus.org/bell/bell_logos.html Slide 8, Quote (top): Success of Open Source, by Steve Weber, Harvard University Press, 2004 Slide 8, Image (bottom): LINUX, http://www.isc.tamu.edu/~lewing/linux/. The copyright holder of this file allows anyone to use it for any purpose, provided that one acknowledges lewing@isc.tamu.edu and The GIMP Slide 9, Image 1 (top): Please see original quote from the book, Success of Open Source, by Steve Weber, Harvard University Press, 2004, pg. 47. Slide 9, Image 2 (bottom): GNU License Logos, GNU.org, http://www.gnu.org/graphics/license-logos.html, CC: BY-ND 3.0, http://creativecommons.org/licenses/by-nd/3.0/us/ Slide 10: "The Free Software Definition," GNU.org, http://www.gnu.org/philosophy/free-sw.html, CC: BY-ND 3.0, http://creativecommons.org/licenses/by-nd/3.0/us/. Slide 11: The Art of Computer Programming, by Donald Knuth Slide 12: Functional Programming, Wikipedia, http://en.wikipedia.org/wiki/functional_programming, CC: BY-SA 3.0, http://creativecommons.org/licenses/by-sa/3.0/. Slide 13: Please see original image of screenshot of the Linux Kernel website at http://en.tldp.org/ldp/tlk/tlk.html. Slide 14: TIOBE Programming Community Index for September 2011, Tiobe, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Slide 15: TIOBE Programming Community Index for September 2011, Tiobe, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Slide 16: Amit Deshpande and Dirk Riehle, The Total Growth of Open Source, http://dirkriehle.com/2008/03/14/the-total-growth-of-open-source/ Slide 17: The Language Guide, http://groups.engin.umd.umich.edu/cis/course.des/cis400/