Advanced Programming in the UNIX Environment W. Richard Stevens

Size: px
Start display at page:

Download "Advanced Programming in the UNIX Environment W. Richard Stevens"

Transcription

1 Advanced Programming in the UNIX Environment W. Richard Stevens ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn Sydney Singapore Tokyo Madrid San Juan Paris Seoul Milan Mexico City Taipei

2 Preface Chapter Chapter Introduction Introduction 1 Logging In 1 Files and Directories 3 Input and Output 6 Programs and Processes 9 ANSI C Features 12 Error Handling 14 User Identification 16 Signals 17 Unix Time Values 19 System Calls and Library Functions 20 Summary 23 Unix Standardization and Implementations Introduction 25 Unix Standardization ANSI C IEEE POSIX X/Open XPG FIPS 28 Unix Implementations System V Release BSD xv 1 25 Vll

3 V1U 2.4 Relationship of Standards and Implementations Limits ANSI C Limits POSIX Limits XPG3 Limits sysconf, pathconf, and fpathconf Functions FIPS Requirements Summary of Limits Indeterminate Run-Time Limits Feature Test Macros Primitive System Data Types Conflicts Between Standards Summary 46 Chapter File I/O Introduction 47 File Descriptors open Function creat Function close Function lseek Function read Function write Function I/O Efficiency File Sharing Atomic Operations 60 dup and dup2 Functions fcntl Function 63 ioctl Function 67 /dev/fd 69 Summary Chapter 4. Files and Directories 4.1 Introduction stat, fstat, and lstat Functions 4.3 File Types Set-User-ID and Set-Group-ID File Access Permissions Ownership of New Files and Directories 4.7 access Function umask Function chmod and fchmod Functions Sticky Bit chown, fchown, and lchown Functions

4 File Size 90 File Truncation 91 Filesystems 92 link, unlink, remove, and rename Functions Symbolic Links 99 symlink and readlink Functions 102 File Times 102 utime Function 103 mkdir and rmdir Functions 106 Reading Directories 107 chdir, fchdir, and getcwd Functions 112 Special Device Files 114 sync and fsync Functions 116 Summary of File Access Permission Bits Summary Chapter Chapter Standard I/O Library Introduction 121 Streams and FILE Objects 121 Standard Input, Standard Output, and Standard Error Buffering 122 Opening a Stream 125 Reading and Writing a Stream 127 Line-at-a-Time I/O 130 Standard I/O Efficiency 131 Binary I/O 133 Positioning a Stream 135 Formatted I/O 136 Implementation Details 138 Temporary Files 140 Alternatives to Standard I/O 143 Summary 143 System Data Files and Information Introduction 145 Password File 145 Shadow Passwords 148 Group File 149 Supplementary Group IDs 150 Other Data Files 152 Login Accounting 153 System Identification 154 Time and Date Routines 155 Summary

5 Chapter 7. Chapter 8. Chapter 9. The Environment of a Unix Process 7.1 Introduction main Function Process Termination Command-Line Arguments Environment List Memory Layout of a C Program Shared Libraries Memory Allocation Environment Variables setjmp and longjmp Functions getrlimit and setrlimit Functions Summary 184 Process Control 8.1 Introduction Process Identifiers fork Function vfork Function exit Functions wait and waitpid Functions wait3 and wait4 Functions Race Conditions exec Functions Changing User IDs and Group IDs Interpreter Files system Function Process Accounting User Identification Process Times Summary 235 Process Relationships 9.1 Introduction Terminal Logins Network Logins Process Groups Sessions Controlling Terminal tcgetpgrp and tcsetpgrp Functions Job Control Shell Execution of Programs

6 XI 9.10 Orphaned Process Groups BSD Implementation Summary 261 Chapter 10. Signals Introduction Signal Concepts signal Function Unreliable Signals Interrupted System Calls Reentrant Functions SIGCLD Semantics Reliable Signal Terminology and Semantics kill and raise Functions alarm and pause Functions Signal Sets sigprocmask Function sigpending Function sigaction Function sigsetjmp and siglongjmp Functions sigsuspend Function abort Function system Function sleep Function Job-Control Signals Additional Features Summary 323 Chapter 11. Terminal I/O Introduction Overview Special Input Characters Getting and Setting Terminal Attributes Terminal Option Flags stty Command Baud Rate Functions Line Control Functions Terminal Identification Canonical Mode Noncanonical Mode Terminal Window Size termcap, terminfo, and curses Summary 360

