
중급자를 위해 준비한
[개발 ・ 프로그래밍] 강의입니다.
[개발 ・ 프로그래밍] 강의입니다.
본 강좌는 주제별 이론과 프로그래밍 실습을 병행하여 학습 효과를 극대화할 수 있도록 했습니다.
리눅스 시스템 프로그래밍 - 이론과 실습
리눅스 시스템 프로그래밍(이하 LSP)은 리눅스가 제공하는 프로그래밍 인터페이스를 통해 리눅스 시스템을 제어/관리할 수 있는 어플리케이션을 작성하는 것을 말한다. LSP는 다른 개발 환경에 비해 low-level 인터페이스를 사용해야 하기 때문에 익숙하지 않은 사람에게는 불편하고, 무식하고, 불친절해 보일 수 있다. 그래서 어렵게 느껴질 수 있다.하지만, LSP 만큼 리눅스와 친한 개발자를 만드는 과정은 없다.
LSP는 가장 단순한 방법으로 리눅스 커널과 interaction 하기 때문에 리눅스와 컴퓨터 시스템의 동작 과정에 대한 이해를 도울 수 있다. 또한 리눅스 디바이스 드라이버, 커널 프로그래밍 등으로 영역을 넓히기 위해서는 반드시 LSP를 익혀야 한다. 본 강좌는 주제별 이론과 프로그래밍 실습을 병행하여 학습 효과를 극대화할 수 있도록 만들었다. 수많은 API를 나열하고 소개하는 것에 그치지 않는다.
15년의 개발 경험에 비춰봤을 때 반드시 알아야 하고, 자주 사용되며, 혼동될만한 것들을 중점적으로 다뤄 핵심적인 내용을 수강생들에게 효과적으로 전달할 수 있도록 했다. 특히 주제별 실습을 빈 파일에서부터 실습을 시작하여 구현, 테스트, 디버깅의 모든 과정을 그대로 보여주는 라이브 프로그래밍으로 준비하여, 이런 일련의 개발 과정을 초심자들이 보고 따라하며 배울 수 있다.

학습 목표
- 주제별 핵심 이론을 빠르게 습득하여 리눅스 프로그래밍 전반에 이해를 높인다.
- 프로그래밍 실습을 통해 개념과 이론 뿐만 아니라 API 사용법과 동작 방식까지 습득하게 한다.
도움이 되는 분들
- 리눅스 개발자가 되고 싶은 분들
- 빠르게 리눅스 개발에 적응하고 싶으신 분들
- 리눅스를 책으로만 배웠지 무엇을 어떻게 해야할 지 모르겠는 분들
강의 실습 환경
- 강의 실습은 Windows 10 호스트에 VirtualBox를 이용한 가상머신을 생성하고, 가상머신에 Ubuntu-18.04를 설치해 구성했습니다. (반드시 똑같은 구성일 필요는 없으며, 리눅스를 사용하실 수 있는 환경이면 실습 가능합니다)
- 가상머신 설치 및 동작에 정확한 최소 사양을 말씀드리기는 어렵지만, 아래 사양이면 가상머신을 이용한 실습 환경 구성이 가능할 것 같습니다. - 2GHz/Dual core 이상의 CPU - 4GB 이상의 시스템 메모리 - 20GB 이상의 디스크 용량
- VirtualBox 설치, 가상머신 생성, 가상머신에 Ubuntu-18.04 설치 등은 "실습 환경 구성(가상머신)" 동영상을 참고하시길 바랍니다.
참고 사항
- 기본적인 C 언어 문법에 대한 이해를 필요로 합니다.
연관된 강좌
안녕하세요
ProgCoach4U 입니다.
ProgCoach4U 입니다.

