HOME > 상세정보

상세정보

(프로그램 실행 원리 이해를 위한) 리눅스 시스템 프로그래밍

(프로그램 실행 원리 이해를 위한) 리눅스 시스템 프로그래밍 (3회 대출)

자료유형
단행본
개인저자
임성락
서명 / 저자사항
(프로그램 실행 원리 이해를 위한) 리눅스 시스템 프로그래밍 = Linux system programming / 임성락 지음
발행사항
파주 :   21세기사,   2019  
형태사항
237 p. : 삽화 ; 25 cm
ISBN
9788984688438
일반주기
색인수록  
000 00000cam c2200205 c 4500
001 000046017291
005 20200213172950
007 ta
008 200212s2019 ggka 001c kor
020 ▼a 9788984688438 ▼g 93000
035 ▼a (KERIS)BIB000015388453
040 ▼a 247009 ▼c 247009 ▼d 211009
082 0 4 ▼a 005.446 ▼2 23
085 ▼a 005.446 ▼2 DDCK
090 ▼a 005.446 ▼b 2019z4
100 1 ▼a 임성락
245 2 0 ▼a (프로그램 실행 원리 이해를 위한) 리눅스 시스템 프로그래밍 = ▼x Linux system programming / ▼d 임성락 지음
260 ▼a 파주 : ▼b 21세기사, ▼c 2019
300 ▼a 237 p. : ▼b 삽화 ; ▼c 25 cm
500 ▼a 색인수록
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.446 2019z4 등록번호 121252287 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

리눅스 커널에서 제공하는 시스템 호출을 중심으로 응용 프로그램이 실행되는 원리를 소개하고 있다. 이를 위하여 컴퓨터 시스템의 동작 원리 및 프로그램 실행과 관련된 운영체제의 역할을 소개하고 파일 시스템 및 파일 접근 관련 시스템 호출 사용법을 소개한다. 또한 프로그램을 실행하기 위한 프로세스 및 스래드 관련 시스템 호출 사용법 등을 설명한다.

리눅스는 윈도우즈와 함께 가장 많이 사용되고 있는 운영체제 중의 하나이다. 특히 IoT 분야와 관련된 임베디드 시스템 개발에서 더욱 더 사용될 것으로 예상된다. 이 책은 리눅스 커널에서 제공하는 시스템 호출을 중심으로 응용 프로그램이 실행되는 원리를 소개하고 있다. 이를 위하여 1장에서는 컴퓨터 시스템의 동작 원리 및 프로그램 실행과 관련된 운영체제의 역할을 소개하고 2장에서 파일 시스템 및 파일 접근 관련 시스템 호출 사용법을 소개한다. 3장과 4장에서 프로그램을 실행하기 위한 프로세스 및 스래드 관련 시스템 호출 사용법을 설명한다. 5장에서는 프로세스 간 통신을 위한 IPC 기법을 소개하고, 6장에서는 프로세스에게 간단한 메시지를 전달하는 시그널을 소개한다. 7장에서는 소켓을 이용한 네트워크 프로그램을 소개하고, 마지막으로 8장에서는 모듈 프로그래밍을 이용한 디바이스 드라이버를 소개한다.


정보제공 : Aladin

목차

1장 개 요
1.1 컴퓨터 시스템 동작 원리
1.2 리눅스 커널
1.2.1 파일 관리 서브시스템
1.2.2 프로세스 관리 서브시스템
1.2.3 시스템 호출 인터페이스
1.2.4 입출력 장치 인터페이스
1.3 커널 진입점
1.3.1 시스템 호출
1.3.2 인터럽트
1.3.3 예외현상
1.4 리눅스 시스템 프로그래밍
1.4.1 소스 프로그램 작성 : vi
1.4.2 컴파일링 : gcc
1.4.3 프로그램 실행

