Tru64 UNIX Compaq C Language Reference Manual

Total Page:16

File Type:pdf, Size:1020Kb

Tru64 UNIX Compaq C Language Reference Manual Tru64 UNIX Compaq C Language Reference Manual Order Number: AA–RH9NC–TE August 2000 This document is the language reference manual for Compaq C. Revision Update Information: This revised manual supersedes the DEC C Language Reference Manual (Order No. AA–RH9NB–TE). Software Version: Compaq C for Tru64 UNIX Version 5.1 or higher Compaq C Version 6.2 for OpenVMS Systems Compaq C Version 6.2 for Linux Alpha Compaq Computer Corporation Houston, Texas First Printing, February 1991 Revised, November 1992 Revised, November 1995 Revised, March 1996 Revised, May 1997 Revised, February 1998 Revised, December 1998 Revised, November 1999 Revised, April 2000 Revised, July 2000 Copyright 2000 Compaq Computer Corporation COMPAQ, VAX, and the Compaq logo Registered in U.S. Patent and Trademark Office. Tru64, Alpha, and OpenVMS are trademarks of Compaq Information Technologies Group, L.P. UNIX is a trademark of The Open Group. All other product names mentioned herein may be trademarks or registered trademarks of their respective companies. Confidential computer software. Valid license from Compaq required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this publication is subject to change without notice and is provided "as is" without warranty of any kind. The entire risk arising out of the use of this information remains with recipient. In no event shall Compaq be liable for any direct, consequential, incidental, special, punitive, or other damages whatsoever (including without limitation, damages for loss of business profits, business interruption or loss of business information), even if Compaq has been advised of the possibility of such damages. The foregoing shall apply regardless of the negligence or other fault of either party and regardless of whether such liability sounds in contract, negligence, tort, or any other theory of legal liability, and notwithstanding any failure of essential purpose of any limited remedy. The limited warranties for Compaq products are exclusively set forth in the documentation accompanying such products. Nothing herein should be construed as constituting a further or additional warranty. This document was prepared using VAX DOCUMENT Version 2.1. Contents Preface ..................................................... xiii 1 Lexicon 1.1 Character Set ........................................ 1–3 1.1.1 Trigraph Sequences ................................ 1–5 1.1.2 Digraph Sequences ................................. 1–6 1.2 Identifiers .......................................... 1–6 1.3 Comments .......................................... 1–8 1.4 Keywords ........................................... 1–8 1.5 Operators ........................................... 1–10 1.6 Punctuators ......................................... 1–11 1.7 String Literals ....................................... 1–12 1.8 Constants ........................................... 1–13 1.8.1 Integer Constants ................................. 1–13 1.8.2 Floating-Point Constants . ........................... 1–15 1.8.3 Character Constants ............................... 1–16 1.8.3.1 Wide Characters ................................ 1–17 1.8.3.2 Multibyte Characters . ........................... 1–17 1.8.3.3 Character Escape Sequences . ................... 1–18 1.8.3.4 Numeric Escape Sequences ....................... 1–19 1.8.4 Enumeration Constants . ........................... 1–20 1.9 Header Files ........................................ 1–20 1.10 Limits . ........................................... 1–21 1.10.1 Translation Limits ................................. 1–21 1.10.2 Numerical Limits .................................. 1–22 1.10.3 Character Display ................................. 1–22 iii 2 Basic Concepts 2.1 Blocks ............................................. 2–2 2.2 Compilation Units .................................... 2–3 2.3 Scope .............................................. 2–3 2.3.1 File Scope ........................................ 2–4 2.3.2 Block Scope ...................................... 2–4 2.3.3 Function Scope .................................... 2–5 2.3.4 Function Prototype Scope ............................ 2–5 2.4 Visibility ............................................ 2–6 2.5 Side Effects and Sequence Points . ........................ 2–6 2.6 Incomplete Type ...................................... 2–8 2.7 Compatible and Composite Types . ........................ 2–9 2.8 Linkage ............................................ 2–11 2.9 Tentative Definitions . ................................ 2–13 2.10 Storage Classes ...................................... 2–13 2.10.1 The auto Class .................................... 2–14 2.10.2 The register Class . ................................ 2–15 2.10.3 The static Class . ................................ 2–15 2.10.4 The extern Class . ................................ 2–15 2.11 Storage-Class Modifiers ................................ 2–16 2.11.1 The _ _inline Modifier .............................. 2–17 2.11.2 The inline Modifier ................................ 2–17 2.11.2.1 Example—Using the inline Function Specifier . ....... 2–19 2.11.3 The _ _forceinline Modifier . ........................ 2–21 2.11.4 The _ _align Modifier ............................... 2–21 2.12 Forward References . ................................ 2–22 2.13 Tags............................................... 2–22 2.14 lvalues and rvalues . ................................ 2–24 2.15 Name Spaces ........................................ 2–25 2.16 Preprocessing ........................................ 2–25 2.17 Type Names . ........................................ 2–26 3 Data Types 3.1 Data Sizes . ........................................ 3–4 3.2 Integral Types ....................................... 3–5 3.2.1 Non-Character Types ............................... 3–6 3.2.2 Character Types . ................................ 3–7 3.3 Floating-Point Types . ................................ 3–8 3.4 Derived Types ....................................... 3–8 3.4.1 Function Type .................................... 3–9 3.4.2 Pointer Type ...................................... 3–9 iv 3.4.3 Array Type ....................................... 3–10 3.4.4 Structure Type . ................................... 3–11 3.4.5 Union Type . ................................... 3–12 3.5 void Type ........................................... 3–14 3.6 Enumerated Types . ................................... 3–15 3.7 Type Qualifiers ....................................... 3–16 3.7.1 const Type Qualifier ................................ 3–17 3.7.2 volatile Type Qualifier . ........................... 3–18 3.7.3 _ _unaligned Type Qualifier .......................... 3–20 3.7.4 _ _restrict Type Qualifier . ........................... 3–21 3.7.4.1 Rationale . ................................... 3–21 3.7.4.1.1 Aliasing ................................... 3–21 3.7.4.1.2 Library Examples ........................... 3–22 3.7.4.1.3 Overlapping Objects .......................... 3–23 3.7.4.1.4 Restricted Pointer Prototype for memcpy .......... 3–24 3.7.4.2 Formal Definition of the _ _restrict Type Qualifier ...... 3–24 3.7.4.3 Examples . ................................... 3–26 3.7.4.3.1 File Scope Restricted Pointers .................. 3–26 3.7.4.3.2 Function Parameters ......................... 3–27 3.7.4.3.3 Block Scope ................................ 3–27 3.7.4.3.4 Members of Structures ........................ 3–28 3.7.4.3.5 Type Definitions . ........................... 3–28 3.7.4.3.6 Expressions Based on Restricted Pointers ......... 3–29 3.7.4.3.7 Assignments between Restricted Pointers ......... 3–30 3.7.4.3.8 Assignments to Unrestricted Pointers . .......... 3–31 3.7.4.3.9 Ineffective Uses of Type Qualifiers ............... 3–31 3.7.4.3.10 Constraint Violations ......................... 3–32 3.8 Type Definition ....................................... 3–32 4 Declarations 4.1 Declaration Syntax Rules ............................... 4–1 4.2 Initialization ........................................ 4–4 4.3 External Declarations ................................. 4–7 4.4 Declaring Simple Objects ............................... 4–9 4.4.1 Initializing Simple Objects ........................... 4–10 4.4.2 Declaring Integer Objects . ........................... 4–10 4.4.3 Declaring Character Variables ........................ 4–10 4.4.4 Declaring Floating-Point Variables . ................... 4–11 4.5 Declaring Enumerations ............................... 4–11 4.6 Declaring Pointers . ................................... 4–12 4.6.1 Declaring void Pointers . ........................... 4–14 4.6.2 Initializing Pointers ................................ 4–15 v 4.7 Declaring Arrays ..................................... 4–15 4.7.1 Initializing Arrays . ................................ 4–18 4.7.2 Pointers and Arrays ................................ 4–21 4.7.3 Variable-Length Arrays ............................. 4–22 4.8 Declaring Structures and Unions . ........................ 4–23 4.8.1 Similarities Between Structures and Unions ............. 4–26 4.8.2 Differences Between Structures and Unions ............. 4–27 4.8.3 Bit Fields .......................................
Recommended publications
  • Migration Specialties International, Inc. Freeaxp™
    Migration Specialties International, Inc. 217 West 2nd Street, Florence, CO 81226-1403 +1 719-784-9196 E-mail: [email protected] migrationSpecialties.com Continuity in Computing FreeAXP™ SPD V2.n – 11-FEB-2016 Digital Emulator Collection Software Product Description FreeAXP is a virtual AlphaServer 400 designed to be hosted on a Windows x86 and x64 systems. This highly portable product offers the following key features: • OpenVMS, Digital UNIX, and Tru64 UNIX support • Simple configuration • Commercial and hobbyist licensing • VM host support • Optional support contracts Best of all, the product is free! FreeAXP is designed to virtualize legacy Alpha hardware. The product is binary compatible with real Alpha hardware, allowing the resident operating system and software to be ported to FreeAXP without modification or the need for source code. For all intents and purposes, FreeAXP offers a simple way to upgrade existing Alpha systems to new hardware. FreeAXP supports 32 – 128MB of virtual memory, up to seven storage devices, including a physical CD/DVD-ROM, two 100Mb NICs, one virtual serial console, and one virtual serial port. FreeAXP provides an introduction to Migration Specialties legacy Alpha virtualization products. It is designed for hobbyist and non-critical system use. Clients requiring additional performance and capabilities should look at Migration Specialties Avanti commercial Alpha replacement solutions. FreeAXP is provided free of charge without warranty or official support. FreeAXP Home Page: http://migrationspecialties.com/FreeAXP.html Migration Specialties believes the information in this publication is accurate as of its publication date; such information is subject to change without notice. Migration Specialties is not responsible for any inadvertent errors.
    [Show full text]
  • Oracle Application Server Installation Guide for Hp Tru64 UNIX
    Oracle® Application Server Installation Guide 10g Release 2 (10.1.2) for hp Tru64 UNIX B25859-01 February 2007 Oracle Application Server Installation Guide 10g Release 2 (10.1.2) for hp Tru64 UNIX B25859-01 Copyright © 2007, Oracle. All rights reserved. Primary Author: Megan Ginter, Divya Shankar Contributors: Maria Cheng, Rupesh Das, Kriti Dutta, Ranjan Dutta, Xinyang Gao, Hiroaki Hiratsuka, Sunil Jain, Yongqing Jiang, Prashanth Joshi, Michael Moon, Sambit Nanda, Edsel delos Reyes, Janelle Simmons, Abhay Singh, Shashidhara Varamballi The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S.
    [Show full text]
  • The Complete Freebsd
    The Complete FreeBSD® If you find errors in this book, please report them to Greg Lehey <grog@Free- BSD.org> for inclusion in the errata list. The Complete FreeBSD® Fourth Edition Tenth anniversary version, 24 February 2006 Greg Lehey The Complete FreeBSD® by Greg Lehey <[email protected]> Copyright © 1996, 1997, 1999, 2002, 2003, 2006 by Greg Lehey. This book is licensed under the Creative Commons “Attribution-NonCommercial-ShareAlike 2.5” license. The full text is located at http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode. You are free: • to copy, distribute, display, and perform the work • to make derivative works under the following conditions: • Attribution. You must attribute the work in the manner specified by the author or licensor. • Noncommercial. You may not use this work for commercial purposes. This clause is modified from the original by the provision: You may use this book for commercial purposes if you pay me the sum of USD 20 per copy printed (whether sold or not). You must also agree to allow inspection of printing records and other material necessary to confirm the royalty sums. The purpose of this clause is to make it attractive to negotiate sensible royalties before printing. • Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. • For any reuse or distribution, you must make clear to others the license terms of this work. • Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above.
    [Show full text]
  • Design of the PATHWORKS for ULTRIX File Server by Anthony J
    Design of the PATHWORKS for ULTRIX File Server By Anthony J. Rizzolo, Elizabeth A. Brewer, and Martha A. Chandler 1 Abstract The PATHWORKS for ULTRIX product integrates personal computers with the ULTRIX operating system on a local area network. The software supports both the TCP/IP protocol and the DECnet transport stacks. The design and implementation of the PATHWORKS for ULTRIX file server is based on a client-server model. The server provides file, print, mail, and time services to client PCs on the network. Network file service management is accessed through a PC-style menu interface. The file server's performance was optimized to allow parallelism to occur when the client is generating data at the same time the server is writing the data to disk. 2 Introduction The PATHWORKS for ULTRIX file server connects industry-standard personal computers running Microsoft's server message block (SMB) protocol to Digital computers running the ULTRIX operating system. The server provides a network operating system for PC integration among users of the ULTRIX, DOS, and OS/2 operating systems. The PATHWORKS for ULTRIX server provides file, print, mail, and time services to client PCs on the network. The software is layered on VAX systems and on reduced instruction set computer (RISC) hardware. It supports both the transmission control protocol/internet protocol (TCP/IP) and the DECnet transport stacks. The base product also provides centralized server-based management accessed through a PC-style menu interface. In addition, the PATHWORKS for ULTRIX server implements a network basic I/O system (NetBIOS) naming service that allows clients on the network to obtain the DECnet node address of the server in the DECnet environment or the TCP/IP address of the server in the TCP/IP environment.
    [Show full text]
  • CHARON-AXP/DS/ES/GS for Linux 64
    Document: 60-15-046-003 CHARON-AXP/DS/ES/GS for Linux 64 bit Product version: 4.4; Build 147-01 Description CHARON-AXP/DS/ES/GS are members of the CHARON cross-platform hardware virtualization product family. CHARON-AXP creates the virtual replica of the original AlphaServer hardware inside a standard 64 bit x86 compatible computer system. It will run the original Alpha binary code, including operating systems like OpenVMS and Tru64 UNIX, their layered products, and applications. CHARON-AXP/DS/ES/GS for Linux 64 bit is designed to replace the following AlphaServer computer systems by its virtual equivalent running on a Windows host platform: CHARON-AXP product Hardware to replace CHARON-AXP/DS10 AlphaServer DS10, DS15 better performance. The constant improvements Stromasys makes to the CHARON products, together with CHARON-AXP/DS20 AlphaServer DS20, DS25 rapidly developing faster hardware, will further shift the CHARON-AXP/ES40 AlphaServer ES40, ES45, ES47 balance to favor cross-platform virtualization. CHARON-AXP/GS80 AlphaServer GS80, GS60, ES80 For the reference, the table below shows performance CHARON-AXP/GS160 AlphaServer GS140, GS160 measurements of the original AlphaServer hardware using CHARON-AXP/GS320 AlphaServer GS320, GS1280 the standard SPEC2000 benchmark. Those numbers are Most of the original AlphaServer hardware is virtualized, available online from official SPEC2000 web page. allowing the OpenVMS or Tru64 operating system and all Single CPU benchmark SPEC2000 INT SPEC2000 FP software that is running in that environment to remain AlphaServer 4100 5/533 176 176 working as always. Very little changes to the original AlphaServer DS10 6/500 300 383 software (operating system, layered products, or AlphaServer DS20 6/677 425 455 applications) are required, their management routines stay AlphaServer ES40 6/500 299 382 the same.
    [Show full text]
  • Openafs: BSD Clients 2009
    OpenAFS: BSD Clients 2009 Matt Benjamin <[email protected]> OpenAFS: BSD Clients 2009 Who am I? ● OpenAFS developer interested in various new-code development topics ● for the last while, “portmaster” for BSD clients except DARWIN/MacOS X ● involves evolving the ports, interfacing withusers and port maintainers in the BSD communities OpenAFS: BSD Clients 2009 Former Maintainers ● Tom Maher, MIT ● Jim Rees, University of Michigan (former Gatekeeper and Elder) ● Garret Wollman, MIT OpenAFS: BSD Clients 2009 Other Active ● Ben Kaduk (FreeBSD) ● Tony Jago (FreeBSD) ● Jamie Fournier (NetBSD) OpenAFS: BSD Clients 2009 Historical Remarks ● AFS originated in a BSD 4.2 environment ● extend UFS with coherence across a group of machines ● Terminology in common with BSD, SunOS, etc, e.g., vnodes ● Followed SunOS and Ultrix to Solaris and Digital Unix in Transarc period ● 386BSD released at 4.3 level in the Transarc period, some client development never publically released (or independent of Transarc) OpenAFS: BSD Clients 2009 BSD Clients Today ● Descendents of 386BSD distribution and successors, not including DARWIN/MacOS X ● DARWIN separately maintained, though of course there are similarities OpenAFS: BSD Clients 2009 Today ● FreeBSD ● OpenBSD Soon ● NetBSD ● OpenBSD Not yet supported (as a client): ● Dragonfly BSD OpenAFS: BSD Clients 2009 BSD Port History I ● First 386BSD port probably that of John Kohl (MIT), for NetBSD ● First to appear in OpenAFS is FreeBSD, by Tom Maher ● Next to appear in OpenAFS is OpenBSD, by Jim Rees ● Significant evolution
    [Show full text]
  • SDE 3.0.1 System Requirements
    SDE 3.0.1 System Requirements This PDF contains system requirements information, including hardware requirements, best performance configurations, and limitations, for SDE 3.0.1. Compaq/Digital Tru64 UNIX V4.0b o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 Compaq/Digital Tru64 UNIX V4.0c o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 Compaq/Digital Tru64 UNIX V4.0d o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 HP HP-UX 10.20 (700 series, 8x7 series) o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 o Sybase SQL Server 11.0.2 HP HP-UX 11.0 (700 series, 8x7 series) o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 IBM AIX 4.1.5.0 o IBM DB2 Common Server 2.1.2 o IBM DB2 Universal Database (UDB) 5.0 o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 o Sybase SQL Server 11.0.2 IBM AIX 4.2.1.0 o IBM DB2 Universal Database (UDB) 5.0 o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 IBM AIX 4.3.0.0 o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 PC-Intel Windows NT 4.0 o Microsoft SQL Server 6.5 o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 SGI IRIX 6.2 o Oracle 8 (32 bit) Enterprise Server 7.3.3 o Oracle 8 (32 bit) Workgroup Server 7.3.3 o Sybase SQL Server 11.0.2 SGI IRIX 6.3 o Oracle 8 (32 bit) Enterprise
    [Show full text]
  • BSD Based Systems
    Pregled BSD sistema I projekata Glavne BSD grane FreeBSD Homepage: http://www.freebsd.org/ FreeBSD je Unix-like slobodni operativni sistem koji vodi poreklo iz AT&T UNIX-a preko Berkeley Software Distribution (BSD) grane kroz 386BSD i 4.4BSD. Radi na procesorima kompatibilnim sa Intel x86 familijom procesora, kao I na DEC Alpha, UltraSPARC procesorima od Sun Microsystems, Itanium (IA-64), AMD64 i PowerPC procesorima. Radi I na PC-98 arhitekturi. Podrska za ARM i MIPS arhitekture je trenutno u razvoju. Početkom 1993. godine Jordan K. Hubbard, Rod Grimes i Nate Williams su pokrenuli projekat čiji je cilj bio rešavanje problema koji su postojali u principima razvoja Jolitzovog 386BSD-a. Posle konsultovanja sa tadašnjim korisnicima sistema, uspostavljeni su principi i smišljeno je ime - FreeBSD. Pre nego što je konkretan razvoj i počeo, Jordan Hubbard je predložio je firmi Walnut Creek CDROM (danas BSDi) da pripreme distribuiranje FreeBSD-a na CD-ROM-ovima. Walnut Creek CDROM su prihvatili ideju, ali i obezbedili (tada potpuno nepoznatom) projektu mašinu na kojoj će biti razvijan i brzu Internet konekciju. Bez ove pomoći teško da bi FreeBSD bio razvijen u ovolikoj meri i ovolikom brzinom kao što jeste. Prva distribucija FreeBSD-a na CD-ROM-ovima (i naravno na netu) bila je FreeBSD 1.0, objavljena u decembru 1993. godine. Bila je zasnovana na Berkeley-evoj 4.3BSD-Lite ("Net/2") traci, a naravno sadržala je i komponente 386BSD-a i mnoge programe Free Software Foundation (fondacija besplatnog- slobodnog softvera). Nakon što je Novell otkupio UNIX od AT&T-a, Berkeley je morao da prizna da Net/2 traka sadrži velike delove UNIX koda.
    [Show full text]
  • The Single UNIX® Ingle UNIX Specification History & Timeline
    The Single UNIX® Specifi cationcation HistoryHistory && TTimelineimeline The history of UNIX starts back in 1969, when Ken UNIX System Laboratories (USL) becomes a company Thompson, Dennis Ritchie and others started working on 1969 The Beginning “The Single UNIX Specifi cation brings all the benefi ts of a single standard 1991 - majority-owned by AT&T. Linus Torvalds commences the “little-used PDP-7 in a corner” at Bell Labs and what operating system, namely application and information portability, scalability, Linux development. Solaris 1.0 debuts. was to become UNIX. fl exibility and freedom of choice for customers” USL releases UNIX System V Release 4.2 (Destiny). It had an assembler for a PDP-11/20, fi le system, fork(), October - XPG4 Brand launched by X/Open. December 1992 SVR4.2 1971 First Edition roff and ed. It was used for text processing of patent Allen Brown, President and CEO, The Open Group 22nd - Novell announces intent to acquire USL. Solaris documents. 2.0 and HP-UX 9.0 ship. 4.4BSD the fi nal release from Berkeley. June 16 - Novell First UNIX The fi rst installations had 3 users, no memory protection, 1993 4.4BSD 1972 The Story of the License Plate... acquires USL Installations and a 500 KB disk. Novell decides to get out of the UNIX business. Rather It was rewritten in C. This made it portable and changed than sell the business as a single entity, Novell transfers 1973 Fourth Edition In 1983 Digital Equipment Corporation the middle of it, Late the rights to the UNIX trademark and the specifi cation the history of OS’s.
    [Show full text]
  • Operating Systems
    PHYS-4007/5007: Computational Physics Course Lecture Notes Appendix A Dr. Donald G. Luttermoser East Tennessee State University Version 7.0 Abstract These class notes are designed for use of the instructor and students of the course PHYS-4007/5007: Computational Physics I taught by Dr. Donald Luttermoser at East Tennessee State University. Appendix A. Operating Systems A. A Brief History of Operating Systems. 1. A simple definition of a operating system is the suite of programs that make the hardware usable. The operating system manages the CPU, disks, and I/O devices. 2. Manipulation of the operating system was typically one of the hardest aspects of learning to use computers which is why the “GUI (Graphic User Interface) mentality” has taken hold of the modern computers — the user no long needs to talk to the op- erating system, the GUI does it for you! (Which is actually a “pain-in-the-butt” if you need to actually talk to the operating system!) 3. We now follow the history of operating systems and programming languages that are important in the scientific community, starting in the 1940s: a) Early computers had no operating system (e.g., the IBM 604). b) The computer was told what to do with a low-level set of commands =⇒ assembly language. c) The IBM 604 could undertake 60 program steps before using punch cards as a backing store. d) Often, the user had to manipulate toggle switches to input the code for the mainframe. 4. The 1950s saw the advent and rapid changes in the capability of operating systems.
    [Show full text]
  • IBM Visualage Pacbase Version 3.0 Delivers a Remodeled Environment for E-Business
    Software Announcement February 20, 2001 IBM VisualAge Pacbase Version 3.0 Delivers a Remodeled Environment for e-business Overview Using VisualAge Pacbase, organizations will: At a Glance VisualAge Pacbase is a • repository-based application Progressively move to the most VisualAge Pacbase offers: advanced technologies and development (AD) offering designed • for enterprise-wide scalability, extend existing assets to the Life-cycle coverage of AD needs reliability, and performance. world of e-business from analysis and design to production of all types of B2B, • Benefit from a multiplatform VisualAge Pacbase Version 3.0 B2C, and B2E applications that approach to ensure portability offers extended capabilities: are portable on IBM and and scalability of applications non-IBM platforms • The e-business information model while protecting previous IT has been restructured to facilitate investments • Model-driven development and visual programming to improve the implementation of new • Take advantage of a powerful and technologies. productivity and enable secure industrial-strength developers to focus on business • The new Developer Workbench solution to bring enterprise level issues provides a single user-friendly computing to their application Java -based interface to drive environment • Reusability of components traditional and e-business during the development process development. Key Prerequisites and consistency during the life-cycle of applications • The coverage of e-business needs • Server is improved through additional • Ability to extend legacy capabilities such as integration of − Mainframe: MVS or applications to the world of existing COBOL applications, OS/390 CICS , MVS or e-business, and create low-cost server components testing, and OS/390 IMS , IBM VSE/CICS; Web-enabled systems support for Enterprise JavaBean Bull GCOS7, GCOS8; Unisys 2200 series For ordering, contact: (EJB) session components.
    [Show full text]
  • ICS 143 - Principles of Operating Systems
    ICS 143 - Principles of Operating Systems Lectures 3 and 4 - Processes and Threads Prof. Nalini Venkatasubramanian [email protected] Some slides adapted from http://www-inst.eecs.berkeley.edu/~cs162/ Copyright © 2010 UCB. Note that some slides are also adapted from course text slides © 2008 Silberschatz Outline ■ Process Concept ❑ Process Scheduling ❑ Operations on Processes ❑ Cooperating Processes ■ Threads ■ Interprocess Communication Process Concept ■ An operating system executes a variety of programs ■ batch systems - jobs ■ time-shared systems - user programs or tasks ■ Job, task and program used interchangeably ■ Process - a program in execution ■ process execution proceeds in a sequential fashion ■ A process contains ■ program counter, stack and data section Process =? Program main () main () Heap { { …; …; } } Stack A() { A() { A main … … } } Program Process ■ More to a process than just a program: ❑ Program is just part of the process state ❑ I run Vim or Notepad on lectures.txt, you run it on homework.java – Same program, different processes ■ Less to a process than a program: ❑ A program can invoke more than one process ❑ A web browser launches multiple processes, e.g., one per tab Process State ■ A process changes state as it executes. new admitted exit terminated interrupt ready running Scheduler I/O or dispatch event I/O or completion event wait waiting Process States ■ New - The process is being created. ■ Running - Instructions are being executed. ■ Waiting - Waiting for some event to occur. ■ Ready - Waiting to be assigned to a processor. ■ Terminated - Process has finished execution. Process Control Block ■ Contains information associated with each process ■ Process State - e.g. new, ready, running etc. ■ Process Number – Process ID ■ Program Counter - address of next instruction to be executed ■ CPU registers - general purpose registers, stack pointer etc.
    [Show full text]