UNIX System Programming - Lecture Slides | COP 4604, Study notes of Computer Science

Material Type: Notes; Professor: Hsu; Class: UNIX System Programming; Subject: Computer Programming; University: Florida Atlantic University; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 07/23/2009

koofers-user-j9o
koofers-user-j9o 🇺🇸

9 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
COP 4604 UNIX System Programming
Introduction
Dr. Sam Hsu
Computer Science & Engineering
Florida Atlantic University
2
What Is UNIX?
What is UNIX?
A general purpose, machine-independent,
multi-user (time sharing), interactive
environment.
Creators of UNIX
Dennis Ritchie & Ken Thompson, inspired
by MULTICS.
Received 1983's Turing Award.
3
UNIX Features
Some nice features of UNIX
Hierarchical filesystem.
Simple I/O processing.
C language.
UNIX shell.
Pipes/filters.
Designed for programming rather than for
applications.
4
Brief History of UNIX (1/6)
Designs of OS used to be hardware-
dependent and implemented in assembly
languages.
In the mid-60’s, people tried to implement
OS in high-level languages.
MULTICS was among the first attempts.
Coded in PL/1, designed at MIT.
Was judged a failure, even though the idea
was considered innovative.
5
Brief History of UNIX (2/6)
Dennis Ritchie and Ken Thompson continued;
they pioneered a project known as UNIX.
A pun on MULTICS.
UNIX was first developed on PDP-7, written in
PDP-7 assembly language.
Was rewritten almost entirely in C in 1972.
Was initially developed at Bell Labs for
their own in-house use; however, found a
way to escape from Bell Labs starting in
1974.
6
Brief History of UNIX (3/6)
In 1974, Version 5 was licensed virtually free
to universities.
The University of California at Berkeley was
among the first schools that received the
earliest academic licenses.
Version 6 was announced in 1975.
One copy was licensed to the Rand Corporation
The first commercial version ever sold.
pf3
pf4
pf5

Partial preview of the text

Download UNIX System Programming - Lecture Slides | COP 4604 and more Study notes Computer Science in PDF only on Docsity!

COP 4604 UNIX System Programming

Introduction

Dr. Sam Hsu

Computer Science & Engineering

Florida Atlantic University

What Is UNIX?

„ What is UNIX?

„ A general purpose, machine-independent,

multi-user (time sharing), interactive

environment.

„ Creators of UNIX

„ Dennis Ritchie & Ken Thompson, inspired

by MULTICS.

„ Received 1983's Turing Award.

UNIX Features

„ Some nice features of UNIX

„ Hierarchical filesystem.

„ Simple I/O processing.

„ C language.

„ UNIX shell.

„ Pipes/filters.

„ Designed for programming rather than for

applications.

Brief History of UNIX (1/6)

„ Designs of OS used to be hardware-

dependent and implemented in assembly

languages.

„ In the mid-60’s, people tried to implement

OS in high-level languages.

„ MULTICS was among the first attempts.

„ Coded in PL/1, designed at MIT.

„ Was judged a failure, even though the idea

was considered innovative.

Brief History of UNIX (2/6)

„ Dennis Ritchie and Ken Thompson continued;

they pioneered a project known as UNIX.

„ A pun on MULTICS.

„ UNIX was first developed on PDP-7, written in

PDP-7 assembly language.

„ Was rewritten almost entirely in C in 1972.

„ Was initially developed at Bell Labs for

their own in-house use; however, found a

way to escape from Bell Labs starting in

Brief History of UNIX (3/6)

„ In 1974, Version 5 was licensed virtually free

to universities.

„ The University of California at Berkeley was

among the first schools that received the

earliest academic licenses.

„ Version 6 was announced in 1975.

„ One copy was licensed to the Rand Corporation

„ The first commercial version ever sold.

Brief History of UNIX (4/6)

„ Version 7 was released later and became the

first industry standard for UNIX.

„ System III was announced in 1981– an

enhancement to Version 7.

„ System V was released in 1983– created to

serve as the new industry standard in place of

the early Version 7.

„ Since then, System V has gone through

several revisions – the current version is

Release 4.

Brief History of UNIX (5/6)

„ In parallel with Bell Labs, UC Berkeley has

also played a major role in developing

different versions of UNIX.

„ Developed 1BSD ( 1

st

B erkeley S oftware

D istribution) in 1977.

„ An improvement over AT&T’s Version 6.

„ 2BSD was released a year later

„ Both versions were developed on PDP-11.

Brief History of UNIX (6/6)

„ 3BSD was developed on VAX in 1978.

„ Berkeley’s equivalent of Bell Labs Version 7.