7 XU Chapter 12. Advanced I/O Introduction 363 Nonblocking I/O 363 Record Locking 367 Streams 383 I/O Multiplexing select Function poll Function 400 Asynchronous I/O System V Release BSD 403 readv and writev Functions 404 readn and writen Functions 406 Memory Mapped I/O 407 Summary 413 Chapter Daemon Processes Introduction 415 Daemon Characteristics 415 Coding Rules 417 Error Logging SVR4 Streams log Driver BSD syslog Facility Client-Server Model 424 Summary Chapter 14. Interprocess Communication 14.1 Introduction Pipes popen and pclose Functions Coprocesses FIFOs System V IPC Identifiers and Keys Permission Structure Configuration Limits Advantages and Disadvantages 14.7 Message Queues Semaphores Shared Memory Client-Server Properties Summary

8 xiu Chapter 15. Chapter 16. Chapter 17. Chapter 18. Advanced Interprocess Communication 15.1 Introduction Stream Pipes Passing File Descriptors System V Release BSD BSD An Open Server, Version Client-Server Connection Functions System V Release BSD An Open Server, Version Summary 514 A Database Library 16.1 Introduction History The Library Implementation Overview Centralized or Decentralized? Concurrency Source Code Performance Summary 550 Communicating with a PostScript Printer 17.1 Introduction PostScript Communication Dynamics Printer Spooling Source Code Summary 578 A Modem Dialer 18.1 Introduction History Program Design Data Files Server Design Server Source Code Client Design Client Source Code Summary

9 XIV Chapter Appendix A. Appendix B. B.1 B.2 Appendix C. Bibliography Index Pseudo Terminals Introduction 631 Overview 631 Opening Pseudo-Terminal Devices System V Release BSD 640 pty_fork Function 641 pty Program 644 Using the pty Program 648 Advanced Features 655 Summary 656 Function Prototypes Miscellaneous Source Code Our Header File 679 Standard Error Routines 681 Solutions to Selected Exercises

UNIT I Linux Utilities

UNIT I Linux Utilities UNIT I Linux Utilities 1. a) How does Linux differ from Unix? Discuss the features of Linux. 5M b) Explain various text processing utilities, with a suitable example for each. 5M 2. a) Explain briefly

More information

UNIT I Linux Utilities and Working with Bash

UNIT I Linux Utilities and Working with Bash Subject with Code :(16MC814)Course& Branch: MCA Year & Sem: II-MCA& I-Sem UNIT I Linux Utilities and Working with Bash 1. a) How does Linux differ from Unix? Discuss the features of Linux.6M b) Explain

More information

Building blocks for Unix power tools

Building blocks for Unix power tools for Unix power tools Now that we have given a good overview of a lot of the better Unix tools, I want to take some time to talk about our toolset for building Unix programs. The most important of these

More information

CptS 360 (System Programming) Unit 6: Files and Directories

CptS 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 information

Overview. Over the next four weeks, we will look at these topics: Building Blocks. Advanced Authentication Issues.

Overview. Over the next four weeks, we will look at these topics: Building Blocks. Advanced Authentication Issues. Overview Over the next four weeks, we will look at these topics: Building Blocks Advanced Authentication Issues Security Overview Storage and its abstraction Virtualization and appliances Data Replication

More information

System BIOS for IBM PCs, Compatibles, and EISA Computers, Second Edition

System BIOS for IBM PCs, Compatibles, and EISA Computers, Second Edition TECHNICAL REFERENCE SERIES System BIOS for IBM PCs, Compatibles, and EISA Computers, Second Edition The Complete Guide to ROM-Based System Software PHOENIX TECHNOLOGIES LTD. J TT Addison-Wesley Publishing

More information

Win32 Network Programming

Win32 Network Programming Win32 Network Programming Windows 95 and Windows NT Network Programming Using MFC Ralph Davis TT Addison-Wesley Developers Press Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

More information

St. MARTIN S ENGINEERING COLLEGE Dhulapally,Secunderabad DEPARTMENT OF INFORMATION TECHNOLOGY Academic year

St. MARTIN S ENGINEERING COLLEGE Dhulapally,Secunderabad DEPARTMENT OF INFORMATION TECHNOLOGY Academic year St. MARTIN S ENGINEERING COLLEGE Dhulapally,Secunderabad-000 DEPARTMENT OF INFORMATION TECHNOLOGY Academic year 0-0 QUESTION BANK Course Name : LINUX PROGRAMMING Course Code : A0 Class : III B. Tech I

