리눅스 시스템 프로그래밍 - 이론과 실습
리눅스 시스템 프로그래밍 - 이론과 실습
수강정보
(23개의 수강평)
499명의 수강생
스킬태그 #Back-End, #Linux
33,000원
지식공유자 : ProgCoach4U
50회 수업 · 총 13시간 2분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 중급이상
fpahsqlcj 프로필

가상머신 설치 오류입니다. fpahsqlcj 6일 전
Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT). 가상머신을 실행할 때 위와 같은 메세지가 떠서 실행이 안됩니다.  참고로  hyper기능을 끄고 해봤는데도 안되고 linxs 18.04로했는데도 안되어 20으로했는데도 안됩니다.

1
인그니야 프로필

epoll fd 등록 문제 인그니야 26일 전
강의에서는 ep_event에 fd를 등록할 때, epoll_ctl()에 fd를 인자로 지정하니까 ep_event에는 fd를 반드시 넣어줘야 하는 건 아니라는 식으로 말씀하셨는데, 실제로 시험을 해보니, epoll_ctl()과 ep_event의 fd는 의미하는 게 전혀 다르네요. ep_event에는 STDIN_FILENO을 등록하고, epoll_ctl()에는 fd를 등록한 후, fd에 이벤트를 발생시켰더니(make clean 등) epoll_wait()에서 반환하는 Descriptor는 STDIN_FILENO네요. 이는 즉슨, epoll_ctl()에서는 이벤트를 감시할 Descriptor를 의미하고, ep_event에서는 이벤트 발생 시 반환할 Descriptor를 의미하는 듯 하네요.

1
Ji woo Kim 프로필

구조체 포인터 관련 질문입니다! Ji woo Kim 1달 전
14:28분경 P라는 구조체의 포인터에 맴버 접근시 왜 dote( . )연산을 사용하는것 이죠? 포인터의경우 -> 연산자를 사용해서 접근해야하는것 아닌가요??

2
강덕영 프로필

select.c 관련 질문입니다 강덕영 1달 전
while(ret > 0) 루프 안쪽의 event = (struct inotify_event *)(char *)event + sizeof(struct inotify_event) + event->len; 을 event += sizeof(struct inotify_event) + event->len;으로 바꾸어서 실행해보니 실행결과는 동일한데 이렇게 써도 문제없는 건가요? 

2
재교 프로필

epoll_wait 부분 반환값이 잘못 설명되어 있습니다. 재교 4달 전
반환값이 성공시 0, 실패시 -1로만 나와있어서 글 올립니다. --> 성공시 : FD의 개수 실패시 : -1 타임아웃시 : 0 공부하는데 별 상관은 없는데 혹시나 해서요 ^^. 감사합니다!

1
ungung97 프로필

non blocking모드 유지에 대한 질문입니다. ungung97 4달 전
쉘에서 fcntl 파일을 두 세번 실행해도 강사님의 시연처럼 non blocking모드가 유지가 안되고 다시 blocking모드로 돌아옵니다. 혹시 왜그런지 알 수 있을까요? 코드는 강사님이 작성하신것과 동일하고, OS는 Ubuntu 20.04 LTS를 사용하고 있습니다.

2
rjsdud582 프로필

간단한 C 질문... rjsdud582 5달 전
안녕하세요 강사님, 강의 너무 잘 듣고 있습니다.  질문이 한 개 있는데요, sleep(1) 을 쓰면 1초를 기다리고 그 시간동안 thread 같은 것이 잠시 unexecutable 되는 것으로 알고 있습니다.  강사님이 sleep(1)을 쓰실 때 "커널이 느리게 동작하실 수 있으므로" 라고 하셨는데 어떻게 잠시 쓰레드를 멈추게 되면 커널이 다시 빨라지는 건가요,,?  sleep API를 단순히 그냥 인자로 넣어준 것 만큼 기다린다. 이렇게만 알고있어서 이해가 잘 안가네요.   구글링도 해봤는데 해답이 잘 안나와서.. 간단하게나마 알려주실 수 있나요 ㅠㅠ... 

