파이프와 exec 시스템 호출 (ls | wc)

Slides:



Advertisements
Similar presentations
1/1. 하나님은 당신을 사랑하시며 당신을 위한 놀라운 계획을 가지고 계십니다 ! 1. 주 안에 있는 나에게 딴 근심 있으랴 십자가 밑에 나아가 내 짐을 풀었네 십자가 밑에 나아가 내 짐을 풀었네 * 주님을 찬송하면서 할렐루야 할렐루야 내 앞길 멀고 험해도 나 주님만.
Advertisements

여성의 광장 어린이 집 www. womankids. com
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
Chapter 3 /etc/passwd real uid(진짜 사용자 식별번호), real gid(진짜 그룹 식별번호)
9 파이프.
소켓 모델 주소 지정 in_addr_t inet_addr(const char *ip_address) 연결 지향 모델 (TCP)
공유 메모리[1] 공유 메모리 공유 메모리 생성: shmget(2) 같은 메모리 공간을 두 개 이상의 프로세스가 공유하는 것
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
Linux System Programming
Department of Computer Engineering
6 프로세스 생성과 실행.
Department of Computer Science and Engineering
조 병 규 Software Quality Lab. 한국교통대학교
제15장 파일 입출력 문자열을 출력하는 여러가지 방법 (15-2쪽) 문자열만 처리하는 입출력 함수
Department of Computer Engineering
양방향 파이프의 활용 양방향 통신 파이프는 기본적으로 단방향이므로 양방향 통신을 위해서는 파이프를 2개 생성한다.
12장 파이프.
fork로 생성한 자식 프로세스에서 exec 함수군을 호출
07. 디바이스 드라이버의 초기화와 종료 김진홍
Linux/UNIX Programming APUE (Files & Directories)
Signal & Inter-Process Communication
프로세스 생성[1] 프로그램 실행 : system(3) #include <stdlib.h>
시스템 호출 read , write의 효율성 lseek test example – test1.c 실습 – 연습문제 2.8
Linux/UNIX Programming
8 메모리 매핑.
파일 기술자 파일 기술자 현재 열려있는 파일을 구분하는 정수값 저수준 파일 입출력에서 열린 파일을 참조하는데 사용
4장 파일.
6장 파일 및 레코드 잠금.
Linux/UNIX Programming
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
2007 1학기 11 프로젝트 기초 실습.
프로젝트 발표 순서 12/7(수), 팀 별 15분 발표순서 PPT (팀 별 이름, 구현 내용, 결과-그래프 포함) 각 기법당
프로젝트 시연 1M integer를 사용할 것 코드 부분 설명 (5~10분), 실행 ./lvm_write –L1M 4M
13장 고급 입출력 함수 박사 4학기 최 성자.
TCP/IP Socket Programming…
14장. 포인터와 함수에 대한 이해.
FILE I/O 번째주 Dept. of Computer Science & Engineering
Department of Computer Engineering
13장 프로세스 사이의 통신.
2015. 인문소양교육.
Memory & Data Management.
Linux/UNIX Programming
Device Driver 임베디드 시스템 I.
유승석 FILE I/O File Input/Output 유승석 SD50 – C# & .NET Platform.
24장. 파일 입출력.
Analog to Digital Converter
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
School of Electronics and Information. Kyung Hee University.
Department of Computer Engineering
자바 5.0 프로그래밍.
Linux/UNIX Programming
Signal & Inter-Process Communication
Files and Exceptions Byoungjun Kim
Department of Computer Engineering
시스템 인터페이스 Lab#5 쉡 실습.
3. 모듈 (5장. 모듈).
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
4. 셸을 이용한 명령어 입력. Unix 시스템 쉘 간단한 셸 명령 명령 매개변수(Command arguments)
성경퀴즈 여호수아1장 3장 복습게임.
구조체(struct)와 공용체(union)
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
9 파이프.
Department of Computer Engineering
06. 디바이스의 등록과 해제 김진홍
3장 파일 다루기 한빛미디어(주).
운영체제보안 SELinux 실습 박민재
Signal & Inter-Process Communication
Presentation transcript:

파이프와 exec 시스템 호출 (ls | wc) dup2(filedes, 1) com1 | com2 (그림 7.5) 예제 p232 (test1.c)

FIFO와 이름형 파이프 파이프는 부모와 자식 프로세스와 같이 조상이 같은 프로세스들만 연결 파이프는 영구히 존재할 수 없음com1 | com2 (그림 7.5) mknod channel p cat < channel &; ls –al > channel int mkfifo (const char *pathname, mode_t mode); open (“/tmp/fifo”, O_WRONLY|O_NONBLOCK) 예제 – p 238 (rcvmessage.c, sendmessage.c)

실습 client와 server와의 간단한 대화형 program client가 입력한 내용을 server가 화면에 print

고급 프로세스간 통신 message queue semaphore shared memory fcntl 을 사용한 레코드 록킹 -읽기록 -쓰기록 int fcntl(int filedes, int cmd, struct flock *ldata) . cmd – F_GETLK, F_SETLK, F_SETLKW . Ldata – l_type (F_RDLCK, F_WRLCK, F_UNLCK), l_whence, off_t l_start, off_t l_len, pid_t l_pid)

고급 프로세스간 통신 fcntl 을 사용한 레코드 록킹 -예제 – p251 (test2.c) -록 정보는 fork 호출에 의해 계승되지 않는다 fcntl 호출의 파일포인터를 변경시키지 않는다 한 프로세스에 속한 모든 록은 그 프로세스가 죽을 때 자동적으로 제거

실습 client는 argv로 받은 pipetest에 10byte록을 건 후, sleep(2), unlock argv로 받은 filename을 fifo를 통해 server로 전달 server는 filename에 해당하는 파일을 open, read, pipewrite client는 server로부터 받은 내용을 화면으로 출력