컴퓨터공학(전공도서) HOME > 쇼핑몰 > 컴퓨터 전체도서 > 컴퓨터공학(전공도서)   
       

<개정증보판> 리눅스 시스템 프로그래밍

판매가격 :   25,000 원
저자 :   임성락
출판사 :   21세기사

리눅스는 윈도우즈와 함께 가장 많이 사용되고 있는 운영체제 중의 하나이다. 특히 IoT 분야와 관련된 임베디드 시스템 개발에서 더욱 더 사용될 것으로 예상된다. 이 책은 리눅스 커널에서 제공하는 시스템 호출을 중심으로 응용 프로그램이 실행되는 원리를 소개하고 있다.

목차

1장 개요

1.1 컴퓨터 시스템 동작 원리

1.1.1 컴퓨터 시스템 입출력

1.1.2 다중 프로그래밍

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 프로그램 작성

1.4.2 컴파일

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() : 소유자 ID 혹은 그룹 ID 변경

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(), exit(), atexit() : 프로세스 종료

3.2.5 wait(), waitpid() : 프로세스 종료 기다림

3.3 프로그램 실행

3.3.1 프로세스 환경변수

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_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.2.4 디바이스 드라이버 실행 확인

8.3 디바이스 드라이버 테스트

8.3.1 디바이스 파일 생성

8.3.2 테스트 프로그램

8.3.3 컴파일 및 실행


Copyright(c) 2003 TEL:(031)942-7861 FAX:(031)942-7864. All Rights Reserved. Send E-mail to webmaster