리눅스 환경에서 15년 동안 개발자로 일했고, 지금도 개발자로 일하고 있습니다 :)
강좌 외 문의사항은 progcoach4u@gmail.com으로 보내주세요 ;)
커리큘럼
총 50개 ˙ 13시간 2분의 수업
이 강의는 영상, 수업 노트이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. introduction
2강 ∙ 30분
섹션 1. 파일 다루기(basic)
7강 ∙ 1시간 11분
파일 열기/닫기
미리보기
10:00
파일 열기/닫기 - 라이브 프로그래밍
미리보기
13:00
파일 포지션
03:00
파일 포지션 - 라이브 프로그래밍
15:00
파일 읽고 쓰기
16:00
파일 읽고 쓰기 - 라이브 프로그래밍
14:00
파일 다루기(basic) : 강의자료
섹션 2. 파일 다루기(low-level)
9강 ∙ 1시간 51분
저수준 파일 열기/닫기, 스트림 포지션
18:00
저수준 파일 열기/닫기, 스트림 포지션 - 라이브 프로그래밍
18:00
저수준 파일 문자/문자열 읽고 쓰기
08:00
저수준 파일 문자/문자열 읽고 쓰기 - 라이브 프로그래밍
26:00
하드링크와 소프트링크
미리보기
08:00
하드링크와 소프트링크 - 라이브 프로그래밍
미리보기
16:00
파일 속성
07:00
파일 속성 - 라이브 프로그래밍
10:00
파일 다루기(low-level) : 강의자료
섹션 3. 파일 다루기(advanced)
15강 ∙ 4시간 30분
Directory 다루기
09:00
Directory 다루기 - 라이브 프로그래밍
13:00
Memory map
17:00
memory map - 라이브 프로그래밍
17:00
파일을 이용한 동기화
15:00
파일을 이용한 동기화 - 라이브 프로그래밍
26:00
파일 속성 제어
09:00
파일 속성 제어 - 라이브 프로그래밍
19:00
파일 이벤트
22:00
파일 이벤트 - 라이브 프로그래밍
24:00
I/O Multiplexing(select)
24:00
I/O Multiplexing(select) - 라이브 프로그래밍
25:00
I/O Multiplexing(epoll)
28:00
I/O Multiplexing(epoll) - 라이브 프로그래밍
22:00
파일 다루기(advanced) : 강의자료
섹션 4. 프로세스와 쓰레드
9강 ∙ 2시간 46분
프로세스 개념, 프로세스 생성
21:00
프로세스 개념, 프로세스 생성 - 라이브 프로그래밍
11:00
프로그램 실행과 종료처리
30:00
프로그램 실행과 종료처리 - 라이브 프로그래밍
18:00
프로세서 친화
21:00
프로세서 친화 - 라이브 프로그래밍
15:00
쓰레드 개념, 쓰레드 생성/종료/조인/동기화
23:00
쓰레드 개념, 쓰레드 생성/종료/조인/동기화 - 라이브 프로그래밍
27:00
프로세스와 쓰레드 : 강의자료
섹션 5. 시그널, 시간
7강 ∙ 2시간 14분
기본 시그널 처리
32:00
기본 시그널 처리 - 라이브 프로그래밍
16:00
고급 시그널 처리
18:00
고급 시그널 처리 - 라이브 프로그래밍
22:00
시간과 타이머
22:00
시간과 타이머 - 라이브 프로그래밍
24:00
시그널, 시간 : 강의자료
섹션 6. 실습에서 사용한 소스코드들
1강
강의자료 - 소스코드
강의 게시일 : 2019년 02월 21일
(마지막 업데이트일 : 2019년 02월 21일)
수강평
총 32개
수강생분들이 직접 작성하신 수강평입니다. 수강평을 작성 시 300잎이 적립됩니다.
4.8
32개의 수강평
5점
4점
3점
2점
1점
VIEW
좋아요 순
최신 순
높은 평점 순
낮은 평점 순
평점 순
높은 평점 순
낮은 평점 순

돈이 아깝지 않은 강좌입니다. 근데 강좌도 강좌인데, 강사님 목소리가 천상계시네요. 부럽습니다ㅠ
2020-04-04

리눅스 man 페이지를 보고 개발 할 수 있는 능력이 함양되어 좋습니다. 약간의 아쉬운점 이라면 이론 설명 동영상이 10분 내외 였으면 좋겠습니다. 제공해주시는 교안이 좋기 때문에 설명이 조금 짧아도 괜찮을 것 같습니다.
2019-12-13

강의 선생님이 친절하시고 무엇보다 라이브 프로그래밍이 좋았습니다
2020-03-16

업무에서 마주치는 시스템콜 API 들을 어디서부터 어디까지 봐야할지 막막했는데 이 강의로 대충 API와 원리를 이해하게 되어서 도움이 되었습니다.
2019-10-03

단연 임베디드 리눅스 입문에 있어서 최고의 강의인 것 같습니다.
이론과 실습을 단기간에 느낄 수 있고 가격도 너무 착한 알짜배기 강의입니다.
이 강의를 들으면서 다른 리눅스 프로그래밍 책들을 보는데 자신감이 생겼습니다.
1회독을 마친 상태이고, 계속 반복하면서 이제는 다른 책들도 참고하면서 저의 코드를 만들어 가보려고 합니다. 정말 최고의 강의고 계속 좋은 강의 만들어주셨으면 좋겠습니다!
2019-05-19
77,000원
월 15,400원
5개월 할부 시수강 전 궁금한 점이 있나요?
문의하기
ProgCoach4U님의 다른 강의
지식공유자님의 다른 강의를 만나보세요!
리눅스 커맨드라인 툴 (Full ver.)
₩55,000

리눅스 IPC 프로그래밍 - 이론과 실습
₩88,000
비슷한 강의들
같은 분야의 다른 강의를 만나보세요!