More information

CL020 - Advanced Linux and UNIX Programming

CL020 - Advanced Linux and UNIX Programming Corder Enterprises International Building World Class MIS Teams, for you! CL020 - Advanced Linux and UNIX Programming Course Description: In-depth training for software developers on Linux and UNIX system

More information

Files and Directories

Files and Directories Files and Directories Stat functions Given pathname, stat function returns structure of information about file fstat function obtains information about the file that is already open lstat same as stat

More information

Mathematica for Scientists and Engineers

Mathematica for Scientists and Engineers Mathematica for Scientists and Engineers Thomas B. Bahder Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn Paris

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name : LINUX PROGRAMMING Course Code : ACS010 Class : III

More information

Linux is obsolete 2.0

Linux is obsolete 2.0 CCCamp 2007 Tanenbaum versus Brown Thus, of course, Linus didn t sit down in a vacuum and suddenly type in the Linux source code. He had my book, was running MINIX, and undoubtedly knew the history (since

More information

Introductory logic and sets for Computer scientists

Introductory logic and sets for Computer scientists Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

More information

Shell Execution of Programs. Process Groups, Session and Signals 1

Shell Execution of Programs. Process Groups, Session and Signals 1 Shell Execution of Programs Process Groups, Session and Signals 1 Signal Concepts Signals are a way for a process to be notified of asynchronous events (software interrupts). Some examples: a timer you

More information

Department of Computer Science and Technology, UTU 2014

Department of Computer Science and Technology, UTU 2014 Short Questions 060010601 Unix Internals Unit 1 : Introduction and Overview of UNIX 1. What were the goals of Multics System? 2. List out the levels in which UNIX system architecture is divided. 3. Which

More information

An Introduction to Object-Oriented Programming

An Introduction to Object-Oriented Programming An Introduction to Object-Oriented Programming Timothy Budd Oregon State University TT Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham,

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name : LINUX PROGRAMMING Course Code : A70511 (R15) Class

More information

CS 33. Signals Part 2. CS33 Intro to Computer Systems XXIV 1 Copyright 2016 Thomas W. Doeppner. All rights reserved.

CS 33. Signals Part 2. CS33 Intro to Computer Systems XXIV 1 Copyright 2016 Thomas W. Doeppner. All rights reserved. CS 33 Signals Part 2 CS33 Intro to Computer Systems XXIV 1 Copyright 2016 Thomas W. Doeppner. All rights reserved. Job Control $ who foreground job $ multiprocessprogram ^Z foreground job stopped $ bg

More information

Programming with POSIX Threads

Programming with POSIX Threads Programming with POSIX Threads David R. Butenhof :vaddison-wesley Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sidney Tokyo Singapore Mexico City Contents List of

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) DUNDIGAL, HYDERABAD

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) DUNDIGAL, HYDERABAD INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) DUNDIGAL, HYDERABAD -500 043 Course Title Course Code Regulation COMPUTER SCIENCE AND ENGINEERING COURSE DESCRIPTION FORM LINUX PROGRAMMING A70511 R13

More information

Chp1 Introduction. Introduction. Objective. Logging In. Shell. Briefly describe services provided by various versions of the UNIX operating system.

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 information

UNIX Network Programming

UNIX Network Programming UNIX Network Programming The Sockets Networking API Volume 1 Third Edition W. Richard Stevens Bill Fenner Andrew M. Rudoff AAddison-Wesley Boston San Francisco New York Toronto Montreal London Munich Paris

More information

CONTENTS IN DETAIL 1 HISTORY AND STANDARDS 1

CONTENTS IN DETAIL 1 HISTORY AND STANDARDS 1 CONTENTS IN DETAIL PREFACE xxxi 1 HISTORY AND STANDARDS 1 1.1 A Brief History of UNIX and C...2 1.2 A Brief History of Linux...5 1.2.1 The GNU Project...5 1.2.2 The Linux Kernel...6 1.3 Standardization...

More information

4. System Functions and Subroutines

4. System Functions and Subroutines Chapter 4 4. System s and Subroutines This chapter describes extensions to Fortran 77 that are related to the IRIX compiler and operating system. Library s summarizes the Fortran run-time library functions.

More information

Secure Software Programming and Vulnerability Analysis

Secure Software Programming and Vulnerability Analysis Secure Software Programming and Vulnerability Analysis Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Race Conditions Secure Software Programming 2 Overview Parallel execution

More information