2
Heo Mangab 프로필

2번 멀티 쓰레드 모델과 3번 I/O Multiplexing 차이 Heo Mangab 5달 전
I/O Multiplexing api를 사용하면 각각의 파일들을 감시하는 쓰레드가 생성되는 건지 궁금합니다. 만약 fd가 n개면 각각의 fd를 담당하는 쓰레드 n개가 생성되는 건가요? 아니면 쓰레드 생성없이 n개의 fd를 감시할 수 있는 건가요?

1
Heo Mangab 프로필

프로그램 동작 질문입니다! Heo Mangab 5달 전
while문 안에서 read로 fd에 있는 이벤트들을 읽는데 이때 프로세스가(아직 이벤트가 발생하지 않았음에도) 종료되지 않고 기다리는 것은  inotify_init()할 때 플래그를 주지 않아 blocking으로 생성되었기 때문인가요? 그리고 inotify_add_watch함수 호출하면 해당 디렉토리를 감시하는 새로운 쓰레드를 생성하는 건가요? 마지막으로 fd가 blocking으로 열렸을 때 read가 0을 반환할 수 있나요? 그러니까 blocking으로 열리면 read에서 값이 생성될 때까지 기다리는데 생성된 값의 바이트 수가 0일 수 있나요? 좋은 강의 감사드립니다!!

1
rjsdud582 프로필

간단한 fd에 관한 질문 rjsdud582 5달 전
5:25 경에, 모든 fd들은 프로그램이 종료되면 자동으로 닫아준다고 말씀하셨는데,  그럼 지금까지 프로그래밍 해오면서  작성해준 close(fd); 는 그렇게 필수적인 것은 아니라는 건가요? 

1
이소진 프로필

fatal error 이소진 6달 전
fatal error : studio.h 그런 파일이나 디렉토리가 없습니다. 라는 에러가 뜹니다... 강의에서 보이는 것과 똑같이 코딩했는데 왜그럴까요 ㅠㅠ

1
rycbar 123 프로필

Makefile rycbar 123 8달 전
inflearn에 올려져있는 Makefile 파일을가상머신에서 어떻게 다운로드받아서 사용하나요?

3
장원일 프로필

sched_getaffinity api man page에서 thread 의미 장원일 10달 전
description부분에서 A thread's CPU affinity mask determines the set of CPUs on which it is eligible to run.  by dedicating one CPU to particular thread. is is possible to ensure maximum execution speed for that thread. 1. 여기서 thread는 프로세스의 thread인가요? 그렇다면  위 설명에 특정 스레드에 하나의 cpu를 할당해서, 하나의 스레드의 실행속도를 최대화할 수 있는 보장을 한다라고 설명하고 왜 첫번째 인자로는 특정 스레드id가 아닌 process id를 넘기는거죠?  2. 만약 1cpu 4코어 8스레드라면 위에서 설명하는 CPU는  1cpu를 의미하는 거죠? 

1
장원일 프로필

왜 child process는 exit status가 2죠? 장원일 10달 전
child process 코드 영역에서 execl()이 fail하게되면  printf("execl() fail\n"); return -1이 실행되는것으로 예측하고 parent측에서 exit_status -1을 출력할 줄 알았는데 2가 되는 이유를 모르겠어요 

4
OMG 프로필

main 함수를 종료 할 때 반환값에 따른 차이가 존재하나요? OMG 10달 전
일반적인 프로그램에서 main 함수는 return 0을 함으로써 종료하는데, 강의 중에 에러 상황에서는 -1을 반환하면서 프로그램을 종료시키는데 0과 -1의 반환 값의 차이로 인해 그것을 활용하는 무언가가 존재하기 때문에 이와 같은 방식을 사용하는 것인지 궁금합니다.

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스