„ 4BSD was announced two years later.

„ After several years of evolution, the

current version is 4.4BSD.

„ Following the practice of the AT&T Bell Labs,

Berkeley UNIX offers academic as well as

commercial licenses.

UNIX Versions (1/3)

„ Bona fide versions of UNIX:

„ AT&T UNIX

„ Berkeley UNIX

„ Other UNIX versions:

„ AIX

„ HP-UX

„ SCO XENIX/UNIX

„ SunOS

„ Solaris

UNIX Versions (2/3)

„ Ultrix

„ UnixWare

„ FreeBSD

„ Linux with many variants:

„ Red Hat Linux

„ Caldera OpenLinux

„ SUSE Linux

„ Debian GNU/Linux

„ TurboLinux

„ Slackware

„ Darwin

UNIX Versions (3/3)

„ UNIX systems for teaching purposes.

„ Tunix (Ewens et al., 1985; Holt, 1983).

„ XINU (Comer, 1984).

„ MINIX (Tanenbaum, 1987).

„ Pseudo UNIX (UNIX-like)

UNIX-related Vendor Consortia (6/8)

„ The Open Group

„ X/Open and OSF merged in 1996 to form

the Open Group.

„ Goal: To create an environment where all

elements involved in technology

development can co-operate to deliver less

costly and more flexible Information

Technology solutions.

„ Produces both specifications and software.

UNIX-related Vendor Consortia (7/8)

„ Has published/produced:

„ The Single UNIX Specification

„ Version 3 is the most recent version,

collectively known as theBase

Specifications. It includes:

„ Base Definitions, Issue 6 (XBD)

„ Shell and Utilities, Issue 6 (XCU)

„ System Interfaces, Issue 6 (XSH)

„ Rationale (informative)

UNIX-related Vendor Consortia (8/8)

„ The Open Group Architectural Framework

(TOGAF).

„ TOGAF is a framework for developing an IT

architecture.

„ It currently has two versions:

„ TOGAF Version 7 ("Technical Edition"), published in

December 2001.

„ TOGAF Version 8.1 ("Enterprise Edition"), published

in December 2003.

„ The UNIX 03 System.

IEEE POSIX Standards (1/3)

„ POSIX

„ Portable Operating System Interface.

„ A family of standards, based on but not

limited to the UNIX system.

„ AKA Open Systems Standards.

IEEE POSIX Standards (2/3)

„ POSIX.

„ Was formally known as IEEE Std. 1003.1-

„ International version – ISO/IEC 9945-

„ IEEE Std 1003.1-2004 is the latest version.

„ ISO/IEC 9945:2004 is the most recent

international version.

IEEE POSIX Standards (3/3)

„ POSIX.1 FIPS 151-

„ Federal Information Processing Standard.

„ A guideline for procurement of computer systems

by the US government.

„ Developed by NIST.

„ FIPS PUB 151-2 is based on the POSIX.

standards, plus some of its own optional

features.

„ In practice, every vendor who implements a

POSIX.1 conforming system also implements the

additional FIPS options, making them ade facto

extension to POSIX.1.

Some Adopted POSIX Standards

POSIX.10 POSIX−Based Supercomputing Application Environment Profile. Adopted 1995.

FORTRAN 77 language binding to POSIX.1. Describes the same functionality as POSIX.1, accessible from FORTRAN 77 programs. Adopted 1992.

POSIX.

Ada language binding to POSIX.1. Describes the same functionality as POSIX.1, accessible from Ada programs. Adopted 1992.

POSIX.

POSIX.4 Real time extensions to POSIX.1. Adopted 1992.

POSIX.3.1 Test methods (assertions) for measuring conformance to POSIX.1. Adopted 1993.

POSIX.3 Test methods for measuring conformance to POSIX. Adopted 1991.

Shell and Utilities, including interactive utilities and a few C interfaces. Adopted

POSIX.

POSIX.1 Base operating system programming interfaces (in C). Adopted 1988.

Name Description

Some Relevant Web Sites (1/2)

„ A major UNIX Web site by the OPEN Group

http://www.unix-systems.org/

„ IEEE POSIX standards

http://standards.ieee.org/reading/ieee/std_public/description/posix/

„ The OPEN Group'sSingle UNIX Specification

keyword search site

http://www.opengroup.org/onlinepubs/7908799/

Some Relevant Web Sites (2/2)

„ Linux links

http://www-1.ibm.com/linux/links/index.shtml

„ Free Software Foundation, Project GNU

http://www.gnu.org/

„ Textbook website

http://www.apuebook.com/

Reading Assignment

„ Read Chapters 1 & 2.