Presentation is loading. Please wait.

Presentation is loading. Please wait.

실시간 자원 량 정보 제공을 결합한 Heartbeat

Similar presentations


Presentation on theme: "실시간 자원 량 정보 제공을 결합한 Heartbeat"— Presentation transcript:

1 실시간 자원 량 정보 제공을 결합한 Heartbeat
클라이언트와 서버는 모두 리눅스 OS를 실행함 클라이언트의 실시간 자원 량을 주기적으로 서버에게 전송함 - memory info : /proc/meminfo - CPU info : /proc/cpuinfo - 현재 disk info : du/df 서버가 시스템 콜과 유사한 명령어를 실행하면 위의 프로그램이 실행됨 server client 1 (자원 량 제공) client 2 (자원 량 제공) client 3 (자원 량 제공) client 4 (자원 량 제공)

2 User application OS_monitor( ) 호출 Return C - Library NR_monitor Resume userspace Int 80 Kernel Call OS_monitor( ) Return System Call OS_monitor( )

3 실습 환경 CentOS 7.0 (x86_64) Kernel 시스템 비트 확인 #arch #get LONG_BIT

4 실습 환경 설정 #yum install –y wget gcc ncurses-devel vim
#mv linux tar.gz /usr/src/kernels/ #cd /usr/src/kernels #tar xvfz linux tar.gz #cd linux ($KERNEL) = /usr/src/kernels/linux vim의 라인 출력 :set nu[enter]

5 syscall 등록 #vim ($KERNEL)/arch/x86/syscalls/syscall_64.tbl
2. [syscall 번호] [비트환경] [syscall 이름] [해당 함수명] **(각 설정 사이는 “탭” 키를 사용하여 띄어 쓴다) **예제 314 common OS_monitor OS_monitor

6 syscall table 등록 #vim ($KERNEL)/include/linux/syscalls.h
1. #endif 전에 syscall 함수명 추가 ** 예제 asmlinkage long OS_monitor(int num);

7 syscall 함수 구현 #vim ($KERNEL)/kernel/OS_monitor.c #vim ($KERNEL)/kernel/Makefile 1. 13번째 줄 마지막에 OS_monitor의 object 파일 추가

8 커널 컴파일 #cp /boot/config-* .config #make #make modules #make modules_install #make install #reboot

9 syscall 사용 1. 제작한 시스템 콜을 이용한 코드 제작 2. 컴파일
#gcc –I($KERNEL)/include/ -o OS_monitor OS_monitor.c #./OS_monitor #dmesg | tail


Download ppt "실시간 자원 량 정보 제공을 결합한 Heartbeat"

Similar presentations


Ads by Google