2장 파 일
2.1 파일 개요
2.1.1 가상 파일 시스템
2.1.2 Ext2 파일 시스템
2.1.3 커널 자료구조
2.2 파일 입출력
2.2.1 open() : 파일 열기 및 생성
2.2.2 close() : 파일 닫기
2.2.3 read() : 파일 읽기
2.2.4 write() : 파일 쓰기
2.2.5 creat() : 파일 생성
2.2.6 dup(), dup2() : 파일 디스크립터 복사
2.2.7 lseek():파일 읽기/쓰기 위치 지정
2.3 파일 관리
2.3.1 stat(), fstat() : 파일 상태 정보 조회
2.3.2 access():접근 권한 검사
2.3.3 chmod(), fchmod():접근 권한 변경
2.3.4 utime() : 접근 및 수정 시간 변경
2.3.5 chown(), fchown() : 소유자 및 그룹 변경
2.4 디렉토리 관리
2.4.1 mkdir(), rmdir() : 디렉토리 생성과 삭제
2.4.2 opendir(), readdir(), closedir() : 디렉토리 내용 조회
2.4.3 getcwd() : 작업 디렉토리
2.4.4 chdir() : 작업 디렉토리 변경
2.5 링크
2.5.1 link(), unlink() : 하드 링크 생성과 삭제
2.5.2 symlink() : 심볼릭 링크 생성
2.5.3 readlink() : 심볼릭 링크 파일 읽기
2.5.4 lstat() : 심볼릭 링크 파일 상태 정보 조회

3장 프로세스
3.1 프로세스 개요
3.1.1 프로세스 상태
3.1.2 프로세스 구조체
3.1.3 프로세스 주소공간
3.2 프로세스 관리
3.2.1 fork() : 프로세스 생성
3.2.2 getpid(), getppid() : 프로세스 ID
3.2.3 getuid(), geteuid() : 프로세스 사용자
3.2.4 exit(), wait(), waitpid() : 프로세스 종료 및 기다림
3.3 프로그램 실행
3.3.1 getenv() : 프로세스 환경변수
3.3.2 exec() 계열 : 프로세스 이미지 교체
3.4 동적 메모리
3.4.1 malloc() : 동적 메모리 할당
3.4.2 free() : 동적 메모리 해제

4장 스래드
4.1 스래드 개요
4.1.1 스래드 정의
4.1.2 다중 스래드
4.2 스래드 관리
4.2.1 pthread_create() : 스래드 생성
4.2.2 pthread_create() : 스래드 인수전달
4.2.3 pthread_join() : 스래드 종료 기다림
4.2.4 pthread_join() : 스래드 반환 값
4.3 스래드 동기화
4.3.1 pthread_mutex() : 뮤텍스
4.3.2 sem_wait(), sem_post() : 세마포어

5장 IPC
5.1 IPC 개요
5.2 파이프
5.2.1 pipe() : 이름 없는 파이프
5.2.2 mkfifo() : 이름 있는 파이프
5.3 메시지 큐
5.3.1 msgget() : 메시지 큐 생성
5.3.2 msgsnd(), msgrcv() : 메시지 송수신
5.3.3 msgctl() : 메시지 큐 제어
5.4 공유 메모리
5.4.1 shmget() : 공유 메모리 생성
5.4.2 shmat(), shmdt() : 공유 메모리 연결 및 분리
5.4.3 shmctl() : 공유 메모리 제어
5.5 세마포어
5.5.1 semget() : 세마포어 생성
5.5.2 semop() : 세마포어 연산
5.5.3 semctl() : 세마포어 제어

6장 시그널
6.1 시그널 개요
6.2 시그널 처리
6.2.1 signal() : 시그널 처리(1)
6.2.2 sigaction() : 시그널 처리(2)
6.3 시그널 대기 및 전송
6.3.1 pause() : 시그널 대기
6.3.2 kill(), raise() : 시그널 전송

7장 소켓
7.1 소켓 개요
7.1.1 TCP/IP
7.1.2 소켓 주소
7.2 시스템 호출
7.2.1 socket(), close() : 소켓 생성과 제거
7.2.2 bind() : IP 및 포트번호 설정
7.2.3 listen() : 연결 요청 기다림
7.2.4 accept() : 연결 요청 수신
7.2.5 connect() : 연결 요청
7.2.6 send() : 데이터 송신
7.2.7 recv() : 데이터 수신
7.3 예제 프로그램
7.3.1 서버
7.3.2 클라이언트

8장 모듈
8.1 모듈 개요
8.1.1 모듈 프로그램
8.1.2 모듈 생성
8.1.3 모듈 삽입 및 제거
8.1.4 실행 확인
8.2 디바이스 드라이버
8.2.1 디바이스 드라이버 프로그램
8.2.2 디바이스 드라이버 생성
8.2.3 디바이스 드라이버 삽입 및 제거
8.3 디바이스 드라이버 테스트
8.3.1 디바이스 파일 생성
8.3.2 테스트 프로그램
8.3.3 컴파일 및 실행

관련분야 신착자료