월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨그림으로 쉽게 배우는 운영체제
MLFQ 알고리즘
안녕하세요. MLFQ 강의를 듣다가 궁금한 점이 생겨 질문드립니다.마지막 부분에 우선순위 별로 큐가 나뉘고 우선순위가 낮으면 탕미슬라이스가 커지는데, 이 때 우선순위는 기준이 무엇인가요?CPU 연산을 주로 하는 프로세스(P1)와 I/O작업을 주로 하는 프로세스(P2)가 있다고 할 때, P2의 경우는 CPU처리량이 많지 않아 우선순위큐가 항상 상위에 있을 것 같고 P1의 경우는 우선순위가 낮을 것 같은데 이 때 낮은 우선순위큐들은 어떻게 선택되어 실행이 되는건가요? 우선순위가 낮다는 것은 실행이 될 확률이 낮다는 건가요? 우선순위가 낮은 큐에 있는 프로세스들이 기아상태가 될 가능성도 있나요? 만약에 P1의 작업시간이 25초이고 우선순위 큐1(타임슬라이스10초)에서 실행상태가 된다고 하면 10초 이후에 CPU를 빼앗겨 우선순위 큐2(타임슬라이스20초)에 들어갔다가 다시 실행상태가 되었을 때 나머지 15초를 실행한 후 CPU를 반납하는건가요? 아니면 처음부터 다시 25초에 대해서 진행해서 CPU를 빼앗기고 우선순위큐3(타임슬라이스 30초)으로 들어가게 되나요? 마지막으로 준비상태일 때 준비큐에 있다가 실행상태가 된다고 하였는데 실행상태일 때는 어디에 있는 건가요? 준비큐 I/O큐 이런 것들은 어디에 존재하는건가요?
- 해결됨그림으로 쉽게 배우는 운영체제
FIFO 알고리즘 / RR 알고리즘
안녕하세요컨텍스트 스위칭 개념에 대해 궁금한 것이 생겨 질문드립니다.RR 알고리즘 설명해주실 때, 평균대기시간이 비슷한 경우 FIFO 알고리즘이 RR 알고리즘보다 효율적인데 RR 알고리즘의 경우 컨텍스트 스위칭이 일어나서 컨텍스트 스위칭 시간이 추가되기 때문이라고 하셨잖아요. 그럼 FIFO알고리즘처럼 하나의 프로세스가 다 끝나고 다음 프로세스로 넘어가는 경우는 컨텍스트 스위칭이 아닌건가요?질문)프로세스 하나가 종료된 후 다음 프로세스로 CPU를 할당하는 것은 컨텍스트 스위칭이 아닌건가요? 만약 그렇다면 비선점형 스케줄링의 경우는 선점형에 비해 상대적으로 컨텍스트 스위칭으로 인한 오버헤드 발생을 크게 고려하지 않아도 되나요? (추가)제가 공부한 것을 찾아보니 컨텍스트 스위칭이 일어나는 경우 중 CPU할당시간이 다 된 경우도 있다고 했는데 왜 RR 알고리즘만 컨텍스트 스위칭 시간이 추가되기 때문에 덜 효율적이라고 한 건지 잘 모르겠습니다. 그럼 비선점이여도 프로세스들의 시간이 짧다면 컨텍스트스위칭이 많이 자주 발생하고 오버헤드가 크게 발생할 가능성이 있는 것 같은데 제생각이 맞을까요? MLFQ 강의 예시에서 타임슬라이스가 1초인 경우에 프로세스1과 프로세스2(입출력 요청 후 대기중)의 컨텍스트 스위칭 과정이 어떻게 일어나는지 자세히 설명해주실 수 있나요?제 생각에는 프로세스1이 할당시간이 다 되어 큐에 들어갔고 CPU는 PCB1에 프로세스1의 정보를 저장한 후 큐에 있는 다른 프로세스를 가져와서 실행하려고 했는데 큐 안에는 프로세스1만 있기 때문에 다시 큐에서 프로세스1을 가져와서 PCB1의 정보를 리로드하고 이전 진행시점에 이어서 프로세스를 진행하는 것 같은데 맞을까요?
- 해결됨그림으로 쉽게 배우는 운영체제
블로그 업로드 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 아직 자료구조를 듣고있지만 몇개 들어본것만으로도 반해서 네트워크 강의도 구매했습니다! 강의를 들으며 블로그에 정리하려고 하는데 혹시 출처 남기고 캡처사진 몇장(일부)과 함께 블로그에 정리해도될까요?
- 해결됨그림으로 쉽게 배우는 운영체제
다중큐 강의에서 I/O 작업시 질문
안녕하세요. 재밌은 강의로 출퇴근때 꿀잼으로 강의 잘 보고 있습니다. 다중큐 강의에서 실행중인 프로세스에서 I/O 작업 이 발생하면 해당 I/O 작업의 종류별로 나뉜 큐로 들어간다고 하셨는데 이건 실행중인 프로세스의 큐가 비동기적으로 작성이 되어야 하는게 맞나요? 일반적으로 작성하면 계속 프로세스가 실행되고 있지만 I/O 작업이 끝나기를 기다리고 있는 상태인지 궁금합니다. 감사합니다!
- 해결됨그림으로 쉽게 배우는 운영체제
예제코드 질문
안녕하세요. 어떤분이 정정하신 부분에 대해서 질문하신 글 답변보고 질문드립니다.인터넷 브라우저가 종료되면 브라우저 프로그램의 코드 내에서 exit()가 호출되기 때문에, 해당 예제코드의 13번 라인에 exit()함수는 호출되지 않는다는 건가요?그렇다면 13번 exit()를 지워도 되는건가요?
- 해결됨그림으로 쉽게 배우는 운영체제
하드디스크와 메모리 질문 있습니다!
하드디스크와 메모리 설명을 듣다가 질문이 생겼습니다. 만약 제가 엄청나게 부자라 메인메모리를 많이 살 수 있는 능력이 있습니다. 그러면 메인메모리를 비휘발성으로 바꾸고 원래는 4단계의 절차(하드디스크 -> 메인메모리 -> 캐시 -> 레지스터) 를 3단계의 절차(메인메모리 -> 캐시 -> 레지스터)로 바꿀 수 있나요?!
- 해결됨그림으로 쉽게 배우는 운영체제
컴파일 과정 예시와 관련해서 질문드립니다!!
안녕하세요! 컴파일 과정 예시를 c언어로 작성해주셨는데 int main(void) 라고 main을 선언해주셨습니다!! 제가 알기로 void는 return 값이 없을 때 쓰는 걸로 알고있는데 0을 return 해주셔서 질문드립니다! 제가 잘못알고 있는지 궁금하여 질문글 남깁니다!!
- 해결됨그림으로 쉽게 배우는 운영체제
예제 코드 관련 질문입니다!
안녕하세요 정정하신 부분 읽고 질문이 생겼는데, 그럼 강의에 나오는 예제에서 인터넷브라우저를 닫게 되면(실패로인식하고) exit()함수가 실행 되는 것 인가요?
- 해결됨그림으로 쉽게 배우는 운영체제
공유 메모리 및 프로세스 생성 관련
안녕하세요. 프로세스 동기화 부분에서 공유 메모리 관련하여 궁금한 점이 생겨 질문을 남기게 되었습니다. 메모리는 커널 영역과 사용자 영역으로 구분되어 커널 영역에는 OS, 사용자 영역에는 일반 프로세스가 적재되는걸로 이해를 했습니다. 그렇다면 공유 메모리나 버퍼캐시 같은 메모리는 사용자 영역에 위치해있는지 아니면 OS 영역에 위치해있는지 궁금합니다. 그리고 프로세스 생성시 0번 init 프로세스를 fork해서 코드와 데이터 영역의 부분을 exec 된다고 설명해주셨는데 일반 프로세스가 자식 프로세스 생성시에도 init 프로세스를 복사하는지 그냥 자기 자신을 복사해서 exec하는지 궁금합니다.
- 해결됨그림으로 쉽게 배우는 운영체제
레지스터 관련
안녕하세요. 강의 듣던 중 궁금한 점이 생겨 남기게 되었습니다. 운영체제 역사 - 베이스 레지스터 메모리 주소 - 경계 레지스터, 재배치 레지스터 1) 각 강의에서 언급되는 레지스터에 대해서 베이스 레지스터와 재배치 레지스터는 용어는 다르지만 같은 레지스터로 생각되는데 맞는 부분일까요? 2) 경계레지스터는 운영체제 영역의 침범을 막기 위한 레지스터라고 하셨는데 경계 레지스터는 위의 베이스, 재배치 레지스터와는 다른 레지스터고 운영체제의 첫 시작 물리 주소는 0x0이니까 마지막 끝에 존재하는 주소값이 담겨 있는 거라고 보면 될까요?
- 해결됨그림으로 쉽게 배우는 운영체제
"컴파일과 프로세스" 강의 1분 37초
data 영역에 배열이 들어간다고 하셨는데 왜 배열이 여기에 들어가는지 잘 모르겠습니다. 저는 배열은 stack 영역에 들어가야 한다고 생각하는데 배열이 static하거나 전역적인 특징을 가진다고 듣지 못했습니다.
- 해결됨그림으로 쉽게 배우는 운영체제
"프로세스 생성과 종료" 강의 3분 47초
인터넷 브라우저를 사용하다가 종료가 되면 13번 라인의 exit() 함수가 실행된다고 하셨는데 제가 알기로는 if 문 내부에 단순한 문장(예: printf())이 아닌 exec() system call이 오게 되는 경우 프로세스 내의 프로그램을 새로운 프로그램으로 대치하기 때문에 호출이 정상적으로 이루어진 경우 복귀할 곳이 사라진다고 배웠습니다. 따라서 성공한 exec() 호출은 반환 값이 없고, 만약 아래의 exit() 함수를 실행하는 경우는 오로지 exec()가 실패했을 경우 뿐이라고 알고 있었습니다. 하지만 영상의 3분 47초부터는 exit(1)이 호출되고, 프로그램 종료를 알린다고 설명합니다. 정확히 어떤 것이 맞는 건지 궁금합니다..
- 해결됨그림으로 쉽게 배우는 운영체제
폴링 방식 관련
안녕하세요 폴링 방식과 관련해 궁금한 것이 있습니다! 폴링 방식에서 CPU는 입출력 작업이 들어오면 입출력 관리자에게 (입출력을 처리하라는) 입출력 명령을 내린다고 하셨는데 저는 이해를 ‘입출력 작업(‘0’키 눌림)이 들어오면 입출력 관리자에게 (화면에 ‘0’을 띄워)라는 명령을 내린다‘ 이런 식으로 했습니다 그런데 왜 언제 입출력 명령이 완료될지 알 수 없거나, 혹은 키 입력이 들어왔냐는 확인을 계속 해야 하는 것인지 잘 모르겠습니다;;
- 해결됨그림으로 쉽게 배우는 운영체제
네트워크 /프로세스 통신관련
보통의 책/교과서나 이 강의도 공통적인 것이 운영체제 커널에 속하는 네트워크에 대한 언급이 많지 않은데요. 여기의 프로세스간 통신이 그 부분에 해당되는 것일까요? 아니면 "장치관리" 내용에 그냥 공통적으로 적용되는 부분일까요?
- 해결됨그림으로 쉽게 배우는 운영체제
입출력 추가 질문
운영 체제 책을 보다보면 아래와 그림과 마주치는데요 프로세스가 i/o를 사용한다는 것은 저번 설명주신 것 처럼 device controller로 넘어가서 일을 하는 부분일까요? 그림처럼 프로세스와 device controller가 상호작용하면서 일하는 시간이 긴것인가요? 도움부탁드릴께요 ㅠㅠ
- 해결됨그림으로 쉽게 배우는 운영체제
컨텍스트 스위치
내용 중에서 "운영체제가 작업을 처리하는 단위는 프로세스 내의 쓰레드"라고 나오는데 그럼 컨텍스트 스위치의 단위가 쓰레드 단위로 진행된다는 의미인가요??
- 해결됨그림으로 쉽게 배우는 운영체제
분산운영체제
이 수업의 범위 밖이지만 감자님께 조언구합니다. 공부중 분산운영체제라는 컨셉이 와닿지 않는데요. 1. 네트워크 내 노드 (컴퓨터)들은 각자 os가 있잖아요 이것들이 뭔가 통합으로 돌아가는 가상의 os가 생기는게 분산운영체제인가요? 2. 클라이어트 서버 구조도 분산운영체제 라고 할수 있나요? 3. Tcpip, 소켓프로그래밍 이런 컨셉들도 os 커널과 관련이 있나요? 즉 os도 네트웍관련된일을 하는지요?
- 해결됨그림으로 쉽게 배우는 운영체제
블로그 업로드 관련
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님, 안녕하세요 :) 강사님의 강의를 너무 좋아하는 학생입니다. 개인적으로 공부 블로그를 운영 중인데, 출처와 함께 수업 중 다룬 내용 업로드(일부 캡쳐)가 가능할지 문의 드립니다. 답변 주시면 참고하도록 하겠습니다. :) 감사합니다!
- 해결됨그림으로 쉽게 배우는 운영체제
백엔드 개발자가 알아야 할 해당 강의내용 이외에 운영체제 내용들이 있을까요?
감자님께서 정성스럽게 만드신 운영체제 강의를 완강하였습니다. 좋은 강의 만들어주셔서 감사합니다! 그런데 질문드리고 싶은것이 있어서요. 제가 nodejs기반으로 백엔드 개발자를 희망하는데 혹시 해당 강의 내용이외에 운영체제에 대해서 더 깊숙이 알아야 할까요? 아니면은 이 강의의 내용만으로 충분할까요? 운영체제가 모든 IT직군의 기본이 되는 내용이라고는 하지만 내용이 워낙 어려워서 운영체제에 모든 것을 다 알아야 하나 궁금해서 질문드립니다. 다시 한번 강의를 만들어주셔서 감사드립니다!
- 해결됨그림으로 쉽게 배우는 운영체제
공유자원
공유자원과 임계구역에서 "공유자원"은 보여주신 예시와 같이 메모리 내용만 해당되는 것이지요? 혹시 cpu가 공유자원이 되는 경우도 잇나요? (그건 스케쥴링으로 해결하나요?)