Department of Computer Application SRM University MC0618 Unix and Network Programming
|
|
- Elvin Garrett
- 6 years ago
- Views:
Transcription
1 Expt. No. : 01 File Copy Aim file. To Write a unix networking program to copy the content of one file to another Algorithm Step 1 Declare the file descriptors fd1,fd2, buffer, character variable c. Step 2 Step 3 Step 4 Step 5 Call Open function to open file1, and assign the file descriptor value to fd1. Call Open function to open file2, and assign the file descriptor value to fd2. Repeat 4.1 Call read for fd1 until an error occurred or null value returned. 4.2 Call write for fd2 until an error occurred or a null value returned. Stop.
2 Program #include<sys/stat.h> #include<sys/types.h> #include<fcntl.h> #include<stdio.h> #include<unistd.h> int main(int argc,char *argv[]) int fd1,fd2,n; char c,buff[10]; if(argc<3 argc>3) printf("error copy source file,destination file\n"); return 0; fd1=open(argv[1],o_rdonly); if(fd1<0) printf("source file does not exit"); return 0; fd2=open(argv[2],o_wronly O_CREAT O_EXCL 0644); if(fd2<0) printf("destination file exists overwrite(y/n)"); scanf("%c",&c); if(c=='n') printf("file not copied"); return 0; else
3 fd2=open(argv[2],o_wronly O_CREAT 0644); while((n=read(fd1,buff,10))>0) write(fd2,buff,n); printf("file copied successfully\n"); close(fd1); close(fd2); OutPut : [mca08009@mcalinux amit09]$ cc filecopy.c [mca08009@mcalinux amit09]$./a.out filecopy.c file1.c File Copied Successfully. [mca08009@mcalinux amit09]$
4 Expt. No. : 02 Appending the File Aim file. To Write a unix networking program to append the content of one file to another Algorithm Step 1 Declare the file descriptors fd1, buffer, character variable c. Step 2 Step 3 Step 4 Step 5 Call Open function to open file1 in O_APPEND mode, and assign the file descriptor value to fd1. Call read for fd1 until an error occurred or null value returned Repeat 4.1 Read data from user until break key is pressed. 4.2 Call write for fd2. Stop.
5 Program #include<sys/stat.h> #include<sys/types.h> #include<stdio.h> #include<fcntl.h> #include<unistd.h> int main(int argc,char *argv[]) int fd; char buff[100]; if(argc>3 argc<3) printf("error.the file can not be appended"); eturn 0; fd=(argv[1],o_wronly O_APPEND); if(fd<0) printf("file does not exist"); return 0; else int i=0; printf("enter text to append file"); do scanf("%c",&buff[i]); if(buff[i]=='.') break; i++; while(1); write(fd,buff,i); printf("text appended successfully");
6 return 0; close(fd); OutPut : Department of Computer Application [mca08009@mcalinux amit09]$cc appnd.c [mca08009@mcalinux amit09]$./a.out appnd.c file1.c Enter text to append file : Hi, this is amit mukherjee. Text appended successfully. [mca08009@mcalinux amit09]$
7 Type of The File Expt. No. : 03 Aim To Write a unix networking program to find the type of the file. Algorithm Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Declare the file descriptors fd1,stat type of buffer variable Call Open function to open file1, and assign the file descriptor value to fd1. Call lstat( ) function for fd1 to map stat structure for fd1. Check the file type using the st_mode member of fd1, Using different S_IS. Operations. Write the relevant file type. Stop.
8 Expt. No. : 03 Type of The File Program #include<stdio.h> #include<sys/stat.h> #include<sys/types.h> #include<unistd.h> #include<fcntl.h> int main(int argc, char *argv[]) int i; struct stat buf; char *ptr; printf("\n Finding file types \n"); for(i=1;i<argc ;i++) printf("\n Type of file \n"); printf("%s",argv[i]); if(lstat(argv[i], &buf)<0) printf("\n lstat user."); continue; if(s_isreg(buf.st_mode)) ptr="regular File"; else if(s_isdir(buf.st_mode)) ptr="directory File"; else if(s_ischr(buf.st_mode)) ptr="character File"; else if(s_isblk(buf.st_mode)) ptr="block File";
9 else if(s_isfifo(buf.st_mode)) ptr="fifo"; else if(s_islnk(buf.st_mode)) ptr="symbolic Link File"; else if(s_issock(buf.st_mode)) ptr="socket File"; else ptr="unknown File"; printf(" "); printf("\n\n%s\n\n",ptr); return 0; OutPut : [mca08009@mcalinux amit09]$ cc file_type.c [mca08009@mcalinux amit09]$./a.out file_type.c Finding file types Type of file file_type.c REgular File [mca08009@mcalinux amit09]$
10 Size of The Directory Expt. No. : 04 Aim To Write a unix networking program to find the size of the Directory. Algorithm Step 1. Step 2 Step 3 Step 4 Step 5 Step 6 Declare the stat type of buf, integer type of size and assign 0, i, bs, dirent type of *disp, DIR type of *dp variables. Call Opendir function to open directory, and assign the directory pointer to dp. Call readdir( ) function for dp, and assign the pointer value to disp. Call stat function for dip pointer, Assign the value of disp.st_size to variable size Write the value of size. Stop.
11 Expt. No. : 04 Size of The Directory Program #include<stdio.h> #include<sys/stat.h> #include<fcntl.h> #include<sys/types.h> #include<dirent.h> main() struct stat buf; int size=0, i=1, bs; struct dirent *disp; DIR *dp; dp=opendir((char *)get_current_dir_name()); if(dp==null) printf("\n Error."); return 0; while((disp=readdir(dp))!=null) stat(disp->d_name,&buf); size=size+(int)(buf.st_size); printf("\n Size of the directory :%d\n\n",size); closedir(dp);
12 OutPut : [mca08009@mcalinux amit09]$ cc size_dir.c [mca08009@mcalinux amit09]$./a.out size_dir.c Size of the directory :24177 [mca08009@mcalinux amit09]$ Expt. No. : 05 List of directories
13 Aim To Write a unix networking program to list the directories. Algorithm Step 1. Step 2 Step 3 Step 4 Declare the stat type of buf, integer type of size and assign 0, i, bs, dirent type of *disp, DIR type of *dp variables. Call Opendir function to open directory, and assign the directory pointer to dp. Call readdir( ) function for dp, and assign the pointer value to disp. Call stat function for dip pointer, Step 5 Step 6 Repeat Write the value of disp.st_names until end of directory. Stop. --
14 List Of Directories Program #include<stdio.h> #include<sys/stat.h> #include<fcntl.h> #include<sys/types.h> #include<dirent.h> int main() DIR *dp; struct dirent *disp; int i=1; dp=opendir((char *)get_current_dir_name()); if(dp==null) printf("\nimplementation of ls Command.\n"); return 0; while((disp=readdir(dp))!=null) printf("\n file %d;-%s",i,disp->d_name); i++; close(dp);
15 OutPut : [mca08009@mcalinux amit09]$ cc list_dir.c [mca08009@mcalinux amit09]$./a.out list_dir.c file 1;-size_dir.c file 2;-P25 file 3;-blk_signal file 4;-file_type.c file 5;-fork.c file 6;-blk_signal.c file 7;-P24 file 8;-nikks file 9;-\ file 10;-time.c file 11;-jump.c file 12;-pipe.c file 13;-a.out file 14;-fifo.c file 15;-signal.c file 16;-sleep.c file 17;-list_dir.c file 18;-list_dir.cclear file 19;-.. file 20;-.[mca08009@mcalinux amit09]$ -
16 Ex.No.6 Current Date And Time Aim To Write a unix networking program to display current date and time. Algorithm Step 1 Step 2 Declare the tm structure pointer variable *ptr; char type of s[25], time_t structure type of t. Call local time function to convert the time structure as system defined. Step 3 Call strftime function to convert to display format and assign to s. Step 4 Step 5 Display s Stop.
17 Expt. No. : 06 Current Date And Time #include<time.h> #include<stdio.h> #include<unistd.h> main() struct tm *ptr; char s[25]; time_t t; time(&t); printf("\n\ncurrent Date And Time :"); ptr=localtime(&t); strftime(s,25,"%x, %X %p",ptr); printf("%s\n\n",s); OutPut : [mca08009@mcalinux amit09]$ cc time.c [mca08009@mcalinux amit09]$./a.out time.c Current Date And Time :03/16/10, 23:37:16 PM [mca08009@mcalinux amit09]$ Ex.No.7 Implementation of set jump and long jump
18 Aim To Write a unix networking program to demonstrate the use of setjump and longjump fuctions Algorithm Step 1 Step 2 Declare globaly jmp_buf type of jmpbuffer,the function void cmd_add(void). Call setjump in main function by giving jumbuffer value as positive value Step 3 Call langjumb function in sub function. Step 4 Step 5 Display message Stop. Implementation of setjmp And longjmp Function
19 Program #include<stdio.h> #include<unistd.h> #include<sys/stat.h> #include<setjmp.h> #include<sys/types.h> jmp_buf jmpbuffer; void cmd_add(void); int main(void) if(setjmp(jmpbuffer)!=0) printf("error."); cmd_add(); return 0; void cmd_add(void) int f1,f2; printf("\n Enter First No.:"); scanf("%d",&f1); printf("\n Enter Second No. :"); scanf("%d",&f2); if(f2<0) longjmp(jmpbuffer,1); printf("result :%d\n\n",f1+f2); OutPut : [mca08009@mcalinux amit09]$ cc jump.c [mca08009@mcalinux amit09]$./a.out jump.c Enter First No.:5
20 Enter Second No. :6 Result :11 Department of Computer Application amit09]$ Ex.No.8 Aim Implementation of fork function To Write a unix networking program to demonstrate the use of fork function
21 Algorithm Step 1 Step 2 Step 3 Call fork function, assign the return value to pid check pid 2.1 Invoke child process for pid is Invoke papernt process for pid not 0. Stop Expt. No. : 08 Implementation of Fork Function
22 Program #include<stdio.h> #include<unistd.h> #include<sys/stat.h> int a=0, b=20; int main() int pid; printf("\n Process Before Fork. :"); printf("\n "); printf("\na=%d,b=%d",a,b); printf("\n\n\n\nafter Fork. :"); printf("\n "); pid=fork(); if(pid==0) a++;b++; printf("\n\nchild Processd."); printf("\n "); printf("\na=%d,b=%d\n",a,b); else a--;b--; printf("\n\nparent Process."); printf("\n "); printf("\na=%d,b=%d\n\n",a,b); return 0;
23 OutPut : [mca08009@mcalinux amit09]$ cc fork.c [mca08009@mcalinux amit09]$./a.out fork.c Process Before Fork. : A=0,B=20 After Fork. : Child Processd A=1,B= Parent Process A=-1,B=19 [mca08009@mcalinux amit09]$ Expt. No. : 09 Implementation of Signal Aim To Write a unix networking program to demonstrate the use of signal ( ) function
24 Algorithm Step 1 Step 2 Step 3 Call signal ( ) function, with parameter value SIGINT, SIGQUIT, SIGFPE Define sub processes Stop Expt. No. : 09 Implementation of Signal Program #include<stdio.h> #include<signal.h>
25 void add(int sig); void mul(int sig); void sub(int sig); int a,b; int main() printf("enter the value of a and b:"); scanf("%d%d",&a,&b); if (signal(sigint,add)==sig_err) printf("\nthe SIgnal error for addition"); if(signal(sigquit,mul)==sig_err) printf("\nsignal Error for multiplication."); if(signal(sigfpe,sub)==sig_err) printf("\nsignal Error for Subtraction."); for(;;) void add(int sig) printf("\nsigint signal is generated."); printf("\nthe value of addition=%d\n",a+b); signal(sigint,sig_dfl); void mul(int sig) printf("\nsigquit signal is generated."); printf("\nthe value after multiplication=%d\n",a*b); signal(sigquit,sig_dfl); void sub(int sig)
26 printf("\nsigfpe signal is generated."); printf("\nthe value after Subtraction=%d\n",a-b); signal(sigfpe,sig_dfl); OutPut : [mca08009@mcalinux amit09]$ cc signal.c [mca08009@mcalinux amit09]$./a.out signal.c Enter the value of a and b:5 4 Ctrl+c SIGINT signal is generated. The value of addition=9 Ctrl+\ SIGQUIT signal is generated. The value after multiplication=20 Blocking Signal Expt. No. : 10 Aim To Write a unix networking program to demonstrate blocking of signal and releasing
27 Algorithm Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Declar newmask, oldmask, penmask of type sigset_t Call sigemtyset for newmask to clear the signal set. Call sigaddset for the signal entered newly Call sigprocmask for newmask signal set by enabling SIG_BLOCK check the signal is in pending list by calling SIGPENDING Call Sigprocmask for oldmask set with parameter value as SIG_SETMASK. Display the message signal unblocked. Stop Expt. No. : 10 Blocking Signal Programs #include<stdio.h> #include<signal.h> #include<unistd.h>
28 #include<fcntl.h> void sigquit(int signo) printf("caught Sigquit."); signal(sigquit,sig_dfl); return; int main() sigset_t newmask, oldmask,penmask; signal(sigquit,sigquit); sigemptyset(&newmask); sigaddset(&newmask,sigquit); sigprocmask(sig_block,&newmask,&oldmask); sleep(5); sigpending(&penmask); if(sigismember(&penmask,sigquit)) printf("sigquit"); sigprocmask(sig_setmask,&oldmask,null); printf("sigquit is unblocked"); return(0); OutPut : [mca08009@mcalinux amit09]$./a.out blk_signal.c SIGQUIT is unblocked [mca08009@mcalinux amit09]$ Expt. No. : 11 #include<stdio.h> #include<signal.h> #include<time.h> #include<sys/stat.h> Implementation of Sleep Function
29 #include<sys/types.h> void sig_alarm(int); Department of Computer Application void main() int sec; printf("enter the seconds. :"); scanf("%d",&sec); sleep(sec); int sleep( int nsec) if(signal(sigalrm,sig_alarm)==sig_err) return (nsec); alarm(nsec); pause(); return; void sig_alarm(int signo) printf("alarm Delivered\n\n"); return; OutPut : [mca08009@mcalinux amit09]$ cc sleep.c [mca08009@mcalinux amit09]$./a.out sleep.c Enter the seconds. :3 Alarm Delivered Expt. No. : 12 #include<stdio.h> #include<fcntl.h> #include<sys/stat.h> void main() Implementation of Pipe
30 int p[2],pid; char c='a',d; pipe(p); pid=fork(); if(pid==0) close(p[0]); write(p[1],&c,1); printf("chlid Writes %c",c); else close(p[1]); read(p[0],&d,1); printf("\n Parent Reads %c",d); OutPut: amit09]$ cc pipe.c amit09]$./a.out pipe.c Chlid Writes A Parent Reads A Expt. No. : 13 #include<stdio.h> #include<fcntl.h> #include<sys/stat.h> Implementation of FIFO
31 void main() char b='x',d; int wfd,rfd; mkfifo("p25",o_creat 0644); if(fork()==0) wfd=open("p25",o_wronly); if(write(wfd,&b,1)==-1) printf("write Error."); else printf("\n Child Writes %c",b); rfd=open("p25",o_rdonly); if(read(rfd,&d,1)==-1) printf("\n Read Error."); printf("\n Parent Reads %c",d); printf("\n\n"); OutPut : [mca08009@mcalinux amit09]$ cc fifo.c [mca08009@mcalinux amit09]$./a.out fifo.c Child Writes x Parent Reads x
32 Expt. No. : 14 #include<sys/msg.h> #include<sys/types.h> #include<sys/ipc.h> #include<stdio.h> #include<string.h> #include<malloc.h> Message Queue
33 int main() struct msg long mtype; char mtext[20]; *mbuf; key_t msgid; int ch,t,no; char temp[20]; msgid=msgget((key_t)009,ipc_creat 0666); mbuf=malloc(sizeof(struct msg)); do printf("\n 1. Send msg\n 2. Receive msg \n 3.Exit"); printf("enter your choice"); scanf("%d",&ch); fflush(stdin); switch(ch) case 1: printf("enter the msg "); scanf("%s",temp); strcpy(mbuf->mtext,temp); fflush(stdin); printf("\n Enter the type of msg "); scanf("%d",&mbuf->mtype); /* printf("%d",msgid);*/ t=msgsnd(msgid,mbuf,10,ipc_nowait); if (t<0) printf("\n Error"); break; case 2: printf("\n Enter the msg no:"); scanf("%d",&no); t=msgrcv(msgid,mbuf,20,0,ipc_nowait); if(t<0) printf("\n Error in receiving ");
34 else printf("msg received :%s\n,mbuf->mtext"); break; case 3: return 0; while(ch!=3); return 0; OutPut : [mca08009@mcalinux amit09]$cc msg_q.c [mca08009@mcalinux amit09]$./a.out msg_q.c 1. Send msg 2. Receive msg 3. Exit Enter your choice :1 Enter the msg :Amit Mukherjee Enter the type of msg :1 Enter your choice :2 Enter the msg no. :1 Message Received Amit Mukherjee [mca08009@mcalinux amit09]$
MC7412 NETWORK PROGRAMMING LABORATORY L T P C
MC7412 NETWORK PROGRAMMING LABORATORY L T P C0 0 3 2 1. Implementation of File System Calls 2. Implementation of ICP Techniques Pipe, Message Queue, Shared Memory 3. Socket Programming a) TCP Sockets b)
More informationPreview. The pause() System Call. The pause() System Call. The signal() System Call 10/18/2017
Preview The pause() System Call The pause() System call The signal() system call Signal set The sigprocmask() system call The sigaction() system call The sigsuspend() system call The abort() system call
More informationUNIVERSITY OF TORONTO SCARBOROUGH Computer and Mathematical Sciences. APRIL 2016 EXAMINATIONS CSCB09H3S Software Tools & Systems Programming
UNIVERSITY OF TORONTO SCARBOROUGH Computer and Mathematical Sciences APRIL 2016 EXAMINATIONS CSCB09H3S Software Tools & Systems Programming Instructor: Bianca Schroeder and Naureen Nizam Duration: 3 hours
More informationCSC 271 Software I: Utilities and Internals
CSC 271 Software I: Utilities and Internals Lecture 13 : An Introduction to File I/O in Linux File Descriptors All system calls for I/O operations refer to open files using a file descriptor (a nonnegative
More informationNETWORK AND SYSTEM PROGRAMMING
NETWORK AND SYSTEM PROGRAMMING Objectives: IPC using PIPE IPC using FIFO LAB 06 IPC(Inter Process Communication) PIPE: A pipe is a method of connecting the standard output of one process to the standard
More informationPLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science
PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science APRIL EXAMINATIONS 2007 CSC 209H1 S St. George Campus Duration 3 hours PLEASE HAND IN Examination aids: One 8.5 x 11 sheet of paper (double-sided)
More informationCS Operating Systems Lab 3: UNIX Processes
CS 346 - Operating Systems Lab 3: UNIX Processes Due: February 15 Purpose: In this lab you will become familiar with UNIX processes. In particular you will examine processes with the ps command and terminate
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 informationSignals. CSC209: Software Tools and Systems Programming. Furkan Alaca & Paul Vrbik
Signals CSC209: Software Tools and Systems Programming Furkan Alaca & Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Week 9 Acknowledgement These slides are built upon material
More informationUNIX System Calls. Sys Calls versus Library Func
UNIX System Calls Entry points to the kernel Provide services to the processes One feature that cannot be changed Definitions are in C For most system calls a function with the same name exists in the
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 informationSignals and Signal Handling - Part 2
Signals and Signal Handling - Part 2 Dept. of Computer Science & Engineering 1 Some Other System Calls kill( ), raise( ) kill( ) sends a signal to a process or a group of process. raise( )sends a signal
More informationSOFTWARE ARCHITECTURE 3. SHELL
1 SOFTWARE ARCHITECTURE 3. SHELL Tatsuya Hagino hagino@sfc.keio.ac.jp slides URL https://vu5.sfc.keio.ac.jp/sa/login.php 2 Software Layer Application Shell Library MIddleware Shell Operating System Hardware
More informationCSC209H Lecture 8. Dan Zingaro. March 4, 2015
CSC209H Lecture 8 Dan Zingaro March 4, 2015 Signals you Already Know Like pipes, signals are a form of inter-process communication You ve already sent signals using the shell When you hit ctrl+c to terminate
More informationCSC209H Lecture 7. Dan Zingaro. February 25, 2015
CSC209H Lecture 7 Dan Zingaro February 25, 2015 Inter-process Communication (IPC) Remember that after a fork, the two processes are independent We re going to use pipes to let the processes communicate
More informationstructs as arguments
Structs A collection of related data items struct record { char name[maxname]; int count; ; /* The semicolon is important! It terminates the declaration. */ struct record rec1; /*allocates space for the
More informationPrepared by Prof. Hui Jiang (COSC3221) 2/9/2007
1 * * ' &% $ # " "! 4 ' Prepared by Prof Hui Jiang COSC1 /9/007 / 0 How CPU is used? Users run programs in CPU In a multiprogramming system a CPU always has several jobs to run How to define a CPU job?
More informationProcesses. Processes (cont d)
Processes UNIX process creation image-file arg1 arg2 Shell command line example ls -l Equivalent to /bin/ls -l Why? How do you find out where the image file is? Background processes ls -l & Execute a process
More informationLecture 23: System-Level I/O
CSCI-UA.0201-001/2 Computer Systems Organization Lecture 23: System-Level I/O Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified) from: Clark Barrett
More informationCSci 4061 Introduction to Operating Systems. (Advanced Control Signals)
CSci 4061 Introduction to Operating Systems (Advanced Control Signals) What is a Signal? Signals are a form of asynchronous IPC Earlier: Non-blocking I/O and check if it has happened => polling Problem
More informationPreview. Process Control. What is process? Process identifier The fork() System Call File Sharing Race Condition. COSC350 System Software, Fall
Preview Process Control What is process? Process identifier The fork() System Call File Sharing Race Condition COSC350 System Software, Fall 2015 1 Von Neumann Computer Architecture: An integrated set
More informationUNIX System Programming. Overview. 2. Signal Types (31 in POSIX) Signal Sources. Signals. 1. Definition
UNIX System Programming Signals Objectives Introduce signals Concentrate on sigaction() function 1730 UNIX System Programming Signals Maria Hybinette 1 Overview 1. Definition 2. Signal Types 3. Generating
More informationMatt Ramsay CS 375 EXAM 2 Part 1
Matt Ramsay CS 375 EXAM 2 Part 1 Output: csserver:/home/mr56/cs375/exam2 > parent 1 75000 Multiples of 3 between 3 and 15000 add to 37507500 This total written to /home/mr56/tmp/file8771.out Multiples
More informationComputer Systems Assignment 2: Fork and Threads Package
Autumn Term 2018 Distributed Computing Computer Systems Assignment 2: Fork and Threads Package Assigned on: October 5, 2018 Due by: October 12, 2018 1 Understanding fork() and exec() Creating new processes
More informationOperating Systems Lab
Operating Systems Lab Islamic University Gaza Engineering Faculty Department of Computer Engineering Fall 2012 ECOM 4010: Operating Systems Lab Eng: Ahmed M. Ayash Lab # 3 Fork() in C and C++ programming
More informationParameter Passing in C. Pointer Arithmetic. Parameter Passing in C. Pointer Arithmetic. Pointer Arithmetic. Tevfik Ko!ar
CSC 4304 - Systems Programming Fall 2008 Parameter Passing in C Lecture - XII Midterm Review Tevfik Ko!ar Louisiana State University October 14 th, 2008 1 2 Parameter Passing in C Pointer Arithmetic 3
More informationWorkshop on Inter Process Communication Solutions
Solutions 1 Background Threads can share information with each other quite easily (if they belong to the same process), since they share the same memory space. But processes have totally isolated memory
More informationSystem- Level I/O. Andrew Case. Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron
System- Level I/O Andrew Case Slides adapted from Jinyang Li, Randy Bryant and Dave O Hallaron 1 Unix I/O and Files UNIX abstracts many things into files (just a series of bytes) All I/O devices are represented
More informationCS240: Programming in C
CS240: Programming in C Lecture 15: Unix interface: low-level interface Cristina Nita-Rotaru Lecture 15/Fall 2013 1 Streams Recap Higher-level interface, layered on top of the primitive file descriptor
More informationUNIX System Programming. Overview. 1. A UNIX System. 2. Processes (review) 2.1. Context. Pipes/FIFOs
UNIX System Programming Pipes/FIFOs Overview 1. A UNIX System (review) 2. Processes (review) Objectives Look at UNIX support for interprocess communication (IPC) on a single machine Review processes pipes,
More informationCSE 333 SECTION 3. POSIX I/O Functions
CSE 333 SECTION 3 POSIX I/O Functions Administrivia Questions (?) HW1 Due Tonight HW2 Due Thursday, July 19 th Midterm on Monday, July 23 th 10:50-11:50 in TBD (And regular exercises in between) POSIX
More informationHomework 4 Answers. Due Date: Monday, May 27, 2002, at 11:59PM Points: 100. /* * macros */ #define SZBUFFER 1024 /* max length of input buffer */
Homework 4 Answers Due Date: Monday, May 27, 2002, at 11:59PM Points: 100 UNIX System 1. (10 points) How do I delete the file i? Answer: Either rm./-i or rm -- -i will work. 2. (15 points) Please list
More informationWhat is a Process. Preview. What is a Process. What is a Process. Process Instruction Cycle. Process Instruction Cycle 3/14/2018.
Preview Process Control What is process? Process identifier A key concept in OS is the process Process a program in execution Once a process is created, OS not only reserve space (in Memory) for the process
More informationOutline. File Systems. File System Structure. CSCI 4061 Introduction to Operating Systems
Outline CSCI 4061 Introduction to Operating Systems Instructor: Abhishek Chandra File Systems Directories File and directory operations Inodes and metadata Links 2 File Systems An organized collection
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto For more information please consult Advanced Programming in the UNIX Environment, 3rd Edition, W. Richard Stevens and
More informationPipes. Pipes Implement a FIFO. Pipes (cont d) SWE 545. Pipes. A FIFO (First In, First Out) buffer is like a. Pipes are uni-directional
Pipes SWE 545 Pipes Pipes are a way to allow processes to communicate with each other Pipes implement one form of IPC (Interprocess Communication) This allows synchronization of process execution There
More informationChapter 1. Introduction
Chapter 1. Introduction System Programming http://www.cs.ccu.edu.tw/~pahsiung/courses/sp 熊博安國立中正大學資訊工程學系 pahsiung@cs.ccu.edu.tw Class: EA-104 (05)2720411 ext. 33119 Office: EA-512 Textbook: Advanced Programming
More informationUNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING SOFTWARE ENGINEERING DEPARTMENT
OPERATING SYSTEM LAB #06 & 07 System Calls In UNIX System Call: A system call is just what its name implies a request for the operating system to do something on behalf of the user s program. Process related
More informationRecitation 8: Tshlab + VM
Recitation 8: Tshlab + VM Instructor: TAs 1 Outline Labs Signals IO Virtual Memory 2 TshLab and MallocLab TshLab due Tuesday MallocLab is released immediately after Start early Do the checkpoint first,
More informationLab 5: Inter-Process Communication
1. Objective Lab 5: Inter-Process Communication Study the inter-process communication 2. Syllabus Understanding the concepts and principle of inter-process communication Implementing the inter-process
More informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu CS@ECNU Operating System Labs Project 3 Oral test Handin your slides Time Project 4 Due: 6 Dec Code Experiment report Operating System Labs Overview of file system File
More informationComputer Science & Engineering Department I. I. T. Kharagpur. Operating System: CS rd Year CSE: 5th Semester (Autumn ) Lecture VII
Computer Science & Engineering Department I. I. T. Kharagpur Operating System: CS33007 3rd Year CSE: 5th Semester (Autumn 2006-2007) Lecture VII Goutam Biswas Date: 4th September, 2006 1 Signals Signals
More informationFile Descriptors and Piping
File Descriptors and Piping CSC209: Software Tools and Systems Programming Furkan Alaca & Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Week 8 Today s topics File Descriptors
More informationFile and Directories. Advanced Programming in the UNIX Environment
File and Directories Advanced Programming in the UNIX Environment stat Function #include int stat(const char *restrict pathname, struct stat *restrict buf ); int fstat(int fd, struct stat
More informationPreview. Process Termination. wait and waitpid() System Call. wait and waitpid() System Call. waitpid() System Call 10/23/2018
Preview Process Termination The waitpid() System Call The system() System Call Concept of Signals Linux Signals The signal System Call Unreliable Signals Signal() System Call The kill() and raise() System
More informationSystem Calls and I/O Appendix. Copyright : University of Illinois CS 241 Staff 1
System Calls and I/O Appendix Copyright : University of Illinois CS 241 Staff 1 More System Calls Directory and File System Management s = mkdir(name, mode) Create a new directory s = rmdir(name) s = link(name,
More informationNetwork Socket Programming - 1 BUPT/QMUL
Network Socket Programming - 1 BUPT/QMUL 2017-03-13 Review Basic network definitions Terms for Network Devices Terms for Network Performance Parameters Ways to connect to the Internet Terms for Network
More informationCS213. Exceptional Control Flow Part II. Topics Process Hierarchy Signals
CS213 Exceptional Control Flow Part II Topics Process Hierarchy Signals ECF Exists at All Levels of a System Exceptions Hardware and operating system kernel software Concurrent processes Hardware timer
More informationLecture 21 Systems Programming in C
Lecture 21 Systems Programming in C A C program can invoke UNIX system calls directly. A system call can be defined as a request to the operating system to do something on behalf of the program. During
More informationWindows architecture. user. mode. Env. subsystems. Executive. Device drivers Kernel. kernel. mode HAL. Hardware. Process B. Process C.
Structure Unix architecture users Functions of the System tools (shell, editors, compilers, ) standard library System call Standard library (printf, fork, ) OS kernel: processes, memory management, file
More informationPLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science
PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science DECEMBER EXAMINATIONS 2006 CSC 209H1 F St. George Campus Duration 3 hours PLEASE HAND IN Student Number: Examination aids: One 8.5 x 11
More informationGetting to know you. Anatomy of a Process. Processes. Of Programs and Processes
Getting to know you Processes A process is an abstraction that supports running programs A sequential stream of execution in its own address space A process is NOT the same as a program! So, two parts
More informationFinal Precept: Ish. Slides Originally Prepared by: Wonho Kim
Final Precept: Ish Slides Originally Prepared by: Wonho Kim Agenda Last time exec(), fork() wait() Today zombie, orphan process built-in commands in ish I/O redirection Unix signal Process Hierarchy Every
More informationCS240: Programming in C
CS240: Programming in C Lecture 17: Processes, Pipes, and Signals Cristina Nita-Rotaru Lecture 17/ Fall 2013 1 Processes in UNIX UNIX identifies processes via a unique Process ID Each process also knows
More informationIntroduction. Files. 3. UNIX provides a simple and consistent interface to operating system services and to devices. Directories
Working With Files Introduction Files 1. In UNIX system or UNIX-like system, all input and output are done by reading or writing files, because all peripheral devices, even keyboard and screen are files
More informationContents. IPC (Inter-Process Communication) Representation of open files in kernel I/O redirection Anonymous Pipe Named Pipe (FIFO)
Pipes and FIFOs Prof. Jin-Soo Kim( jinsookim@skku.edu) TA JinHong Kim( jinhong.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Contents IPC (Inter-Process Communication)
More informationCS24: 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 informationOperating Systems. Lecture 06. System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line
Operating Systems Lecture 06 System Calls (Exec, Open, Read, Write) Inter-process Communication in Unix/Linux (PIPE), Use of PIPE on command line March 04, 2013 exec() Typically the exec system call is
More informationEX. NO: 1 PROGRAM FOR SYSTEM CALLS OF UNIX OPERATING SYSTEMS (OPENDIR, READDIR, CLOSEDIR, FORK, GETPID, EXIT ETC)
EX. NO: 1 DATE: PROGRAM FOR SYSTEM CALLS OF UNIX OPERATING SYSTEMS (OPENDIR, READDIR, CLOSEDIR, FORK, GETPID, EXIT ETC) AIM: To write a c program for the following system calls of UNIX operating system,
More informationCOSC Operating Systems Design, Fall Lecture Note: Unnamed Pipe and Shared Memory. Unnamed Pipes
COSC4740-01 Operating Systems Design, Fall 2001 Lecture Note: Unnamed Pipe and Shared Memory Unnamed Pipes Pipes are a form of Inter-Process Communication (IPC) implemented on Unix and Linux variants.
More informationCOM324 System Programming. Midterm Exam
Name: COM324 System Programming Spring 2009-2010 Computer Engineering Department Near East University Midterm Exam April 28, 2010 [11:30A] Lecturer: Hüseyin Sevay INSTRUCTIONS You have 100 minutes for
More informationLast Week: ! Efficiency read/write. ! The File. ! File pointer. ! File control/access. This Week: ! How to program with directories
Overview Unix System Programming Directories and File System Last Week:! Efficiency read/write! The File! File pointer! File control/access This Week:! How to program with directories! Brief introduction
More informationIC221: Systems Programming 12-Week Written Exam [SOLUTIONS]
IC221: Systems Programming 12-Week Written Exam [SOLUTIONS] April 2, 2014 Answer the questions in the spaces provided on the question sheets. If you run out of room for an answer, continue on the back
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Information Sciences and Engineering
INTERNAL ASSESSMENT TEST 2 Solutions 1. Explain the working of the waitpid() API with the help of a program. The program needs to take 2 command line arguments: the first argument should be used as the
More informationDept. of CS, York Univ. 1
!#"$%&%!'()(* +-,/.)0 132547698;:9: =@?A#B;C5DCFEHGFIKJMLHNPOIQCFERG5S How CPU is used? Users run programs in CPU In a multiprogramming system, a CPU always has several jobs running together. How to
More informationLecture 8: Unix Pipes and Signals (Feb 10, 2005) Yap
Lecture 8: Unix Pipes and Signals (Feb 10, 2005) Yap February 17, 2005 1 ADMIN Our Grader will be Mr. Chien-I Liao (cil217@nyu.edu). Today s Lecture, we will go into some details of Unix pipes and Signals.
More informationPrepared by Prof. Hui Jiang Process. Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University
EECS3221.3 Operating System Fundamentals No.2 Process Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run
More informationProcess Creation in UNIX
Process Creation in UNIX int fork() create a child process identical to parent Child process has a copy of the address space of the parent process On success: Both parent and child continue execution at
More informationSystem Programming. Signals I
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 Signals
More informationUnited States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017
United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 1. Do a page check: you should have 8 pages including this cover sheet. 2. You have 50 minutes
More informationProcess. Prepared by Prof. Hui Jiang Dept. of EECS, York Univ. 1. Process in Memory (I) PROCESS. Process. How OS manages CPU usage? No.
EECS3221.3 Operating System Fundamentals No.2 Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University How OS manages CPU usage? How CPU is used? Users use CPU to run programs
More informationSignal Example 1. Signal Example 2
Signal Example 1 #include #include void ctrl_c_handler(int tmp) { printf("you typed CTL-C, but I don't want to die!\n"); int main(int argc, char* argv[]) { long i; signal(sigint, ctrl_c_handler);
More informationImplementation of Pipe under C in Linux. Tushar B. Kute,
Implementation of Pipe under C in Linux Tushar B. Kute, http://tusharkute.com Pipe We use the term pipe to mean connecting a data flow from one process to another. Generally you attach, or pipe, the output
More informationSystem Programming. Pipes I
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 Review Signals and files
More informationReading Assignment 4. n Chapter 4 Threads, due 2/7. 1/31/13 CSE325 - Processes 1
Reading Assignment 4 Chapter 4 Threads, due 2/7 1/31/13 CSE325 - Processes 1 What s Next? 1. Process Concept 2. Process Manager Responsibilities 3. Operations on Processes 4. Process Scheduling 5. Cooperating
More informationOPERATING SYSTEMS: Lesson 12: Directories
OPERATING SYSTEMS: Lesson 12: Directories Jesús Carretero Pérez David Expósito Singh José Daniel García Sánchez Francisco Javier García Blas Florin Isaila 1 Goals To know the concepts of file and directory
More informationProcess. Signal #8. Signals are software interrupts from unexpected events. a power failure. an alarm clock. the death of a child process
Linux/UNIX Programming 문양세강원대학교 IT특성화대학컴퓨터과학전공 Signals Signals are software interrupts from unexpected events an illegal operation (e.g., divide by 0) a power failure an alarm clock the death of a child
More informationProcesses often need to communicate. CSCB09: Software Tools and Systems Programming. Solution: Pipes. Recall: I/O mechanisms in C
2017-03-06 Processes often need to communicate CSCB09: Software Tools and Systems Programming E.g. consider a shell pipeline: ps wc l ps needs to send its output to wc E.g. the different worker processes
More informationOperating systems Portfolio
Operating systems Portfolio Thebault Yann Student number : 10004434 CE0100-3 Operating systems! Friday 26 November 2010 WEEK 1 6. How does the distinction between supervisor mode and user mode function
More informationPart II Processes and Threads Process Basics
Part II Processes and Threads Process Basics Fall 2017 Program testing can be used to show the presence of bugs, but never to show their absence 1 Edsger W. Dijkstra From Compilation to Execution A compiler
More informationInteracting with Unix
Interacting with Unix Synopsis Getting the Process ID #include pid_t getpid(void); Example: #include #include int main(){ pid_t n = getpid(); printf("process id is %d\n",
More informationOperating System Labs. Yuanbin Wu
Operating System Labs Yuanbin Wu CS@ECNU Operating System Labs Project 4 (multi-thread & lock): Due: 10 Dec Code & experiment report 18 Dec. Oral test of project 4, 9:30am Lectures: Q&A Project 5: Due:
More informationLinux Programming Chris Seddon
Linux Programming Chris Seddon seddon-software@keme.co.uk 2000-9 CRS Enterprises Ltd 1 2000-9 CRS Enterprises Ltd 2 Linux Programming 1. The Unix Model 2. File Input and Output 3. Files and Directories
More informationInter-Process Communication. Disclaimer: some slides are adopted from the book authors slides with permission 1
Inter-Process Communication Disclaimer: some slides are adopted from the book authors slides with permission 1 Today Inter-Process Communication (IPC) What is it? What IPC mechanisms are available? 2 Inter-Process
More informationAssignment 1. Teaching Assistant: Michalis Pachilakis (
Assignment 1 Teaching Assistant: Michalis Pachilakis ( mipach@csd.uoc.gr) System Calls If a process is running a user program in user mode and needs a system service, such as reading data from a file,
More informationQ1. State True/false with jusification if the answer is false:
Paper Title: Operating System (IOPS332C) Quiz 1 Time : 1 hr Q1. State True/false with jusification if the answer is false: a. Multiprogramming (having more programs in RAM simultaneously) decreases total
More informationWeek 13. Final exam review
Week 13. Final exam review 1. True or false? A. I claim that linked lists have the following advantages over the arrays: They allow insertion in the middle in a constant time They allow access to the element
More informationWhat Is A Process? Process States. Process Concept. Process Control Block (PCB) Process State Transition Diagram 9/6/2013. Process Fundamentals
What Is A Process? A process is a program in execution. Process Fundamentals #include int main(int argc, char*argv[]) { int v; printf( hello world\n ); scanf( %d, &v); return 0; Program test
More informationCS 3013 Operating Systems WPI, A Term Assigned: Friday, August 31, 2007 Due: Monday, September 17, 2007
CS 3013 Operating Systems WPI, A Term 2007 Craig E. Wills Project 2 (30 pts) Assigned: Friday, August 31, 2007 Due: Monday, September 17, 2007 Introduction This assignment is intended to help you learn
More informationPRACTICAL NO : 1. AIM: To study various file management system calls in UNIX.
PRACTICAL NO : 1 AIM: To study various file management system calls in UNIX. Write a program to implement 1. Create a file 2. Delete a file 3. Link a file 4. Copy one file to another file 5. Read contents
More informationSystem Calls and Signals: Communication with the OS. System Call. strace./hello. Kernel. Context Switch
System Calls and Signals: Communication with the OS Jonathan Misurda jmisurda@cs.pitt.edu System Call An operation (function) that an OS provides for running applications to use CS 1550 2077 strace./hello
More informationUNIX IPC. Unix Semaphore Unix Message queue
UNIX IPC Unix Semaphore Unix Message queue 1 UNIX SEMAPHORE: Unix semaphore is not a single variable but an array of non-negative integer variables. Number of non-negative values: 1 to some system defined
More informationCS Operating system Summer Midterm I -- July 11, 2017 You have 115 min (10:00am-11:55pm). Good Luck!
Name / ID (please PRINT) Seq#: Seat #: CS 3733.001 -- Operating system Summer 2017 -- Midterm I -- July 11, 2017 You have 115 min (10:00am-11:55pm). Good Luck! This is a closed book/note examination. But
More informationMultitasking. Programmer s model of multitasking. fork() spawns new process. exit() terminates own process
Signals Prof. Jin-Soo Kim( jinsookim@skku.edu) TA JinHong Kim( jinhong.kim@csl.skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Multitasking Programmer s model of multitasking
More informationCS Basics 14) C: Additional features
CS Basics 14) C: Additional features Emmanuel Benoist Fall Term 2016-17 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 Additional Features of C Enumerations
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto For more information please consult Advanced Programming in the UNIX Environment, 3rd Edition, W. Richard Stevens and
More informationComputer Science & Engineering Department I. I. T. Kharagpur
Computer Science & Engineering Department I. I. T. Kharagpur Operating System: CS33007 3rd Year CSE: 5th Semester (Autumn 2006-2007) Lecture III (Linux System Calls II) Goutam Biswas Date: 1st-7th August,
More informationOverview. Administrative. * HW 1 grades. * HW 2 Due. Topics. * 5.1 What is a Signal? * Dealing with Signals - masks, handlers
Overview Administrative * HW 1 grades * HW 2 Due Topics * 5.1 What is a Signal? * 5.2-3 Dealing with Signals - masks, handlers * 5.4 Synchronization: pause(), sigsuspend() * 5.6 Interaction with other
More informationCSC209F Midterm (L0101) Fall 1999 University of Toronto Department of Computer Science
CSC209F Midterm (L0101) Fall 1999 University of Toronto Department of Computer Science Date: October 26, 1999 Time: 1:10 pm Duration: 50 minutes Notes: 1. This is a closed book test, no aids are allowed.
More informationCS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 20
CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2018 Lecture 20 LAST TIME: UNIX PROCESS MODEL Began covering the UNIX process model and API Information associated with each process: A PID (process ID) to
More information