CptS 360 (System Programming) Unit 2: Introduction to UNIX and Linux
|
|
- Camron O’Brien’
- 6 years ago
- Views:
Transcription
1 CptS 360 (System Programming) Unit 2: Introduction to UNIX and Linux Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2018
2 Motivation APIs have a history: Learn from it. What do OSes really do? What happens when... a system boots? you log in? you log out? a system shuts down? What general facilities does the OS provide the programmer? Note in passing: What influenced OS design decisions?
3 References Stevens & Rago, Ch. 1 & 2
4 Logging In and Out What happens when you log in on a console? 1. init(1) prompts for your login, passing it to login(1) prompts for your password if unsuccessful, login(1) exits and control returns to (1) if successful, login(1)... cd s to your new directory starts up your shell What happens when you log in on a display?... and when you log out?
5 Contents of /etc/passwd name password (encrypted why?) UID GID comment (usually full name, phone, etc.) home directory login shell
6 UNIX Shells classic shells: sh [Steven] Bourne shell Bell Labs csh [Bill Joy] C shell UC Berkeley contemporary shells: ksh [David] Korn shell AT&T Bell Labs bash Bourne-again shell net-developed zsh z shell... huge ash aka "dash" [Kenneth] Almquist shell teensy used for diagnostics & small systems
7 Files and Directories file A named collection of bytes residing in a directory. Under UNIX, it s always byte-, not record-oriented. directory A collection of files and other directories. working directory The directory used to interpret relative directory names. (aka current directory or current working directory ) home directory The working directory to which you log in. root directory The uppermost directory in the directory tree. It is always named /.
8 Filenames and Paths filename a sequence of characters describing a file or directory within a directory. Filenames may have restrictions on name lengths and permittable characters. Q: What two characters cannot appear in a filename? (With one exception.) path a sequence of one or more filenames joined by / s. absolute path a path that begins with / (which is the name of a directory). relative path a path that does not begin with /. Q: What s.? Is it absolute or relative? Q: What s..?
9 Example: A Small Directory Tree / home bin usr etc bobl bash ls cat lib passwd
10 Standard Input/Output UNIX supports: standard input (n = 0) (aka stdin) standard output (n = 1) (aka stdout) standard error (n = 2) (aka stderr) These are all part of the standard I/O package, which we ll study in an upcoming unit. What do these mean on the shell command line? (n and m are non-negative integers.) > >> < n> n>> n< n>m n>&m
11 Programs and Processes program an executable file process a running program Big deal in UNIX: process control
12 Oh, Say, Can You C? You can t talk about UNIX without mentioning C. A C compiler is a given for all UNIX OSes. Original C was by Brian Kernighan and Dennis Ritchie (hence K & R ) at Bell Labs from 1969 to ANSI (in 1989, hence C89 ) and ISO (in 1990, hence C90 ) standards are identical. ANSI C is common usage. ANSI C New Features: function prototypes (borrowed from C++) generic pointers (void *) international character sets (ISO 8859) very portable (arguably more so than C++) ISO/IEC 9899:1999 (hence C99 ) added: inline functions new types (long long int, complex) vararg macros // comments and finally...
13 C11 alignment control _Generic(): selects expressions based on type multi-threading support better Unicode support gets() goes away (and it s about time!) bounds-checking static assertions that know about types at compile time anonymous structs and unions
14 So What s C Good For? not just UNIX OS kernels drivers debuggers embedded systems compilers (e.g. Haskell, C++ (originally)) interpreters (e.g. Perl, Python) practically anything else, if the design is good
15 Other UNIX Entities user/group ID s positive integers uniquely identify a user or group signals notify process that some error has occurred may have handlers time values time-of-day CPU usage elapsed time (time interval)
16 UNIX vs. UNIX-like OSes Major UNIX implementations: SVr4 4.4BSD FreeBSD (for Intel) NetBSD (for all platforms) OpenBSD (secure) Major UNIX-like implementations: Linux MacOS X Darwin = FreeBSD running on Mach microkernel (Which is?) Solaris But how many UNIX and UNIX-like OSes do you think there are?
17 UNIX and UNIX-like OSes: A Detailed View (see chart)
18 UNIX System Calls two kinds of (system) library: static dynamic (most system libraries are this) POSIX Standard IEEE Std (a.k.a. ISO/IEC 9945) includes commands and the API (threads, real-time, IPC, etc.) supported just about everywhere, except Windows, Interix environment subsystem (up to and including Windows 7) deprecated in Windows 8 alternatives: Cygwin (separate library), MinGW (built-in) this class mostly concerns the API (POSIX.1[abc]) Some common POSIX programming features...
19 POSIX Error Handling If a system call returns a negative value (usually, but not always, -1), something went wrong. Look in the global errno for details. To get errno: #include <errno.h> To get the string associated with errno: #include <string.h> char *strerror(int ernnum); To print an error string: #include <errno.h> void perror(const char *msg); RESUME prints msg: error string on stderr. Remember: errno is set when an error occurs, but never cleared.
20 Limits Q: How large should I declare an array that will hold a path? Take a look at /usr/include/limits.h. Other useful quantities: CHAR_MIN CHAR_MAX INT_MIN INT_MAX UINT_MIN UINT_MAX LONG_MIN LONG_MAX ULONG_MIN ULONG_MAX
21 cpp Feature Test Macros _GNU_SOURCE to enable non-posix GNU features: #define _GNU_SOURCE #include <whatever> _POSIX_SOURCE to force POSIX compliance: #define _POSIX_SOURCE #include <whatever> STDC (mainly) to create macros to avoid function prototyping, which you shouldn t do. You probably won t use it, but you might come across it.
22 Primitive System Data Types There are a number of system-defined typedefs (usually) that the POSIX API uses. Example: pid_t Where is it defined? (/usr/include is your friend.) It used to be 16 bits long. How many processes did that permit? Why did it change? Others: caddr_t clock_t time_t size_t off_t Use these to declare API arguments and return values.
Chp1 Introduction. Introduction. Objective. Logging In. Shell. Briefly describe services provided by various versions of the UNIX operating system.
Chp1 Objective Briefly describe services provided by various versions of the UNIX operating system. Logging In /etc/passwd local machine or NIS DB root:x:0:1:super-user:/root:/bin/tcsh Login-name, encrypted
More informationUNIX Kernel. UNIX History
UNIX History UNIX Kernel 1965-1969 Bell Labs participates in the Multics project. 1969 Ken Thomson develops the first UNIX version in assembly for an DEC PDP-7 1973 Dennis Ritchie helps to rewrite UNIX
More informationEECS2301. Lab 1 Winter 2016
EECS2301 Lab 1 Winter 2016 Lab Objectives In this lab, you will be introduced to the Linux operating system. The basic commands will be presented in this lab. By the end of you alb, you will be asked to
More informationCMPS 105 Systems Programming. Prof. Darrell Long E2.371
+ CMPS 105 Systems Programming Prof. Darrell Long E2.371 darrell@ucsc.edu + Chapter 1 + Introduction n Operating systems provide services for programs n Execute a program, open a file, read a file, allocate
More informationToday. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview
Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Generation 1: Mono-programming
More informationLecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter
Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted
More informationCSCI2467: Systems Programming Concepts
CSCI2467: Systems Programming Concepts Class activity: bash shell literacy Instructor: Matthew Toups Fall 2017 Today 0 Shells History Usage Scripts vs. Programs 1 Bash shell: practical uses for your systems
More informationToday. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview
Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Dependent on hardware and
More informationComputer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview
Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is
More informationSystem Programming. Introduction to Unix
Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction 2 3 Introduction
More informationCptS 360 (System Programming) Unit 1: Introduction to System Programming
CptS 360 (System Programming) Unit 1: Introduction to System Programming Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2018 Motivation (for the whole course)
More informationOverview of Unix / Linux operating systems
Overview of Unix / Linux operating systems Mohammad S. Hasan Staffordshire University, UK Overview of Unix / Linux operating systems Slide 1 Lecture Outline History and development of Unix / Linux Early
More informationIntroduction to Linux
Introduction to Linux Prof. Jin-Soo Kim( jinsookim@skku.edu) TA Sanghoon Han(sanghoon.han@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Announcement (1) Please come
More informationLinux for Beginners. Windows users should download putty or bitvise:
Linux for Beginners Windows users should download putty or bitvise: https://putty.org/ Brief History UNIX (1969) written in PDP-7 assembly, not portable, and designed for programmers as a reaction by Bell
More informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu cs@ecnu Operating System Labs Introduction to Unix (*nix) Course Overview Operating System Labs Introduction to Unix (*nix) Course Overview Unix / *nix What A family of
More informationCSCI 2132 Software Development. Lecture 3: Unix Shells and Other Basic Concepts
CSCI 2132 Software Development Lecture 3: Unix Shells and Other Basic Concepts Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 10-Sep-2018 (3) CSCI 2132 1 Introduction to UNIX
More informationIntroduction to Shell Scripting
Introduction to Shell Scripting Evan Bollig and Geoffrey Womeldorff Presenter Yusong Liu Before we begin... Everyone please visit this page for example scripts and grab a crib sheet from the front http://www.scs.fsu.edu/~bollig/techseries
More informationUnix Shells and Other Basic Concepts
CSCI 2132: Software Development Unix Shells and Other Basic Concepts Norbert Zeh Faculty of Computer Science Dalhousie University Winter 2019 Shells Shell = program used by the user to interact with the
More informationIntroduction to Linux
Introduction to Operating Systems All computers that we interact with run an operating system There are several popular operating systems Operating Systems OS consists of a suite of basic software Operating
More informationAn Introduction to Unix Power Tools
An to Unix Power Tools Randolph Langley Department of Computer Science Florida State University August 27, 2008 History of Unix Unix Today Command line versus graphical interfaces to COP 4342, Fall History
More informationPractical Computing-II. Programming in the Linux Environment. 0. An Introduction. B.W.Gore. March 20, 2015
Practical Computing-II March 20, 2015 0. An Introduction About The Course CMS M.2.2 Practical Computing-II About The Course CMS M.2.2 Practical Computing-II 25 credits (33.33% weighting) About The Course
More informationUnix/Linux: History and Philosophy
Unix/Linux: History and Philosophy History and Background Multics project Unix Linux Multiplexed Information and Computing Service Collaborative venture between General Electric, Bell Telephone Labs, and
More informationCPS221 Lecture: Operating System Functions
CPS221 Lecture: Operating System Functions Objectives 1. To overview key hardware concepts 2. To introduce the process concept 3. To discuss the various kinds of functionality of the OS last revised 8/25/11
More informationComputer Science 322 Operating Systems Mount Holyoke College Spring Topic Notes: C and Unix Overview
Computer Science 322 Operating Systems Mount Holyoke College Spring 2010 Topic Notes: C and Unix Overview This course is about operating systems, but since most of our upcoming programming is in C on a
More informationOperating Systems II Systems Programming in C
1 Operating Systems II Systems Programming in C e-mail: joseph.cordina(at)um.edu.mt Rm 203, New Computing Building Tel :2340-2254 2 Course Proposed Syllabus How many we do will depend on time and your
More informationTopic 8: I/O. Reading: Chapter 7 in Kernighan & Ritchie more details in Appendix B (optional) even more details in GNU C Library manual (optional)
Topic 8: I/O Reading: Chapter 7 in Kernighan & Ritchie more details in Appendix B (optional) even more details in GNU C Library manual (optional) No C language primitives for I/O; all done via function
More informationInter-Process Communication
CS 326: Operating Systems Inter-Process Communication Lecture 10 Today s Schedule Shared Memory Pipes 2/28/18 CS 326: Operating Systems 2 Today s Schedule Shared Memory Pipes 2/28/18 CS 326: Operating
More informationOperating Systems. Copyleft 2005, Binnur Kurt
3 Operating Systems Copyleft 2005, Binnur Kurt Content The concept of an operating system. The internal architecture of an operating system. The architecture of the Linux operating system in more detail.
More informationOperating Systems 3. Operating Systems. Content. What is an Operating System? What is an Operating System? Resource Abstraction and Sharing
Content 3 Operating Systems The concept of an operating system. The internal architecture of an operating system. The architecture of the Linux operating system in more detail. How to log into (and out
More informationIntroduction to Cygwin Operating Environment
Introduction to Cygwin Operating Environment ICT 106 Fundamentals of Computer Systems Eric Li ICT106_Pract_week 1 1 What s Cygwin? Emulates Unix/Linux environment on a Windows Operating System; A collection
More informationLezione 8. Shell command language Introduction. Sommario. Bioinformatica. Mauro Ceccanti e Alberto Paoluzzi
Lezione 8 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza Sommario Shell command language Introduction A
More informationUnix System Architecture, File System, and Shell Commands
Unix System Architecture, File System, and Shell Commands Prof. (Dr.) K.R. Chowdhary, Director COE Email: kr.chowdhary@iitj.ac.in webpage: http://www.krchowdhary.com JIET College of Engineering August
More informationThe Online Unix Manual
ACS-294-001 Unix (Winter Term, 2018-2019) Page 14 The Online Unix Manual Unix comes with a large, built-in manual that is accessible at any time from your terminal. The Online Manual is a collection of
More informationCSC209 Fall Karen Reid 1
' & ) ) #$ "! How user programs interact with the Operating System. Somehow we need to convert a program into machine code (object code). A compiler passes over a whole program before translating it into
More informationCSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files
CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files ... and systems programming C basic syntax functions arrays structs
More informationCSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs.
CSC209 Review CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files... and systems programming C basic syntax functions arrays structs
More informationCOURSE INTRODUCTION. Software Tools EECS2031 Winter 2018 Manos Papagelis. Thanks to Karen Reid and Alan J Rosenthal for material in these slides
COURSE INTRODUCTION Software Tools EECS2031 Winter 2018 Manos Papagelis Thanks to Karen Reid and Alan J Rosenthal for material in these slides What EECS2031 is about? A useful way to think about this course
More informationThis document gives a general overview of the work done by an operating system and gives specific examples from UNIX.
This document gives a general overview of the work done by an operating system and gives specific examples from UNIX. 1 Manages Resources: I/O devices (disk, keyboard, mouse, terminal) Memory Manages Processes:
More informationBash command shell language interpreter
Principles of Programming Languages Bash command shell language interpreter Advanced seminar topic Louis Sugy & Baptiste Thémine Presentation on December 8th, 2017 Table of contents I. General information
More informationCSC209: Software Tools and Systems Programming. Richard Krueger Office hours: BA 3234
CSC209: Software Tools and Systems Programming Richard Krueger Email : krueger@cs.utoronto.ca Office hours: BA 3234 Administrivia Email: krueger@cs.utoronto.ca Email must include your name. Please set
More informationIntroduction to Linux. Fundamentals of Computer Science
Introduction to Linux Fundamentals of Computer Science Outline Operating Systems Linux History Linux Architecture Logging in to Linux Command Format Linux Filesystem Directory and File Commands Wildcard
More informationCPS221 Lecture: Operating System Functions
CPS221 Lecture: Operating System Functions Objectives last revised 6/23/10 1. To overview key hardware concepts 2. To iintroduce the process concept 3. To discuss the various kinds of functionality of
More informationLezione 8. Shell command language Introduction. Sommario. Bioinformatica. Esercitazione Introduzione al linguaggio di shell
Lezione 8 Bioinformatica Mauro Ceccanti e Alberto Paoluzzi Esercitazione Introduzione al linguaggio di shell Dip. Informatica e Automazione Università Roma Tre Dip. Medicina Clinica Università La Sapienza
More informationLecture 3. Introduction to Unix Systems Programming: Unix File I/O System Calls
Lecture 3 Introduction to Unix Systems Programming: Unix File I/O System Calls 1 Unix File I/O 2 Unix System Calls System calls are low level functions the operating system makes available to applications
More informationSystems Programming. The Unix/Linux Operating System
Systems Programming The Unix/Linux Operating System 1 What is UNIX? A modern computer operating system Operating system: a program that acts as an intermediary between a user of the computer and the computer
More informationUnix Handouts. Shantanu N Kulkarni
Unix Handouts Shantanu N Kulkarni Abstract These handouts are meant to be used as a study aid during my class. They are neither complete nor sincerely accurate. The idea is that the participants should
More informationThe UNIX Operating System. HORT Lecture 2 Instructor: Kranthi Varala
The UNIX Operating System HORT 59000 Lecture 2 Instructor: Kranthi Varala Operating Systems Image By Golftheman - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=4558519 Operating
More informationIntroduction to the Shell
[Software Development] Introduction to the Shell Davide Balzarotti Eurecom Sophia Antipolis, France What a Linux Desktop Installation looks like What you need Few Words about the Graphic Interface Unlike
More informationMotivation was to facilitate development of systems software, especially OS development.
A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.
More informationLinux & Shell Programming 2014
Unit -1: Introduction to UNIX/LINUX Operating System Practical Practice Questions: Find errors (if any) otherwise write output or interpretation of following commands. (Consider default shell is bash shell.)
More informationStudy Guide Processes & Job Control
Study Guide Processes & Job Control Q1 - PID What does PID stand for? Q2 - Shell PID What shell command would I issue to display the PID of the shell I'm using? Q3 - Process vs. executable file Explain,
More informationLinux shell scripting intro/review
Linux shell scripting intro/review David Morgan You should already know how to log in run programs at the command line use pipelines and redirection ( < > ) put jobs in the background ( & ) create and
More informationACS Unix (Winter Term, ) Page 21
ACS-294-001 Unix (Winter Term, 2016-2017) Page 21 The Shell From the beginning, Unix was designed so that the shell is an actual program separated from the main part of the operating system. What is a
More informationUNIX. The Very 10 Short Howto for beginners. Soon-Hyung Yook. March 27, Soon-Hyung Yook UNIX March 27, / 29
UNIX The Very 10 Short Howto for beginners Soon-Hyung Yook March 27, 2015 Soon-Hyung Yook UNIX March 27, 2015 1 / 29 Table of Contents 1 History of Unix 2 What is UNIX? 3 What is Linux? 4 How does Unix
More informationIntroduction to Unix. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Introduction to Unix Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu What is an OS? OS is a resource manager Sharing Protection Fairness Performance
More informationOS Structures. ICS332 Operating Systems
OS Structures ICS332 Operating Systems OS Services and Features OS Services and Features Helpful to users Better efficiency/operation OS Services Load and run a program Allow a program to end in multiple
More informationCptS 360 (System Programming) Unit 3: Development Tools
CptS 360 (System Programming) Unit 3: Development Tools Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2018 Motivation Using UNIX-style development tools lets
More informationThe Classical OS Model in Unix
The Classical OS Model in Unix Nachos Exec/Exit/Join Example Exec parent Join Exec child Exit SpaceID pid = Exec( myprogram, 0); Create a new process running the program myprogram. int status = Join(pid);
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationIntroduction to Linux (Part I) BUPT/QMUL 2018/03/14
Introduction to Linux (Part I) BUPT/QMUL 2018/03/14 Contents 1. Background on Linux 2. Starting / Finishing 3. Typing Linux Commands 4. Commands to Use Right Away 5. Linux help continued 2 Contents 6.
More informationCSC209 Review. Yeah! We made it!
CSC209 Review Yeah! We made it! 1 CSC209: Software tools Unix files and directories permissions utilities/commands Shell programming quoting wild cards files 2 ... and C programming... C basic syntax functions
More informationContents. * All rights reserved, Tei-Wei Kuo, National Taiwan University, 2003.
Contents 1. Preface/Introduction Standardization and Implementation File I/O Standard I/O Library Files and Directories System Data Files and Information Environment of a Unix Process Process Control Signals
More informationLayers in a UNIX System. Create a new process. Processes in UNIX. fildescriptors streams pipe(2) labinstructions
Process Management Operating Systems Spring 2005 Layers in a UNIX System interface Library interface System call interface Lab Assistant Magnus Johansson magnusj@it.uu.se room 1442 postbox 54 (4th floor,
More informationUnix. Examples: OS X and Ubuntu
The Command Line A terminal is at the end of an electric wire, a shell is the home of a turtle, tty is a strange abbreviation, and a console is a kind of cabinet. - Some person on SO Learning Resources
More informationMotivation was to facilitate development of systems software, especially OS development.
A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.
More informationCptS 360 (System Programming) Unit 6: Files and Directories
CptS 360 (System Programming) Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2019 Motivation Need to know your way around a filesystem. A properly organized filesystem
More informationTable of contents. Our goal. Notes. Notes. Notes. Summer June 29, Our goal is to see how we can use Unix as a tool for developing programs
Summer 2010 Department of Computer Science and Engineering York University Toronto June 29, 2010 1 / 36 Table of contents 1 2 3 4 2 / 36 Our goal Our goal is to see how we can use Unix as a tool for developing
More informationSaint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry
Intro to Linux and C CSCI 2400/ ECE 3217: Computer Architecture Instructors: David Ferry 1 Overview Linux C Hello program in C Compiling 2 History of Linux Way back in the day: Bell Labs Unix Widely available
More informationINF322 Operating Systems
Galatasaray University Computer Engineering Department INF322 Operating Systems TP01: Introduction to Linux Ozan Çağlayan ocaglayan@gsu.edu.tr ozancaglayan.com Fundamental Concepts Definition of Operating
More informationOperating systems fundamentals - B02
Operating systems fundamentals - B02 David Kendall Northumbria University David Kendall (Northumbria University) Operating systems fundamentals - B02 1 / 1 Introduction Getting started with Linux How the
More informationBasic C Programming. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island
Basic C Programming Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Announcements Exam 1 (20%): Feb. 27 (Tuesday) Tentative Proposal Deadline:
More informationUnix to Linux. CS 3113 Fall 2018 Dr. Christan Grant
Unix to Linux CS 3113 Fall 2018 Dr. Christan Grant Outline A Brief History of Unix, C, Linux and the people involved. 2 https://commons.wikimedia.org/wiki/file:unix_history-simple.png 3 UNIX Unix definitions
More informationOperating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services
Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone
More informationThe UNIX operating system is a set of programs that act as a link between the computer and the user.
Chapter 1: Introduction to Unix 1 INRODUCTION TO UNIX What is Unix? The UNIX operating system is a set of programs that act as a link between the computer and the user. The computer programs that allocate
More informationCSE 333 SECTION 3. POSIX I/O Functions
CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight Exercise 7 due Monday (out later today) POSIX Portable Operating System Interface Family of standards specified by the
More informationKernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023
Operating Systems Autumn 2017-2018 Outline 1 2 3 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
More informationWhat did we talk about last time? Selection Loops Lab 3
Week 4 - Monday What did we talk about last time? Selection Loops Lab 3 Unix was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things. Doug Gwyn
More informationSystem Administration
Süsteemihaldus MTAT.08.021 System Administration File system basics UNIX shell basics 1/23 2/23 3/23 4/23 5/23 6/23 System Root Mount points User Profiles /home /boot /dev/sda Boot loader files and Linux
More informationCMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems
CMPSC 311- Introduction to Systems Programming Module: UNIX/Operating Systems Professor Patrick McDaniel Fall 2015 Assignment #1 See webpage Due 9/14/15 Page 2 UNIX Utilities: tar tar collects multiple
More informationIntroduction: What is Unix?
Introduction Introduction: What is Unix? An operating system Developed at AT&T Bell Labs in the 1960 s Command Line Interpreter GUIs (Window systems) are now available Introduction: Unix vs. Linux Unix
More informationPerl and R Scripting for Biologists
Perl and R Scripting for Biologists Lukas Mueller PLBR 4092 Course overview Linux basics (today) Linux advanced (Aure, next week) Why Linux? Free open source operating system based on UNIX specifications
More informationLinux shell scripting Getting started *
Linux shell scripting Getting started * David Morgan *based on chapter by the same name in Classic Shell Scripting by Robbins and Beebe What s s a script? text file containing commands executed as a unit
More informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu cs@ecnu Operating System Labs Introduction to Unix (*nix) Course Overview Operating System Labs Introduction to Unix (*nix) Course Overview Unix / *nix What An familiy
More informationOverview: Concurrent Architectures - Unix: Forks and Pipes
Overview: Concurrent Architectures - Unix: Forks and Pipes Other Matters: TuteLab-5 solutions and the proof of Peterson s Algorithm Ref: [Coulouris&al Ch 4] history architecture: monolithic vs microkernels,
More informationThe C Programming Language
The C Programming Language What is C? "High-level" programming language developed by Dennis Ritchie with Brian Kernighan Bell Labs, New Jersey, 1970s Developed in conjunction with Unix Intended to provide
More informationUNIX / LINUX - GETTING STARTED
UNIX / LINUX - GETTING STARTED http://www.tutorialspoint.com/unix/unix-getting-started.htm Copyright tutorialspoint.com Advertisements What is Unix? The Unix operating system is a set of programs that
More informationTopics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?
Topics Operating System What is an OS? OS History OS Concepts OS Structures Introduction Let s Get Started! What is an Operating System? What are some OSes you know? Guess if you are not sure Pick an OS
More informationOverview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions
Lanka Education and Research Network Linux Architecture, Linux File System, Linux Basic Commands 28 th November 2016 Dilum Samarasinhe () Overview History of Linux Linux Architecture Linux File System
More informationCSE 303: Concepts and Tools for Software Development
CSE 303: Concepts and Tools for Software Development Hal Perkins Winter 2009 Lecture 7 Introduction to C: The C-Level of Abstraction CSE 303 Winter 2009, Lecture 7 1 Welcome to C Compared to Java, in rough
More informationUsing LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12)
Using LINUX a BCMB/CHEM 8190 Tutorial Updated (1/17/12) Objective: Learn some basic aspects of the UNIX operating system and how to use it. What is UNIX? UNIX is the operating system used by most computers
More informationTopics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.
Topics Operating System I What is an OS? OS History OS Concepts OS Structures Introduction Let s Get Started! What is an Operating System? What are some OSes you know? Pick an OS you know: What are some
More informationShells and Shell Programming
Shells and Shell Programming 1 Shells A shell is a command line interpreter that is the interface between the user and the OS. The shell: analyzes each command determines what actions are to be performed
More informationLecture 01: welcome and intro what LSD and Unix have in common
Lecture 01: welcome and intro what LSD and Unix have in common Hands-On Unix System Administration DeCal 2012-08-27 1 / 21 The Two of the most famous products of Berkeley are LSD and Unix. I don t think
More information5/20/2007. Touring Essential Programs
Touring Essential Programs Employing fundamental utilities. Managing input and output. Using special characters in the command-line. Managing user environment. Surveying elements of a functioning system.
More informationCrash Course in Unix. For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix. -or- Unix in a Nutshell (an O Reilly book).
Crash Course in Unix For more info check out the Unix man pages -orhttp://www.cs.rpi.edu/~hollingd/unix -or- Unix in a Nutshell (an O Reilly book). 1 Unix Accounts To access a Unix system you need to have
More informationCSCI 2132 Software Development. Lecture 2: Introduction to UNIX and Unix-like Operating Systems
CSCI 2132 Software Development Lecture 2: Introduction to UNIX and Unix-like Operating Systems Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 7-Sep-2018 (2) CSCI 2132 1 Previous
More informationCISC 220 fall 2011, set 1: Linux basics
CISC 220: System-Level Programming instructor: Margaret Lamb e-mail: malamb@cs.queensu.ca office: Goodwin 554 office phone: 533-6059 (internal extension 36059) office hours: Tues/Wed/Thurs 2-3 (this week
More informationThe Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.
The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams. Operating System Services User Operating System Interface
More informationCS 300 Leftovers. CS460 Pacific University 1
CS 300 Leftovers Pacific University 1 argc/argv The C Programming Language section 5.10, page 114 int main(int argc, char** argv) argc - number of entries in argv argv - array of character pointers containing
More informationUnix Introduction to UNIX
Unix Introduction to UNIX Get Started Introduction The UNIX operating system Set of programs that act as a link between the computer and the user. Developed in 1969 by a group of AT&T employees Various
More information