RTEMS Filesystem Design Guide

RTEMS Filesystem Design Guide RTEMS Filesystem Design Guide Edition 1, for RTEMS 4.5.0-beta3 May 2000 On-Line Applications Research Corporation On-Line Applications Research Corporation TEXinfo 1999-09-25.10 COPYRIGHT c 1988-2000.

More information

Real-Time Systems and Programming Languages

Real-Time Systems and Programming Languages Real-Time Systems and Programming Languages Ada, Real-Time Java and C/Real-Time POSIX Fourth Edition Alan Burns and Andy Wellings University of York * ADDISON-WESLEY An imprint of Pearson Education Harlow,

More information

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF MCA QUESTION BANK UNIT 1

CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF MCA QUESTION BANK UNIT 1 CHETTINAD COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF MCA QUESTION BANK SUBJECT: NETWORK PROGRAMMING/MC9241 YEAR/ SEM: II /I V 1 CCET UNIT 1 1. What are the steps involved in obtaining a shared

More information

History of FreeBSD. FreeBSD Kernel Facilities

History of FreeBSD. FreeBSD Kernel Facilities History of FreeBSD FreeBSD Kernel Facilities 1979 3BSD Added virtual memory to UNIX/32V 1981 4.1BSD 1983 4.2BSD Final release from Berkeley DARPA UNIX project 1986 4.3BSD 1988 4.3BSD Tahoe 1989 4.3BSD

More information

UNIT I INTRODUCTION TO UNIX & FILE SYSTEM

UNIT I INTRODUCTION TO UNIX & FILE SYSTEM INTRODUCTION TO UNIX & FILE SYSTEM Part A 1. What is UNIX? UNIX(Uniplexed Information Computing System) it is an operating system was developed in Early 1970 at Bell Labs. It was initially a character

More information

read(2) There can be several cases where read returns less than the number of bytes requested:

read(2) There can be several cases where read returns less than the number of bytes requested: read(2) There can be several cases where read returns less than the number of bytes requested: EOF reached before requested number of bytes have been read Reading from a terminal device, one line read

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 COMPUTER SCIENCE AND ENGINEERING TUTORIAL QUESTION BANK Course Name : LINUX PROGRAMMING Course Code : A70511 Class : IV B.

More information

Designing the User Interface

Designing the User Interface Designing the User Interface Strategies for Effective Human-Computer Interaction Second Edition Ben Shneiderman The University of Maryland Addison-Wesley Publishing Company Reading, Massachusetts Menlo

More information

Noorul Islam College Of Engineering, Kumaracoil MCA Degree Model Examination (October 2007) 5 th Semester MC1642 UNIX Internals 2 mark Questions

Noorul Islam College Of Engineering, Kumaracoil MCA Degree Model Examination (October 2007) 5 th Semester MC1642 UNIX Internals 2 mark Questions Noorul Islam College Of Engineering, Kumaracoil MCA Degree Model Examination (October 2007) 5 th Semester MC1642 UNIX Internals 2 mark Questions 1. What are the different parts of UNIX system? i. Programs

More information

Contents. Part 1. Introduction and TCP/IP 1. Foreword Preface. xix. I ntroduction 31

Contents. Part 1. Introduction and TCP/IP 1. Foreword Preface. xix. I ntroduction 31 Foreword Preface Xvii xix Part 1. Introduction and TCP/IP 1 Chapter 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 Chapter 2. 2.1 2.2 2.3 I ntroduction I ntroduction 3 A Simple Daytime Client 6

More information

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur QUESTION BANK

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur QUESTION BANK SRM Nagar, Kattankulathur 603 203 IV SEMESTER MC7404 NETWORK PROGRAMMING Regulation 2013 Academic Year 2017 18 Prepared by Mr. M.Asan Nainar, Assistant Professor/MCA UNIT I - INTRODUCTION Overview of UNIX

More information

Programming. In Ada JOHN BARNES TT ADDISON-WESLEY

Programming. In Ada JOHN BARNES TT ADDISON-WESLEY Programming In Ada 2005 JOHN BARNES... TT ADDISON-WESLEY An imprint of Pearson Education Harlow, England London New York Boston San Francisco Toronto Sydney Tokyo Singapore Hong Kong Seoul Taipei New Delhi

More information

Design Overview of the FreeBSD Kernel CIS 657

