묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
프로세스 관련 질문
강의 정말 잘 듣고 있습니다 강사님 프로세스 관련 질문 드립니다. 프로세스란 강사님이실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행되는 것을 process라고 합니다. 라고 설명해주셨습니다. 하지만이 부분을 보시면 프로세스의 상태에 준비라는 것이 있습니다.또는 봉쇄 라는 것도 있네요 그렇다면 프로세스란 실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행되는 것 이 아니라 실행파일(program)이 memory에 적재되어 cpu 의 할당을 받을 수 있는 것 이 맞는 거 아닌가요?? cpu 는 하나의 프로세스만 연산이 가능하다고 설명해주셨습니다. 만약 프로세스의 정의가 실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행되는 것 이라면 프로세스는 하나의 cpu 기준 1개만 존재해야하는 것인가요??결론은 프로세스의 정의 설명중에 실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행이라고 설명해주셨는데 여기서 실행이라는 단어가 이해가 안갑니다
-
해결됨그림으로 쉽게 배우는 운영체제
페이징&가상메모리 관련 질문 드립니다.
안녕하세요. 가상메모리 부분 강의를 들으면서 궁금한 점이 생겨서 질문글 올립니다.1.페이징 기법에서 가상메모리를 일정한 크기로 나눈 블럭이 페이지, 물리메모리를 일정한 크기로 나눈 블럭이 프레임이라고 하셨는데, 페이지와 프레임의 크기는 같나요?1-1. 만약 같다면 그 크기는 영구적인가요?1-2. 만약 다르다면 페이지 크기는 프레임 크기보다 같거나 작아야 할텐데 그건 어떻게 제어/관리하나요? 2. 추가 공부를 하다가 가상메모리와 가상 주소 공간은 다르다는 것을 알게 되었습니다. 프로세스 실행 시 각 프로세스는 가상 주소 공간을 가지며 0번지부터 시작한다고 하는데, 이 각각의 가상주소공간이 가상 메모리에 올라가는 건가요?2-1. 만약 그렇다면 가상메모리를 하나라고 생각해야 하나요, 아니면 여러개(프로세스 수만큼)라고 생각해야 하나요? 가상메모리라는 개념 자체가 추상적이어서 헷갈립니다. 2-2. 만약 여러개라면 페이지는 가상메모리를 일정한 크기로 나눈 것인데, 각각의 가상메모리를 모두 일정한 크기로 나누는 건가요? 아니면 각 프로세스마다 페이지의 크기도 다른가요? 가상메모리가 말 그대로 가상의 것이라 실체가 없어서 그런지 개념이 너무 헷갈립니다ㅠㅠ 답변 기다리겠습니다. 감사합니다.
-
해결됨그림으로 쉽게 배우는 운영체제
페이징(배치정책) CPU에 논리주소를 물리주소로 전달해 줄때 계산 단위
안녕하세요.CPU에서 논리주소 0x1000번을 요청을 했을때 메모리 관리자를 통해 물리주소로 반환된 값이2000이라고 가정을했을때0x2000번을 말하는건가요 아니면 10진수 2000을 말하는 건가요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
노션 전자 책 동영상 문제
강사님 원래 노션 전자 책에 있는 동영상들이 다 볼 수가 없는건가요?? 몇개는 보이고 몇개는 안보여서요!!
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
JSON으로 사이트맵
xml보다 JSON 형식이 더 가볍고 좋은 것 같은데 JSON 형식으로는 sitemap을 만들 수는 없나요?? 그리고 그 이유는 무엇인가요
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
브라우저 렌더링 부분 교재 관련 질문입니다!
안녕하세요 강사님! 우선 좋은 강의 감사드립니다 :)열심히 보고 있습니다 ㅎㅎ..브라우저 렌더링 관련되어 의문이 생겨 질문을 남겨보니 시간 여유있으실 때 답변해주시면 좋겠습니다.렌더 트리? 렌더 레이어 ?? 렌더객체??짧게 브라우저 렌더링 관련하여 공부를 하고 인강을 들으면서 다시 복기를 하였을 때 렌더레이어라는 말을 처음 들어보는 것 같아 추가적으로 정보를 찾아보려고 browser render layer 와 같은 키워드를 찾아보았습니다. [Naver D2 - 하드웨어 가속에 대한 이해와 적용] 글을 발견하였고 아래와 같은 설명이 있었습니다.DOM 트리: HTML 웹 페이지를 파싱한 트리로, HTML 문서의 각 요소를 쉽게 처리(추가, 삭제 등)하기 위하여 브라우저의 엔진이 사용하는 트리다. RenderObject 트리: DOM 트리로부터 만들어지는 트리로, DOM 트리의 노드 가운데 실제 화면에 표현되는 노드만으로 구성된 트리다. RenderLayer: 브라우저의 엔진이 하드웨어 가속 등을 처리하기 위해 사용하는 논리적인 레이어로, 각 RenderObject의 속성에 따라 RenderLayer에 할당된다. GraphicsLayer: 하드웨어 가속 처리를 위한 물리적인 레이어로, 레이어별 RenderObject를 GraphicsLayer 단위로 렌더링한 뒤 최종적으로 GPU를 통해 합성된다. 그리고 PDF 기준 150~151번째 페이지에 아래와 같은 코멘트가 있습니다. Q. 렌더객체와 렌더레이어는 1:1 대응일까요?- NO : display:none으로 사라지는 노드들이 있을 수 있기 때문입니다.하지만 DOM 트리와 렌더트리는 1:1대응이 됩니다. 이렇게 렌더트리가 생성된 후..제가 이해한 바로는 위 D2에서 이야기하는 RenderObject Tree 를 렌더트리라고 명명 하신 것 같습니다.(아니면 저의 이해력부족인 것 같습니다 🥲)DOM트리에서 렌더트리(RenderObject Tree)를 생성할때 이미 font-size의 상속 및 display:none에 해당하는 DOM 객체에 대한 수정이 이루어지고 그렇게 된다면 1:1 대응이 되지 않는것이 맞는 것 같다는 생각이 들어 문의를 드립니다!그렇다면 DOM트리와 렌더트리(Render Object Tree) 렌더레이어(Render Layer) 그 어느것도 1:1대응이 되지 않는 것이 아닐까요?질문 끝까지 읽어주셔서 감사합니다 :)답변 기다리고 있겠습니다!
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
안녕하세요 강사님!
안녕하세요!!알고리즘 강의 관련해서 질문드립니다!강의 소개보면 77000원 에서 가격 올린다고 적혀있던데업데이트 들어갈때마다 가격을 올리신다는거죠?현재 백준 골1비전공자, 작년 4월 사설부캠다니면서 개발공부시작했고, 알고리즘은 7월부터 브론즈 문제 풀면서 시작했습니다.대략 이정도 풀었고 노씨면접 강의가 너무좋아서 알고강의도 구매하고싶네요...후 구매해도 후회안하겠죠?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
교제를 따로 사야하나요?
CS지식의 정석 | CS면접 디자인패턴 네트워크 운영체제 데이터베이스 자료구조 강의를 수강했는데 강의 교안 만 가지고 가능한가요?교제와 강의 교안이 많이 다르다면 따로 사는게 좋나요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
클라우드 아키텍쳐에서 토폴로지 설계
안녕하십니까 큰돌쓰앵님 좋은 강의 항상 감사합니다.토폴로지 내용을 듣다보니, 왜 현업에서는 토폴로지를 고려하여 설계한적이 없는지 의문이 들었습니다. 생각해보니 주로 클라우드 서비스를 이용하기 때문에 어떤 토폴로지로 설계할지 고민한적이 없었습니다.Q. 그렇다면 토폴로지 설계는 클라우드 서비스를 이용할 땐 고려대상이 아닌 것인지, 온프레미스를 사용할 때만 토폴로지를 고려하는 것인지 궁금합니다.감사합니다!
-
해결됨그림으로 쉽게 배우는 운영체제
프로세스 동작 및 스케줄링 알고리즘 관련 질문 드립니다.
안녕하세요. 프로세스 및 스케줄링 알고리즘 강의를 들으면서 궁금한 점이 생겨 질문 드립니다.1. 프로세스 동작 관련 질문제가 프로세스 관련해서 공부를 하다가 추가적으로 Process Table이라는 개념을 알게 되었습니다. Process Table은 PCB 값을 빨리 찾을 수 있도록 PCB 참조 포인터를 가지며, 프로세스가 종료되어도 zombie process 형태로 Process Table에 남아 있다고 배웠습니다.이 개념과 결합하여 몇 가지 질문 드립니다.1-1. 강의에서 프로세스 종료 시 운영체제가 해당 프로세스의 PCB를 연결 리스트에서 제거한다고 하셨는데, 이때 PCB 자체가 사라지는 건가요? 아니면 PCB는 커널 어딘가에 저장되어 있고 연결 리스트에서만 제거 되는 건가요?1-2. 만약 PCB 자체가 사라지는 거라면 Process Table에 저장된 PCB 포인터도 사라지는 건가요? 그럼 Zombie Process는 어떻게, 왜 남아있는 건가요? 2. 스케줄링 알고리즘 관련 질문스케줄링 알고리즘 강의에서 큐에 프로세스의 정보가 담긴 PCB를 넣는다고 하셨습니다.2-1. 여기서 PCB가 실제 PCB를 말하는 건지 PCB의 주소를 참조하는 참조값인지 궁금합니다.2-2. 만약 참조값이라면 Queue에서 PCB를 직접 참조하는 건지, 아니면 Process Table을 거쳐서 PCB를 찾는 간접 참조인지 궁금합니다. 3. 프로세스 생성 및 스케줄링 동작 정리위 질문 사항을 제외하고 제가 이해한 게 맞는지 확인해주시면 감사하겠습니다.메모리 공간은 경계 레지스터에 의해 운영체제 영역과 사용자 영역으로 나뉘며, 프로그램 실행 시 사용자 영역에 Process 1이 적재되면 운영체제 커널에는 PCB1이 생성됩니다. 스케줄링 알고리즘 역시 운영체제 커널에 저장되어 있으며 스케줄링 알고리즘 내부에서 준비큐가 동작하여 PCB1을 통해 Process 1의 상태 정보를 불러와 CPU를 할당하고 실행합니다. 이후 스케줄링 알고리즘에 따라 다음 PCB2를 통해 Process2를 실행하며 이 과정을 모든 Process가 종료될 때까지 반복합니다. 공부를 하면 할수록 개념이 꼬이는 것 같아서 질문 드립니다. 복잡한 질문이지만 답변해주시면 정말 감사하겠습니다.
-
해결됨그림으로 쉽게 배우는 운영체제
인터럽트 발생 시점과 비동기 방식
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 인터럽트 발생 시점강의에서 인터럽트 방식은 CPU가 입출력 명령을 내리고 다른 작업을 계속한다고 하셨습니다.출력인 경우 cpu가 입출력 관리자에 출력을 요청하고 다른 작업을 하다가 출력이 완료되면 입출력 관리자가 인터럽트를 발생시키는 건가요?입력인 경우는 cpu가 입출력 관리자에 입력을 요청할 필요가 있나요?? 키보드 등으로 입력이 들어오면 메모리 매니저를 통해서 cpu에 입력이 왔다고 인터럽트를 발생시키는 건가요? 비동기 방식cpu가 입출력 관리자에 입출력을 요청하고 다른 작업을 한다고 하셨는데 입출력을 요청한 작업외 다른 작업을 하는 건가요?인터럽트가 발생하면 cpu가 연산을 일시정지한다고 알고 있는데 입출력을 요청한 작업과 다른 작업 모두 정지되는 건가요 아니면 다른 작업은 계속 진행하나요??왜 연산을 정지해야 하나요? 이해가 많이 부족하여 질문이 중구난방이라 죄송합니다ㅠㅠ감사합니다
-
미해결FreeRTOS 프로그래밍
포팅 부탁 드립니다.
-------------------------------------------------- 사용하고 싶은 ST 보드명: STM32F407G-DISC1- 사용하시는 컴파일러(stm32cubeide) 버젼: 1.11.0- 기타: -------------------------------------------------
-
해결됨그림으로 쉽게 배우는 운영체제
PCB 상태 실행에서 대기 상태에서 준비 상태로 변경시
안녕하세요.질문사항 이 3개있어서 답변을 받을수 있을까 하고 적어 봅니다.대기 상태에서 입력이 완료가 되었다는 것을 어디서 계속 체크하는 지 알수있을까요?혹시 키보드나 하드웨어 쪽에서 하는건가요?PCB가 A(Wait), B(Running)인 상태면 스캐줄러는 준비 > 실행 > 준비 > 실행 이렇게 동작을 하나요?아니면 준비 > 실행 > 대기(IO 작업이 완료 되었는지 검사)이렇게 진행이 되나요.(1번과 비슷한 질문)대기 중인 상태에서 입력이 완료가 되었을 때 CPU에게 인터럽트 항목을 호출한다고 알고있는데 이것이 맞는 항목인가요?긴 글 읽어 주셔서 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨그림으로 쉽게 배우는 운영체제
프로세스 동기화 질문 드립니다.
안녕하세요! 프로세스 동기화에서 세마포어, 뮤텍스, 모니터 개념을 찾아보면 "프로세스 간에..", "스레드 간에..", "프로세스 또는 스레드 간에.." 글마다 설명이 다르던데 기준이 프로세스가 될 수도 있고, 스레드가 될 수도 있는건가요? 프로세스와 스레드 용어가 섞이다보니 헷갈려서 질문 드립니다!
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
로컬스토리지, 세션 스토리지 용량 초과하면 어떻게 되나요?
용량 초과하면 어떤 상황이 생기나요?
-
해결됨그림으로 쉽게 배우는 운영체제
부모 프로세스는 프로그램을 실행하지 않아도 생기는 건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.인터넷 검색해도 정확히 써져있지 않거나, 좀 애매모호하거나 제가 이해한 것이 맞는 지 궁금해서 여쭤봅니다.1) 부모프로세스는 부팅후에 운영체제에서 바로 만드는 프로세스인가요?2) 아니면 첫 프로그램을 실행했을 때, 프로세스가 되면서 그 프로세스가 부모 프로세스가 되는 건가요?!3) 둘 다 아니면, 부모 프로세스는 fork()함수가 불러지면서 만들어지는걸까요?? 1번 경우에는 그럼, 자식프로세스보다 먼저 죽는 경우는 왜 생기는 건가요??!
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
Linked List 시간 복잡도
선생님. Linked List의 추가/삭제 시에 노드 간의 데이터 주소만 연결하여 주기만 하면 되기 때문에 시간 복잡도가 O(1)이며, index까지 도달하는데 O(n)의 시간이 걸리기 때문에 추/삭의 경우에도 O(n)의 시간이 걸린다고 볼 수 있다고 하셨는데,, 둘 다 내포한다고 생각하면 되나요??
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
페이징 기법에 대해 질문드립니다
가상메모리 소개 강의를 보고 추가로 제공해주신 페이징 기법의 구현 영상도 보았는데요, 몇 가지 궁금증이 생겨서 질문드립니다.page fault를 제가 잘 이해한건지 모르겠는데요, 매칭되는 프레임이 존재하지 않는다는 말은 페이지가 막 할당되어 아직 프레임이 할당되지 않은 상태를 말하는 건가요? 아니면 페이지 아웃이 발생해서 프레임이 존재하지 않는 상태인가요?작업관리자에 표시되는 페이징 풀은 커널 레벨에서 사용한다고 하던데, 중요한 시스템 프로세스들을 위해 예약된 용량이라고 보면 되나요?32비트 프로세스가 4GB의 가상메모리를 모두 사용한다고 치면, 페이지 크기가 4KB이므로 페이지 테이블이 가지는 엔트리의 개수는 1M정도 될듯한데요, 경우에 따라서는 낭비가 될 수도 있을 듯한데 이러한 부분이 문제되지는 않는지 궁금합니다.2월의 첫날이네요~ 이번 달도 잘 부탁드리고, 신규 강의와 준비중이신 강의 모두 좋은 성과 있으시길 바랍니다^^
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
학습 순서가 정해져있는건지 궁금합니다.
안녕하세요 CS 부족한 부분을 메꾸기위해 얼마전 강의를 구매해서 수강중에 있습니다.제가 디자인패턴은 들어본적이 없어서 학습속도가 느리다는 걸 느끼고 있는데, 각 CS 과목마다 학습 순서가 정해져있는건지 궁금합니다..하루에 디자인패턴 하나에 다른 과목들을 섞어서 들어도 상관없을까요?
-
미해결FreeRTOS 프로그래밍
isr 여러개인 경우 deferred task
안녕하세요수업듣고 심도있게 학습하고 있는 학생입니다.인터럽트 처리를 공부하고 있는데 질문이 있습니다.exti가 여러 개인 경우 어떻게 처리하는지 궁금합니다.저의 처리방식은 인터럽트gpio가 4개로 가정했을때char 전역변수;void 콜백함수(gpio){if(gpio==1){전역변수+=1;}if(gpio==2){전역변수+=2;}if(gpio==3){전역변수+=4;}if(gpio==4){전역변수+=8;}vTaskNotifyGiveFromISR(xHandle1, &xHigherPriorityTaskWoken);portYIELD_FROM_ISR(&xHigherPriorityTaskWoken);}이런식으로 하고자 하여 전역변수를 뮤택스로 묶으려 했는데 isr에서는 뮤택스를 사용하면 안된다고 하신 걸로 학습했습니다.다른 여러 자료를 찾아보아도 예시를 찾기가 어려워 질문드리게 되었습니다.제가 질문드리고자 하는 핵심은 여러 인터럽트를 동시에 사용할경우 어떻게 사용해야하는지 궁금합니다.