본 강좌는 주제별 이론과 프로그래밍 실습을 병행하여 학습 효과를 극대화할 수 있도록 했습니다.

리눅스 시스템 프로그래밍 – 이론과 실습

리눅스 시스템 프로그래밍(이하 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

리눅스 환경에서만 15년째 개발 중인 현업 개발자.
15년간 User-level application은 물론, Kernel-level의 network stack, device driver 등 다양한 리눅스 개발 경험이 있다.

강좌 평가

5

4 개의 수강평
  • 5 점4
  • 4 점0
  • 3 점0
  • 2 점0
  • 1 점0
  1. d mur의 프로필 사진

    괜찮은 강의 같아요

    5

    이론적인 내용이 많은 강의는 아닙니다
    대신 강의 하나 하고 바로 실습 강의가 있는 형태인데 매우 맘에 들었습니다
    강의에서 이해 안가는 부분이 있어도 실습을 통해 바로바로 이해가 됐습니다.

    • ProgCoach4U의 프로필 사진

      감사합니다. 많은 도움이 되셨길 바랍니다.

      5

      제가 한 주제에 대해 (이론 + 실습)으로 구성한 목적이 바로 그것이었습니다!! :-)) 많은 도움이 되셨길 바라고, 앞으로 나올 강좌도 기대해주세요~ 현재 Linux IPC(Inter-Process Communication) Programming 강좌를 준비 중입니다~~

  2. kj lee의 프로필 사진

    강의 잘 들었습니다.

    5

    예제가 많아 실습을 많이 해볼 수 있어서 좋았고, 질문도 빠르게 답변해주셔서 좋았습니다.

    감사합니다.

강좌 교육과정

introduction
Intruduction학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:03:00
실습 환경 구성(가상머신)학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:27:00
파일 다루기(basic)
파일 열기/닫기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:10:00
파일 열기/닫기 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:13:00
파일 포지션학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:03:00
파일 포지션 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
파일 읽고 쓰기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:16:00
파일 읽고 쓰기 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
파일 다루기(basic) : 강의자료학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:00:00
파일 다루기(low-level)
저수준 파일 열기/닫기, 스트림 포지션학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:18:00
저수준 파일 열기/닫기, 스트림 포지션 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:18:00
저수준 파일 문자/문자열 읽고 쓰기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:08:00
저수준 파일 문자/문자열 읽고 쓰기 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:26:00
하드링크와 소프트링크학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:08:00
하드링크와 소프트링크 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:16:00
파일 속성학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:07:00
파일 속성 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
파일 다루기(low-level) : 강의자료학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:00:00
파일 다루기(advanced)
Directory 다루기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
Directory 다루기 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:13:00
Memory map학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:17:00
memory map – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:17:00
파일을 이용한 동기화학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
파일을 이용한 동기화 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:26:00
파일 속성 제어학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:09:00
파일 속성 제어 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:19:00
파일 이벤트학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:22:00
파일 이벤트 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:24:00
I/O Multiplexing(select)학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:24:00
I/O Multiplexing(select) – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:25:00
I/O Multiplexing(epoll)학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:28:00
I/O Multiplexing(epoll) – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:22:00
파일 다루기(advanced) : 강의자료학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:00:00
프로세스와 쓰레드
프로세스 개념, 프로세스 생성학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:21:00
프로세스 개념, 프로세스 생성 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:11:00
프로그램 실행과 종료처리학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:30:00
프로그램 실행과 종료처리 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:18:00
프로세서 친화학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:21:00
프로세서 친화 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
쓰레드 개념, 쓰레드 생성/종료/조인/동기화학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:23:00
쓰레드 개념, 쓰레드 생성/종료/조인/동기화 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:27:00
프로세스와 쓰레드 : 강의자료학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:00:00
시그널, 시간
기본 시그널 처리학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:32:00
기본 시그널 처리 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:16:00
고급 시그널 처리학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:18:00
고급 시그널 처리 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:22:00
시간과 타이머학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:22:00
시간과 타이머 – 라이브 프로그래밍학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:24:00
시그널, 시간 : 강의자료학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:00:00
실습에서 사용한 소스코드들
강의자료 – 소스코드학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:00:00
  • 가격 옵션 +
  • 평생
  • ,
  • 강좌 수료증
  • 50개 강의, 총 13 시간 2 분
  • 위시리스트

실시간 인기 강좌

우리는 성장기회의 평등을 추구합니다. 🎄

경제적, 시간적 제약없는 양질을 교육으로 누구나에게 성장 기회를 균등하게 주는 것. 그것이 우리의 목표입니다.

지식공유참여 고객센터
top
(주)인프랩 | 대표자:이형주 | TEL:070-4178-0406 | E-MAIL: course@inflearn.com | 사업자번호:499-81-00612
주소:성남시 분당구 삼평동 대왕판교로 645번길 12 경기창조경제혁신센터 8층 R19 | 개인정보보호책임자:이형주
통신판매업:2017-서울강남-01544 | ©INFLAB. ALL RIGHTS RESERVED