Design Overview of the FreeBSD Kernel CIS 657 Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler (2%

More information

File System User API

File System User API File System User API Blunk Microsystems file system API includes the file-related routines from Standard C and POSIX, as well as a number of non-standard functions that either meet a need unique to embedded

More information

Lecture 17. Log into Linux. Copy two subdirectories in /home/hwang/cs375/lecture17/ $ cp r /home/hwang/cs375/lecture17/*.

Lecture 17. Log into Linux. Copy two subdirectories in /home/hwang/cs375/lecture17/ $ cp r /home/hwang/cs375/lecture17/*. Lecture 17 Log into Linux. Copy two subdirectories in /home/hwang/cs375/lecture17/ $ cp r /home/hwang/cs375/lecture17/*. Both subdirectories have makefiles that will make all the programs. The "unnamed"

More information

Dynamic Detection and Prevention of Race Conditions in File Accesses

Dynamic Detection and Prevention of Race Conditions in File Accesses Dynamic Detection and Prevention of Race Conditions in File Accesses Eugene Tsyrklevich eugene@securityarchitects.com Outline What are race conditions? How can we prevent them? Implementation description

More information

(In columns, of course.)

(In columns, of course.) CPS 310 first midterm exam, 10/9/2013 Your name please: Part 1. Fun with forks (a) What is the output generated by this program? In fact the output is not uniquely defined, i.e., it is not always the same.

More information

The Design and Implementation of the 4.4BSD Operating System. Marshall Kirk McKusick Keith Bostic Michael J. Karels John S.

The Design and Implementation of the 4.4BSD Operating System. Marshall Kirk McKusick Keith Bostic Michael J. Karels John S. The Design and Implementation of the 4.4BSD Operating System Marshall Kirk McKusick Keith Bostic Michael J. Karels John S. Quarterman The Design and Implementation of the 4.4BSD Operating System by Marshall

More information

Reconstructive Software Archaeology Warren Toomey School of IT, Bond Uni

Reconstructive Software Archaeology Warren Toomey School of IT, Bond Uni Reconstructive Software Archaeology Warren Toomey School of IT, Bond Uni This is a case study in resurrecting an old piece of software. The reconstruction is interesting in itself, but it also raises many

More information

Design Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent?

Design Overview of the FreeBSD Kernel. Organization of the Kernel. What Code is Machine Independent? Design Overview of the FreeBSD Kernel CIS 657 Organization of the Kernel Machine-independent 86% of the kernel (80% in 4.4BSD) C C code Machine-dependent 14% of kernel Only 0.6% of kernel in assembler

More information

NATURAL LANGUAGE PROCESSING

NATURAL LANGUAGE PROCESSING NATURAL LANGUAGE PROCESSING [As per Choice Based Credit System (CBCS) scheme] (Effective from the academic year 2016-2017) SEMESTER VII Subject Code 15CS741 IA Marks 20 Number of Lecture Hours/Week 3 Exam

More information

DATABASE SYSTEM CONCEPTS

DATABASE SYSTEM CONCEPTS DATABASE SYSTEM CONCEPTS HENRY F. KORTH ABRAHAM SILBERSCHATZ University of Texas at Austin McGraw-Hill, Inc. New York St. Louis San Francisco Auckland Bogota Caracas Lisbon London Madrid Mexico Milan Montreal

More information

Data Structures in C++ Using the Standard Template Library

Data Structures in C++ Using the Standard Template Library Data Structures in C++ Using the Standard Template Library Timothy Budd Oregon State University ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Reading, Massachusetts Harlow, England Menlo

More information

CSC209 Review. Yeah! We made it!

CSC209 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 information

Files and Directories

Files and Directories Contents 1. Preface/Introduction 2. Standardization and Implementation 3. File I/O 4. Standard I/O Library 5. Files and Directories 6. System Data Files and Information 7. Environment of a Unix Process

More information

Babu Madhav Institute of Information Technology, UTU

Babu Madhav Institute of Information Technology, UTU 5 Years Integrated M.Sc.(IT) Semester 6 Question Bank 060010601 UNIX Internals Unit 1: Introduction and Overview of UNIX Answer following in short 1. What is system call? 2. Who are principal designer

More information

II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017

II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017 CSE/IT 223 (CR) Total No. of Questions :09] [Total No. of Pages : 02 II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC-2017 Second Semester CSE/IT COMPUTER ORGANIZATION Time: Three Hours Answer Question No.1

More information

Advanced Unix Concepts. Satyajit Rai

Advanced Unix Concepts. Satyajit Rai Advanced Unix Concepts Advanced Unix Concepts Satyajit Rai March 17, 2003 March 22, 2003 KReSIT, IIT Bombay 1 Contents Contents Advanced Unix Concepts.......... 1 Contents.................. 2 Process Creation..............

More information

Automatic Text Processing

Automatic Text Processing Automatic Text Processing The Transformation, Analysis, and Retrieval of Information by Computer Gerard Salton Cornell University Technlsche Univerariat Darmstadt FACHBEREICH1NFORMATJK BIBLIOTHE.K Invented.:

More information

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

Introduction 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 information

Application Programming

Application Programming Multicore Application Programming For Windows, Linux, and Oracle Solaris Darryl Gove AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris

More information

COMPUTER AND ROBOT VISION

COMPUTER AND ROBOT VISION VOLUME COMPUTER AND ROBOT VISION Robert M. Haralick University of Washington Linda G. Shapiro University of Washington A^ ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California

More information

ADVANCED OPERATING SYSTEMS

ADVANCED OPERATING SYSTEMS ADVANCED OPERATING SYSTEMS UNIT 2 FILE AND DIRECTORY I/O BY MR.PRASAD SAWANT Prof.Prasad Sawant,Assitiant Professor,Dept. Of CS PCCCS Chichwad Prof.Prasad Sawant,Assitiant Professor,Dept. Of CS PCCCS Chichwad

More information

Mastering Linux. Paul S. Wang. CRC Press. Taylor & Francis Group. Taylor & Francis Croup an informa business. A CHAPMAN St HALL BOOK

Mastering Linux. Paul S. Wang. CRC Press. Taylor & Francis Group. Taylor & Francis Croup an informa business. A CHAPMAN St HALL BOOK Mastering Linux Paul S. Wang CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an Imprint of the Taylor & Francis Croup an informa business A CHAPMAN St HALL BOOK Contents Preface

More information

The Unified Modeling Language User Guide

The Unified Modeling Language User Guide The Unified Modeling Language User Guide Grady Booch James Rumbaugh Ivar Jacobson Rational Software Corporation TT ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

File I/O - Filesystems from a user s perspective

File I/O - Filesystems from a user s perspective File I/O - Filesystems from a user s perspective Unix Filesystems Seminar Alexander Holupirek Database and Information Systems Group Department of Computer & Information Science University of Konstanz

More information

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University Architectural Support for Operating Systems Jinkyu Jeong ( jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic services of OS Basic computer system

More information

Virtual File System. Don Porter CSE 306

Virtual File System. Don Porter CSE 306 Virtual File System Don Porter CSE 306 History Early OSes provided a single file system In general, system was pretty tailored to target hardware In the early 80s, people became interested in supporting

More information

An Introduction to Search Engines and Web Navigation

An Introduction to Search Engines and Web Navigation An Introduction to Search Engines and Web Navigation MARK LEVENE ADDISON-WESLEY Ал imprint of Pearson Education Harlow, England London New York Boston San Francisco Toronto Sydney Tokyo Singapore Hong

More information

Sistemas Operativos /2016 Support Document N o 1. Files, Pipes, FIFOs, I/O Redirection, and Unix Sockets

Sistemas Operativos /2016 Support Document N o 1. Files, Pipes, FIFOs, I/O Redirection, and Unix Sockets Universidade de Coimbra Departamento de Engenharia Electrotécnica e de Computadores Sistemas Operativos - 2015/2016 Support Document N o 1 Files, Pipes, FIFOs, I/O Redirection, and Unix Sockets 1 Objectives

More information

Files and Directories Filesystems from a user s perspective

Files and Directories Filesystems from a user s perspective Files and Directories Filesystems from a user s perspective Unix Filesystems Seminar Alexander Holupirek Database and Information Systems Group Department of Computer & Information Science University of

More information

OPERATING SYSTEMS OVERVIEW. Operating Systems 2015 Spring by Euiseong Seo

OPERATING SYSTEMS OVERVIEW. Operating Systems 2015 Spring by Euiseong Seo OPERATING SYSTEMS OVERVIEW Operating Systems 2015 Spring by Euiseong Seo What is an Operating System? A program that acts as an intermediary between a user of a computer and computer hardware Operating

More information

Architectural Support for OS

Architectural Support for OS Architectural Support for OS Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu)

More information

Architectural Support for Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Architectural Support for Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Architectural Support for Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic structure of OS Basic computer

More information

Operating Systems 2010/2011

Operating Systems 2010/2011 Operating Systems 2010/2011 Signals Johan Lukkien 1 Signals A signal is a software generated event notification of state change encapsulation of physical event usually: sent from a process to a process

More information

Dr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year

Dr. Rafiq Zakaria Campus. Maulana Azad College of Arts, Science & Commerce, Aurangabad. Department of Computer Science. Academic Year Dr. Rafiq Zakaria Campus Maulana Azad College of Arts, Science & Commerce, Aurangabad Department of Computer Science Academic Year 2015-16 MCQs on Operating System Sem.-II 1.What is operating system? a)

More information

Overview. Last Lecture. This Lecture. Daemon processes and advanced I/O functions

Overview. Last Lecture. This Lecture. Daemon processes and advanced I/O functions Overview Last Lecture Daemon processes and advanced I/O functions This Lecture Unix domain protocols and non-blocking I/O Source: Chapters 15&16&17 of Stevens book Unix domain sockets A way of performing

More information

Process. Program Vs. process. During execution, the process may be in one of the following states

Process. Program Vs. process. During execution, the process may be in one of the following states What is a process? What is process scheduling? What are the common operations on processes? How to conduct process-level communication? How to conduct client-server communication? Process is a program

More information

RCU. ò Dozens of supported file systems. ò Independent layer from backing storage. ò And, of course, networked file system support

RCU. ò Dozens of supported file systems. ò Independent layer from backing storage. ò And, of course, networked file system support Logical Diagram Virtual File System Don Porter CSE 506 Binary Formats RCU Memory Management File System Memory Allocators System Calls Device Drivers Networking Threads User Today s Lecture Kernel Sync

More information

Unix System Programming - Chapter 8

Unix System Programming - Chapter 8 Unix System Programming - Chapter 8 Neal Nelson The Evergreen State College Apr 2010 USP Chapter 8 - Signals Section 8.1 - Basic Signal Concepts Section 8.2 - Generating Signals Section 8.3 - Signal Masks

More information

Contents. * All rights reserved, Tei-Wei Kuo, National Taiwan University, 2003.

Contents. * 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 information

11/3/71 SYS BREAK (II)

11/3/71 SYS BREAK (II) 11/3/71 SYS BREAK (II) break -- set program break SYNOPSIS sys break; addr / break = 17. break sets the system s idea of the highest location used by the program to addr. Locations greater than addr and

More information

Chapter 8: I/O functions & socket options

Chapter 8: I/O functions & socket options Chapter 8: I/O functions & socket options 8.1 Introduction I/O Models In general, there are normally two phases for an input operation: 1) Waiting for the data to arrive on the network. When the packet

More information

Standards / Extensions C or C++ Dependencies POSIX.1 XPG4 XPG4.2 Single UNIX Specification, Version 3

Standards / Extensions C or C++ Dependencies POSIX.1 XPG4 XPG4.2 Single UNIX Specification, Version 3 read() Read From a File or Socket z/os V1R10.0 XL C/C++ Run-Time Library Reference SA22-7821-10 Standards Standards / Extensions C or C++ Dependencies POSIX.1 XPG4 XPG4.2 Single UNIX Specification, Version

More information

CS631 - Advanced Programming in the UNIX Environment

CS631 - Advanced Programming in the UNIX Environment CS631 - Advanced Programming in the UNIX Environment Slide 1 CS631 - Advanced Programming in the UNIX Environment Files and Directories Department of Computer Science Stevens Institute of Technology Jan

More information

Mastering OSF/Motif Widgets

Mastering OSF/Motif Widgets Mastering OSF/Motif Widgets SECOND EDITION Donald L McMinds TV Addison-Wesley Publishing Company, Inc. Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam

More information

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files

CSC209: 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 information

CSC209: Software tools. Unix files and directories permissions utilities/commands Shell programming quoting wild cards files. Compiler vs.

CSC209: 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 information

Integrated Approach. Operating Systems COMPUTER SYSTEMS. LEAHY, Jr. Georgia Institute of Technology. Umakishore RAMACHANDRAN. William D.

Integrated Approach. Operating Systems COMPUTER SYSTEMS. LEAHY, Jr. Georgia Institute of Technology. Umakishore RAMACHANDRAN. William D. COMPUTER SYSTEMS An and Integrated Approach f Architecture Operating Systems Umakishore RAMACHANDRAN Georgia Institute of Technology William D. LEAHY, Jr. Georgia Institute of Technology PEARSON Boston

More information

Interprocess Communication. Originally multiple approaches Today more standard some differences between distributions still exist

Interprocess Communication. Originally multiple approaches Today more standard some differences between distributions still exist Interprocess Communication Originally multiple approaches Today more standard some differences between distributions still exist Pipes Oldest form of IPC provided by all distros Limitations Historically

More information

Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)

Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering) A. Multiple Choice Questions (60 questions) Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering) Unit-I 1. What is operating system? a) collection of programs that manages hardware

More information

INTRODUCTION TO THE UNIX FILE SYSTEM 1)

INTRODUCTION TO THE UNIX FILE SYSTEM 1) INTRODUCTION TO THE UNIX FILE SYSTEM 1) 1 FILE SHARING Unix supports the sharing of open files between different processes. We'll examine the data structures used by the kernel for all I/0. Three data

More information

Reconstructive Software

Reconstructive Software Reconstructive Software Archaeology Warren Toomey School of IT, Bond University This is a case study in restoring the 1st Edition of UNIX from 1971. The restoration is interesting in itself, but it also

More information

Unix Systems Programming In a Nutshell

Unix Systems Programming In a Nutshell Unix Systems Programming In a Nutshell Unix presents a huge set of interfaces to the systems programmer. However, much of this complexity can be tamed by understanding several fundamental abstractions

More information

CS631 - Advanced Programming in the UNIX Environment. Dæmon processes, System Logging, Advanced I/O

CS631 - Advanced Programming in the UNIX Environment. Dæmon processes, System Logging, Advanced I/O CS631 - Advanced Programming in the UNIX Environment Slide 1 CS631 - Advanced Programming in the UNIX Environment Dæmon processes, System Logging, Advanced I/O Department of Computer Science Stevens Institute

More information

CSCI 4500/8506 Operating Systems Some UNIX System Calls, Library, and PThreads Functions

CSCI 4500/8506 Operating Systems Some UNIX System Calls, Library, and PThreads Functions CSCI 4500/8506 Operating Systems Some UNIX System Calls, Library, and PThreads Functions Described below is a subset of UNIX system calls, library functions, and Pthreads (that is, POSIX Threads) functions.

More information

for Operating Systems Computer Systems Laboratory Sungkyunkwan University

for Operating Systems Computer Systems Laboratory Sungkyunkwan University Architectural t Support for Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic computer system architecture

More information

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 19

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2017 Lecture 19 CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2017 Lecture 19 LAST TIME Introduced UNIX signals A kernel facility that provides user-mode exceptional control flow Allows many hardware-level exceptions

More information

Appendix A: FreeBSD. Operating System Concepts 9 th Edition

Appendix A: FreeBSD. Operating System Concepts 9 th Edition Appendix A: FreeBSD Operating System Concepts 9 th Edition Silberschatz, Galvin and Gagne 2013 Module A: The FreeBSD System UNIX History Design Principles Programmer Interface User Interface Process Management

More information

VI SEMESTER. MANAGEMENT AND ENTREPRENEURSHIP (Common to All Branches)

VI SEMESTER. MANAGEMENT AND ENTREPRENEURSHIP (Common to All Branches) VI SEMESTER MANAGEMENT AND ENTREPRENEURSHIP (Common to All Branches) Subject Code: 10AL61 I.A. Marks : 25 UNIX SYSTEM PROGRAMMING Subject Code: 10CS62 I.A. Marks : 25 PART - A UNIT 1 Introduction: UNIX

More information

Computers as Components Principles of Embedded Computing System Design

Computers as Components Principles of Embedded Computing System Design Computers as Components Principles of Embedded Computing System Design Third Edition Marilyn Wolf ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY

More information

Advanced Unix/Linux System Program. Instructor: William W.Y. Hsu

Advanced Unix/Linux System Program. Instructor: William W.Y. Hsu Advanced Unix/Linux System Program Instructor: William W.Y. Hsu CONTENTS Process Groups Sessions Signals 5/10/2018 INTRODUCTION TO COMPETITIVE PROGRAMMING 2 Login process 5/10/2018 ADVANCED UNIX/LINUX

More information

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve? What is an Operating System? A Whirlwind Tour of Operating Systems Trusted software interposed between the hardware and application/utilities to improve efficiency and usability Most computing systems

More information

Basic POSIX signal concepts

Basic POSIX signal concepts Basic POSIX signal concepts Last modification date: 02.11.2015 Note: The material does not cover real-time signal generation/delivery and thread-specific signal handling 1 POSIX signal Signal - a mechanism

More information