묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
대기상태
프로세스가 입출력 장치를 사용하는 경우입출력 작업이 끝날때까지 기다려야 한다고 하셨는데,예를들어 워드 프로그램을 실행중에 프린트를 출력버튼을 누르고바로 워드 프로로그램을 이어서 실행할수있지 않나요?그런데 왜 대기상태로 접어든다는걸까요?ㅠ프린트물 완료되었다는 입출력 알림이 올때까지 대기 상태로 간다는게 이해가 안갑니다ㅠㅜ 아니면 입출력에 대한 인터럽트가 발생해 인터럽트 서비스 루틴을 완료할때까지 기존 수행하던 작업을 대기 상태로 둔다는걸까요? 그렇게 본다면..프린트 버튼을 누르고 보통 1초후(아직 출력물은 나오지않았지만)에 바로 워드프로그램 사용이 가능한데, 사용가능할때 이미 서비스 루틴은 완료되어 알림을 받은상태일까요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
shell에 관련하여 질문드립니다.
복습 중에 궁금한 사항이 있어서 질문드립니다. 강사님께서 '컴퓨터라는 세상에 나라는 존재는 프로세스 형태로 존재한다.'라고 하셨고 대표적인 예가 shell이라고 하셨는데요. 그러면 이 shell이 0번 프로세스가 되는건가요? 항상 질 좋은 강의를 만들어주셔서 감사드립니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
네트워크 책
혼자 배우는 네트워크강의는 안나오나요ㅠㅠ책말고 강의도 해주세요 ㅠㅠ
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
책과의 차이가 궁금합니다.
큰돌님 안녕하세요~ 면접을 위한 CS 전공지식 노트를 구매해서 완독을 하고, 어느 정도 암기도 다 했다고 생각하는데 뭔가 아쉬운 느낌이 들어서 큰돌님 강의를 구매했습니다. -개발자가 꼭 알아야하는 지식이 파트의 경우에는 책에 없는 내용이라 너무 좋게 들었고 이제 디자인 패턴부분부터 학습을 시작하려고 하는데 책과의 차이점이 궁금해서 질문드립니다. 책과 함께 병행해서 보면 좋은 것인지, 아니면 책의 내용이 모두 강의에 담겨 있어서 제공해주시는 교안을 통해 책의 내용을 복습하고 추가적인 내용을 학습하는 것이 좋을지 궁금합니다. 늘 좋은 강의 감사합니다!
-
미해결FreeRTOS 프로그래밍
caddr_t undeclared 문제
TASKMAN 예제를 돌리려는데 다음과 같은 문제가 발생합니다. Description Resource Path Location Type'caddr_t' undeclared (first use in this function) sysmem.c /01_TASKMAN/Src line 76 C/C++ Problem 검색해보니, https://community.st.com/t5/stm32cubeide-mcus/how-do-i-load-stm32cube-fw-g4-v1-5-0-examples-into-stm32cubeide/m-p/582818 void * 로 대체 하거나 <sys/types.h> include 하라는것 같은데 예제에 업데이트가 되야 할것 같아 문의 드립니다.
-
미해결리눅스 커널의 구조와 원리: 디버깅 - Basic [저자 직강 1부-2]
실습에 사용되는 코드 스크립트를 받을 수 있나요?
ftrace 설정 강의에서 쉘 스크립트 설명만 해주시고 전체 코드에 대한 정보가 없어 질문 남깁니다.제가 가진 책이 커널 버젼이 4.xx 을 반영하고 있어서 코드가 조금 달라보이는데 전체 코드 스크립트를 제공해주실 수 없나요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
가상메모리 관련 질문있습니다.
선생님 안녕하세요.강의 잘 들었습니다. 다름이 아니라 가상메모리에 대해 궁금한 것이 있습니다.메모리 공간을 힙과 스택으로 구분하고,힙은 프로세스에 스택은 쓰레드에 할당된다고 하셨는데 그러면 가상메모리는 프로세스 마다 할당되고프로세스의 실행 단위는 쓰레드이니 가상메모리에는스택만 존재한다고 보면 되는 건가요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
정렬병합조인 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 코드 내에서 값이 같은 경우 append를 하고indexA += 1, indexB += 1을 해주셨는데그럼 테이블B에 id가 중복된 경우 해당 행을 조인하지 못하고 건너뛰는 상황이 발생하지 않나요? 예를 들어 A의 id가 1, 2, 3, 4, 5이고B의 id가 3, 3, 6, 7 이라고 하면조인의 결과가 2행이 나와야 하는데indexA = 2 indexB = 0 에서 매칭 후바로 둘다 indexA = 3, indexB = 1이 되면조인의 결과가 1행만 나올 것 같아요
-
미해결운영체제 공룡책 강의
24:35초에 설명하는 time-sharing이 책에서 다루는 내용과 달라요.
Timesharing is allowing many users to interact concurrently with the single computerMultitasking is when multiple tasks are preformed during the same period of time in a single processor.책이나 다른 자료들에서는 time sharing 이 여러 유저들에게 일정한 시간을 단위로 cpu 를 점유할 수 있게 한다고 하는데, 이 강의에서 다루는 내용은 프로세서들을 메모리에 다 저장해놓고, 시간을 나눠서 사용하는 것이 time sharing 이라고 했어요, 유저들 간의 사용성이 언급되지 않았어요.혹시 강의 내용이 잘못된것인가 저의 이해가 부족한 것인가 싶어서 질문 드립니다.감사합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
강의안 질문
혹시 강의에서 사용하시는 ppt 자료는 받아볼 수 없을까요..?강의 잘보고있습니다!
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
interrupt와 DirectX 질문
안녕하세요 널널한 개발자님 덕분에 강의 잘 듣고 있습니다.기존의 GDI 엔진을 이용한 그래픽 처리의 경우 아래의 세 가지 경우에 대해 interrupt가 발생한다고 표시하셨습니다(27:49부터 작은 노란색 동그라미 표시). 자세한 설명은 없었지만 제가 이해한 바를 덧붙여서 써보면(틀린 부분 있으면 정정 부탁드립니다.)user mode에서 API를 통해 system call이 호출되어 kernel mode에 있는 GDI엔진이 실행되도록 cpu가 일을 처리해야 할 때. video card가 작업을 끝냈다고 cpu(PCI-e로 cpu와 직접 연결된 경우), 혹은 입출력 관리자에 통보할 때GDI 엔진이 작업을 끝냈다고 cpu에 통보할 때강의 내용과 관련하여 여쭤보고 싶은 점은 3 가지 입니다.kernel mode에 있는 Driver가 H/W인 video card에 작업을 요청할 때에는 interrupt가 발생하지 않는지. GDI엔진, Driver 등 커널 내부의 요소들끼리 작업을 요청할 때에는 interrupt가 발생하지 않는지.DirectX도 어쨌든 kernel mode에 진입해야 하기에 system call을 호출하여 interrupt는 발생할텐데, GDI 엔진을 사용했을 때의 interrupt 발생 횟수와 Direct X를 사용했을 때의 interrupt 발생 횟수가 어떻게 차이가 있는지.바쁘실텐데 긴 글 읽어주셔서 감사합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
원형 대기 제거 = 점유와 대기 제거인지 궁금합니다 (마지막 프로세스에 한해)
안녕하세요. 강의에서 보여주셨던 "원형 대기를 없앤 경우"가 (마지막 프로세스에 한해) 점유와 대기를 없애는 것과 동일한 것인지 궁금합니다. 원형 대기를 없애기 전에는 모든 철학자 (프로세스)가 왼쪽 포크 (자원)를 들고 있을 시 "프로세스가 자원을 들고 있으면서 다른 자원을 대기하는 경우"가 전부 발생하기 때문에 교착 상태가 발생하고, 원형 대기를 없앤 경우 (책에서 작성하신 오름차순 등)에는 모든 철학자 (프로세스)가 왼쪽 포크를 들고 있더라도 마지막 철학자가 대기를 하지 않게 되므로 자신이 왼쪽 포크를 놓으면 문제 없이 다른 철학자가 식사를 할 수 있는 것과 같은 흐름일까요?
-
미해결리눅스 소개와 리눅스 커널 Overview [저자직강 1부-1]
교재 관련
안녕하세요. 이 시리즈도 강의 교재를 올려주시나요?인프런에서 좋은 강의 많이 열어주셔서 감사합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
인터럽트 처리와 문맥교환의 차이
하드웨어 인터럽트 발생시 인터럽트를 처리하기 위해 레지스터에 저장된 데이터는 스택에 저장되는 것으로 알고 있습니다. 프로세스 문맥교환시 레지스터 값은 PCB에 백업되는 것으로 알고 있습니다. PCB 는 커널영역에서 생성되고 관리되는 것으로 알고 있습니다. 저는 하드웨어 인터럽트 발생시 레지스터값을 임시보관하는 위치인 스택이 사용자 영역의 스택으로 생각했었습니다. 그런데 커널 스택이라는 내용을 보아서요. 커널 스택이 맞나요?
-
해결됨리눅스 커널의 구조와 원리: 디버깅 - Basic [저자 직강 1부-2]
sysrq magic key를 입력해도 아무런 반응이 없습니다.
안녕하세요. 강의 잘 보고 있습니다.수업을 듣고 라즈베리파이로 sysrq 매직 키를 입력해보았는데, 아무런 응답이 없어서 질문 드립니다. echo -o > /proc/sysrq-trigger-o는 poweroff인데, 위 명령어를 입력해도 메시지 출력도 없고 power off도 되지 않습니다.제가 잘 이해를 못한 것 같은데, 무엇인지 좀 알려주실 수 있나요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
volatile 관련 자바 classname.this 질문
DEEP DIVE : 싱글톤 패턴을 구현하는 7가지 방법 #2 ★★☆강의 volatile 설명에서 알려주신 자바 코드와 동일하게 Kotlin 코드를 작성했습니다.class Test2 { private var flag = true fun test() { Thread { var cnt = 0 while (flag) { cnt++ Thread.sleep(100) println(cnt) } println("Thread1 finished") }.start() Thread { Thread.sleep(100) println("flag to false") flag = false }.start() } }이 코드를 실행하면, flag가 바뀌는 즉시 첫 번째 쓰레드가 멈춥니다. 이유가 궁금해서 자바로 디컴파일된 코드를 확인해봤고, Thread1에서 flag를 확인할 때 Test2.this.flag와 같이 접근하는 것을 발견했습니다.ClassName.this 가 무엇인지 궁금합니다. 자바의 정석 책에 해당 내용은 없고, 구글에 검색해봤는데, 유의미한 답변으로 아래 글만 발견했습니다.Within an instance method or a constructor, this is a reference to the current object — the object whose method or constructor is being called. You can refer to any member of the current object from within an instance method or a constructor by using this.https://stackoverflow.com/questions/4080868/using-this-with-class-name/46091971#46091971
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
동기화 기법과 그냥 반복문 돌리는 것의 차이
생산자 소비자 문제는 상품의 개수라는 전역 변수이자 공유 자원이 핵심이고, 이를 위해서 상호배제를 위한 동기화가 필요합니다.하지만 2회독을 하면서,예를들어 생산 1000번, 소비 1000번 한다고 했을 때그냥 생산 반복문 1000번, 소비 반복문 1000번 돌리면 상품의 개수가 0이 되어서 문제가 없지 않나..?그렇다면 동기화 기법이 왜 필요하지..? 라는 의문점이 들었습니다.한번 더 생각해보면 실제로 현실에서는 생산 1000번, 소비 1000번이 순서대로 일어나지 않으니까 동기화 기법이 필요한건가..?라는 나름의 해답도 떠올랐는데,둘의 차이를 어떻게 봐야 할까요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
선생님 안녕하세요
이번에 컴공과로 전과하게 되어서 전과하기전에 배우고 갈려고 강의 듣고있습니다 이 강의듣고 c언어까지 들으면 컴공가서도 어차피 배우겠지만 적응하는데 큰 문제는 없을까요 아직 머릿속에 정리는 안되네요 ㅜㅜ
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
메모리와 프로세스와 CPU
초창기 강의에서메모리와 CPU에대해서 설명해주셧을때 메모리(RAM)는 프로세스(현재 실행중인 프로그램)에 데이터와 명령어를 저장한다고 하였다고 들었습니다.프로그램이 실행하려면 메모리에 저장이 되어야한다고 이해가 안가는게 프로그램을 실행한다는건 CPU가 메모리에있는 데이터를 가지고와서 그 프로그램에 데이터와 명령어를 해석한후 동작을 시켜야 프로그램이 실행되는거 아닌가요? 그이후에 프로그램이 실행되면 거기에대한 명령어와 데이터가 저장되는거 아닌가요? 애초에 CPU가 명령어를 해석하고 동작시키기전에 메모리에 프로세스의 데이터들이 저장이 될 수가 있나요? 이 프로세스 즉, 현재 실행중인 프로그램 이라는 단어때문에 굉장히 애매모호 해지네요
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
공유자원과 임계구역
안녕하세요 선생님강의 정말 잘 듣고 있습니다..!레지스터에 대한 설명이 잠깐 나와서 궁금한 점이 생겼는데요..!생산자-소비자 문제를 설명하시면서, sum = sum + 1;sum -= 1;기계어로 쪼개보면 원자성이 보장되지 않아 문제가 발생하는 것을 확인했습니다.그런데 값을 읽고, 연산할 때 eax 레지스터를 사용하는 것으롭 봤는데요..!두 곳에서 사용되는 각 eax는 이름만 같을 뿐 사용되는 영역은 달라서 위에 eax는 1이고, 아래의 eax는 -1을 가지는 건가요??