묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결운영체제 공룡책 강의
좀비 프로세스와 고아 프로세스
수업 내용에 따르면 자식 프로세스보다 부모 프로세스가 먼저 종료되면 자식 프로세스는 고아 프로세스가 됩니다. 이런 경우 자식 프로세스가 init 프로세스를 바라보게 된다고 알고 있습니다. 그럼 init이 새로운 부모 프로세스가 되고, 자식 프로세스가 종료하게 되면 wait()으로 리턴 값이 회수되지 않아 좀비 프로세스가 되나요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
배열의 삭제 시간복잡도
배열의 삽입, 삭제 시간복잡도에 대해서 shift가 필요히니 O(n)이라고 하셨는데요.삽입의 경우 해당 인덱스의 원소 값을 바꾸는 것이 아닌 기존 값을 유지하면서 새로운 값을 그 위치에 놓고자 한다면 O(n)이 맞겠습니다만삭제의 경우 그냥 해당 위치를 초기화하면 되지 않을까요?물론 말씀하신대로 쉬프트가 필요하다면 O(n)이 맞지만 삭제 연산에서 쉬프트가 필수적인가? 하는 의문이 있습니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
CPU 명령 실행 예시에서
1. 제어장치가 ALU에게 100과 120을 더하라는 지시를 하는 것도 제어신호를 통해 이루어지는 것인가요?2. 만약 맞다면 해당 제어신호는 제어장치가 1번째 메모리 읽기 신호를 통해 읽어온 명령어를 해석한 직후에 전송되는 것인가요? 아니라면 어느 시점에 전송되는 것인가요?3. CPU의 역할 중에서 메모리에 저장된 명령어 읽어들이기 + 읽어들인 명령어 해석은 제어장치가 단독으로 하는 것으로 생각되지만읽어들인 명령어의 실행은 제어장치와 ALU가 함께하는 업무인 것인가요?
-
미해결운영체제 공룡책 강의
Demand Paging에서의 valid-invalid bit 질문
페이징에서 메모리 보호를 수행할때의 valid-invalid bit와 demand paging에서의 valid-invalid bit는 같은 건가요?이전에 페이징에 대해서 배울 때, 페이징에서의 메모리 보호를 valid-invalid bit를 이용해서 한다고 배웠습니다.valid : 관련된 페이지가 논리 주소공간에 있는경우(legal)invalid : 관련된 페이지가 논리 주소 공간에 없는 경우(illegal)7:58 부분에서 demand paging에 대해 배울 때 역시 valid-invalid bit가 등장하는 데요. 여기서 설명하는 건 좀 다릅니다valid : 페이지가 legal하고 실제 메모리에 있는 경우invalid : 페이지가 valid하지 않거나 현재 secondary storage에 있는 경우둘다 valid-invalid란 단어를 사용하지만 설명은 다른것이 의아해 여쭙습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
가상머신 컨테이너 비교
가상머신과 컨테이너에 대해 공부하다가 궁금하게 들어서 질문드립니다. 소규모 s/w 배포 대규모 s/w 배포 모두 컨테이너 배포를 사용하는게 유리 할 것 같은데 보안이나 호환성의 문제에 대해 생각하지 않는다면 모두 컨테이너를 사용하는게 유리한가요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
master boot record관련
컴퓨터 전원을 켰을때 하드디스크에서 0트랙 0섹터의 마스트 부트 로드 코드를 넣는다고했고, 섹터는 거의 512byte 단위라고 이해를 해서요.그럼 부트 레코드는 항상 512byte를 유지가 되는건가요?
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
공유 자원과 임계구역 강의- TCB은 레지스터 데이터 보장..?
선생님 안녕하세요공유 자원과 임계구역 강의를 듣다가 9:58분 정도에 T1 eax 레지스터가 0으로 대입된다고 말씀해주셨는데 이전에 eax 값이 1이 증가한 후 suspend를 해서 다시 돌아오면 eax값이 1인 상태일거 같은데 1이 대입되어야 하는게 아닌지 궁금합니다.Thread 단위의 context switching이 일어날 때 레지스터 데이터들이 보존이 되는지도 궁금합니다..
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
외워야 할 단위 체계에서 의문점
안녕하세요 강사님! 강의 정말 잘 듣고 있습니다.다만 강의를 듣다가 한가지 의문점이 생겼습니다. ppt 16페이지, 외워야 할 단위 체계#2에서요,16비트는 65,536가지(64KB)이다. 라고 써있는데65,536에서 왜 갑자기 KB 단위가 나오나요? 1 KB = 1000Byte 인 점에서 64KB가 나온 것 같은데,지금은 경우의 수를 다루고 있는데 갑자기 여기서 byte가 왜 나오는지 이해가 안됩니다.저 말대로라면 16bit = 2byte 이니까16비트(2byte)는 65,536가지(64KB)이다. 즉, 2byte = 64KB 이다. 라고 해석이 됩니다...제가 어느 부분을 놓친걸까요 ... ㅠㅠ
-
미해결그림으로 쉽게 배우는 운영체제
운영체제 교재
고생하십니다.운영체제에 해박한 지식을 갖고 있다는 걸 느껴서 그런데감자님께서 운영체제를 공부하실 때 어떤 책을 가지고 공부하셨고 시중에 나온 교재들 중에 추천해 주실 만한 교재가 있는지 알고 싶습니다!
-
해결됨그림으로 쉽게 배우는 운영체제
오버헤드 질문
운영체제의 역사 강의에서 오퍼레이터의 오버헤드 너무 컸다고 하셨는데여기서 오버헤드가 뭔 의미인가요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
'multi process와 multi thread'를 비교 설명 강의 질문
안녕하세요! 개발남노씨님 전공 면접 스터디 하면서 해당 강의 잘 듣고있습니다 :)다름이 아니라 제목에서 언급한 강의에서 질문이 있는데, 이 그림 설명해주실때 "스택영역과 코드 영역을 공유한다"라고 말씀해주셨는데 이전 강의에서는 스택 영역만 각자 독립적이고 나머지만 공유한다고 말씀해주셨고 구글링해서 찾아봐도 스택 영역만 공유하는게 맞는것같은데 이부분이 그럼 잘못된 설명일까요..?https://inflearn.com/questions/638047해당 글도 참고를 했는데 '코드 영역은 독립적으로 실행하는 부분도 있고 공유하는 영역도 있다' 라고 답변해주셨는데 조금 헷갈립니다..ㅜㅜ
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
강사님 강의 잘 듣고 있습니다!
강의 관련 질문은 아니고 혹시 운영체제와 컴퓨터 구조를 좀 더 심도있게 공부하려고 할 때 참고할만한 서적이 뭐가 있을까요?전공서적 급이어도 괜찮습니다!
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
paged segmentation에 관한 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. paged segmentation에서 segment 단위로 process 간의 공유나 process내의 접근 권한 보호가 이루어지도록 해서 paging 기법의 단점을 해결한다고 하신 부분이 잘 이해가 안되서 이 부분에 대해 부연설명 부탁드립니다!
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
가상 메모리의 전체적인 흐름이 이게 맞을까요.
가상 메모리의 전체적인 그림이 머릿속에 그려지지 않아 여러 자료를 찾아보면서 따로 공부를 해보았는데, 제가 이해한 내용이 맞을지 여쭤보고 싶어서 질문 글 남겼습니다. 짧게 적기 힘든 내용이라 좀 길게 적게된 것 같은데 양해부탁드립니다...ㅠ_______________________________________________________가상 메모리란 실행하고자하는 프로그램의 일부만을 메모리에 적재하여 물리 메모리보다 더 큰 프로그램을 실행시킬 수 있게 하는 기술로, 메모리가 실제 메모리보다 많아 보이게 하는 기술을 말한다.페이징 기법을 기준으로 설명하자면, 물리 메모리를 프레임이란 단위로 나누고, 가상 메모리를 페이지란 단위로 나누어 관리한다. ( 페이지의 크기 = 프레임의 크기 )이때, 어떤 프로세스의 어떤 페이지가 어떤 프레임에 할당되어 있는지를 알기 위해 페이지 테이블이란 것을 활용하게 되고, MMU가 이러한 페이지 테이블을 기반으로 가상 주소와 물리 주소를 매핑해주게 된다. ( 페이지 테이블은 RAM에 저장되어 있다. )근데 페이지 테이블이 RAM에만 존재하게 된다면, 물리 주소로 접근하기 위해 (페이지 테이블을 참조하기 위해 한 번 + 프레임에 있는 페이지를 참조하기 위해 한 번) 총 두 번을 메모리에 접근하게 되는 현상이 발생한다. => 시간이 두 배로 걸려 비효율적따라서 우리는 MMU안에 TLB라는 자주 참조하는 페이지 테이블을 위한 캐시를 따로 두고, 대부분의 메모리 접근을 한 번으로 처리할 수 있도록 한다. ( CPU가 접근하려는 논리 주소가 TLB에 존재하는 경우 메모리 접근 한 번만으로 처리가 가능 )참조 과정에서 만약 페이지 테이블의 유효비트가 0인 페이지에 접근하고자 하는 경우( 현재 물리 메모리에 적재되어있지 않은 페이지인 경우 = disk의 스왑 영역에 존재하는, swap out 되어있는 페이지인 경우) 페이지 폴트라는 인터럽트가 발생되게 된다.그럼 운영체제는 잠시 동작을 멈추고 페이지 폴트 처리 루틴을 통해 ( swap out, swap in 과정 ) 스왑 영역으로부터 필요한 페이지를 물리 메모리에 적재시킨 후, 페이지 테이블의 유효 비트를 1로 바꾸어주게 된다.cpu가 다시 작업을 시작하고, cpu는 해당 페이지에 접근이 가능하게 된다.가상메모리는 위와 같은 일련의 과정을 통해 마치 페이지 폴트가 일어나지 않은 것처럼( 실제 메모리보다 큰 메모리를 가지고 있는 것처럼 ) 작동할 수 있게 해준다.다만 결국 스와핑이라는 작업 또한 어느 정도 시간이 걸리는 작업이기 때문에, 페이지 폴트 인터럽트가 너무 자주 발생되는 경우에는 스레싱이 일어나게 된다._________________________________________________________해당 강의에서 나온 개념들이 이런 식으로 이어지는 것이 맞을까요?추가적으로 4:30초 부터 나오는 내용에서 3번 항목이 이해가 안됩니다...아래와 같이 이해해도 될까요.(가상메모리에 페이지가 존재하는지 확인하고) => 유효 비트를 확인하여 해당 페이지가 실제 RAM에 적재되어 있는지를 확인한다.(물리 메모리에 비어 있는 프레임이 있는지 찾습니다.) => 물리 메모리에 필요한 페이지를 swap in하기 위해 빈 공간이 있는지 찾는 과정.(물리 메모리에도 없다면 스와핑이 발동됩니다.) => 물리 메모리에 빈 공간이 없다면 적재되어있는 다른 페이지를 swap out 시킴. 이 과정에서 무엇을 swap out 시킬지는 OS가 결정.이렇게 페이지를 로드(swap in)하고 페이지 테이블을 최신화 -> cpu 작업을 다시 시작.
-
미해결넓고 얕게 외워서 컴공 전공자 되기
외워야 할 단위 체계와 숫자
안녕하세요. 선생님좋은 강의 제공해주셔서 감사합니다!!동일한 질문이 있긴 한데요..제가 이해하고 있는게 맞는지 궁금합니다.. 4비트는 16개의 경우의 수를, 8비트는 256개의 경우의 수 16비트는 65,536 경우의 수를 표현할 수 있는 건 알겠는데, 왜 16비트가 64KB가 되나요? 단순히 2의 16제곱만큼의 메모리 주소를 저장할 수 있고메모리 용량이라고 표현할 수 있는 단위가 byte여서메모리 주소만큼(2의 16제곱)의 byte(2의 16제곱)가 있다고 생각하면 되나요??
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
entity와 relation의 차이점은 무엇인가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.둘 다 table과 같다고 하는것 같아서요
-
미해결FreeRTOS 프로그래밍
포팅시 자료 그대로 다운
강사님 f767zi로 포팅할때 강의 따라서 안하고 올려주신 파일 그대로 다운 받아서 해도 되나여?
-
미해결FreeRTOS 프로그래밍
TASKMAN 카피해서 컴파일시에 오류가 발생합니다.
- 사용하신 첨부파일의 버젼: 첨부파일 아직 사용안했습니다.- 사용하시는 ST 보드명: NUCLEO_F767ZI- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.12.0- 증상: 컴파일시 에러가 발생합니다.. 포팅하는 강의 따라하던중 freertos_portF767zi 복사에서 붙혀넣기하고 01_TASKMAN으로 할려고 했는데 전에 다운받아놨던게 있어서 01_TASKMAN(f767zi)로 생성했습니다. 이후에 런치파일 삭제하고 맵파일은 첨부터 없어서 삭제 안하고 컴파일 했더니 에러가 3개 발생했습니다.
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
어떤 관점에서 컴퓨터는 3층집이 되는 걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님! 질문이 있습니다!하드웨어 소프트웨어 프로세스 이렇게 3층집이 구성되는 걸까요? 또 0강에서 핵심 키워드를### 이번 강의 핵심 Keyword- Interupt- Interupt Request(IRQ)- IRQ는 고유 번호를 가짐- System Call이렇게 잡았는데 맞나요?아주아주 간단하게 정리를하며 강의를 듣는데도 0강은 운영체제(OS)는 Process를 Support하고, 하드웨어를 관리 및 제어 합니다.컴퓨터는 주변기기와의 상호작용(I/O = 입출력)을 통해 작동합니다. 이 과정에서 Interupt(방해)가 발생합니다.이렇게 밖에 정리를 못했네요. 위의 질문에 답변을 받으면 정리에 추가하려합니다.
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
DNS 서버에 요청 이전에 공유 프록시 캐시에 접근이 가능한가요?
브라우저 캐시는 브라우저에서 가지고 있으니 (네임서버에 요청을 하기 이전인) 실제 IP 주소를 모르는 상황에서도 당연히 접근 가능하다고 이해를 했습니다.그런데 공유 프록시 캐시의 경우는 서버의 앞단에 위치하고 있는 것 같은데, 실제 서버의 IP 주소를 모르는 상황에서도 이 부분에 접근이 가능한 것인가요? 혹시 가능하다면 이게 어떤 방식으로 가능한건가요...?혹시 이 공유 프록시 캐시의 경우는 일반 인터넷 사용자보다는 nginx 등을 프록시 서버로 이용하도록 구축된 서버 측에서 다른 서버에 요청을 하는 등의 상황에서 이용하게 된다고 보면 될까요?그냥 일반 인터넷 사용자의 경우는 브라우저 캐시만 확인하고 없는 경우에 네임서버에 요청을 보내어 실제 IP주소를 얻어온다고 봐도 되는걸까요?