묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결FreeRTOS 프로그래밍
실습환경 구축 STM32CubeIDE 시작하기. 따라하다가 에러 발생
안녕하세요. 선생님 실습환경 구축 STM32CubeIDE 시작하기 영상을 보다가 TASKMAN 인포트까지는 했는데, 그 이후 영상처럼 디버깅을 하면 에러가 납니다. 어떤 조치를 해야 하는지요? 빌드 조차도 되지 않으니 문제가 있는듯한데요. 처음 하는 것이라서 가이드가 좀 필요합니다. 답변 주시면 감사하겠습니다.
-
해결됨그림으로 쉽게 배우는 운영체제
프로세스의 생성과 종료에서
영상 시작하자마자 LoL.exe를 더블 클릭으로 실행시키면 운영체제는 해당 프로그램의 코드영역과 데이터영역을 메모리에 로드 빈 스택과 빈 힙을 만들어 공간을 확보한다. 이제 이 프로세스를 관리하기 위한 PCB를 만들고 PCB를 초기화 해준다." 라고 하시고,갑자기 컴퓨터가 부팅되면 딱 한번만 실행된다고 하는데, 설명이 매끄럽지 못한것 같습니다.컴퓨터가 부팅될때 운영체제의 PCB가 생성되고 LOL.exe를 클릭하면 ~~~과정이 일어난다 이 순서대로 설명이 되어야하는데,롤 클릭하는 과정 이야기 하다가 컴퓨터가 부팅될때 딱 한번 실행된다하면, 이걸 자연스럽게 이해할수 있을까 하는 생각이 드네요..
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
데이터 영역과 method area는 무슨 차이인가요?
Q. static키워드는 왜 사용하며 단점은 무엇인가요?위 강의에 해당하는 질문입니다.검색해보니 운형체제가 제공하는 메모리 공간 중 데이터 영역에 static변수, 전역변수가 저장된다는 말도 있는데.. 보는 관점의 차이일까요?데이터 영역 안에 method area가 포함되는 것인지요?
-
해결됨그림으로 쉽게 배우는 운영체제
인터럽트 수업관련 질문
안녕하세요 감자님. 이번 강의를 수강하면서 몇가지 질문이 있어서 남겨봅니다.폴링방식과 인터럽트 방식에 대해 설명을 해주셨는데 0:15 시간대에서 "CPU는 입출력 명령이 들어오면 입출력 관리자에게 입출력 명령을 내린다"라고 말씀을 해주셨는데 이 부분은 폴링방식과 인터럽트 방식 공통적으로 적용되고 폴링은 일정주기마다 CPU가 확인하는 방식이고 인터럽트 방식은 입출력관리자가 인터럽트 신호를 CPU에게 전달하여 CPU가 ISR을 실행하는 방식인건가요? 제가 이해하는게 맞는지 궁금합니다.그리고 만약 위에 이해한게 맞다면 "CPU는 입출력 명령이 들어오면 입출력 관리자에게 입출력 명령을 내린다"에서 입출력 명령이 들어오는지 어떻게 확인이 가능할까요?그리고 인터럽트 방식에서 입출력 관리자에게 입출력 명령을 내리고 CPU는 다른 일을 한다고 했는데 제가 다른데에서 찾아보기론 다른 일을 안하고 기다리는 경우도 있다고 들었습니다. 기다리는 방식을 blocking I/O 다른 일을 하는 경우를 non-blocking I/O라고 들었던것 같은데 맞는걸까요?
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
윈도우 레지스트리 질문
강의에서 강사님이1.레지스트리란 파일과파일 통ㅇ신할때 파이프보다 강하고파일과 메모리의 기능을 가지고있다하셨는데요레지스트리는 정책설정하는거 아닌가요? 정책설정으로 파일과 메모리기능을 할수있는건가요? 2.넓고 얕게 강의에서 하드디스크는 섹터마다 데이터를 나눠서 저장한다고하셨는데요혹시 리눅스에서 데이터 저장할때 블록으로 저장하는거랑 비슷한 이유인가요?(둘다 메모리 낭비의 문제가 있지만)
-
해결됨그림으로 쉽게 배우는 운영체제
복습하는 법
감자님! 안녕하세요. 감자님의 강의 미리보기를 통하여 강좌를 구매하게 되었습니다. 먼저 좋은 강의 만들어주셔서 감사합니다. 다름이 아니라 제가 강좌를 듣고 복습을 하고 싶은데 들으면서 필기할려는 방법으로 하려고 합니다. 그런데 문제는 강좌를 들으며 필기하려다 보니 듣는 시간이 너무 길어지는 것 같습니다. 혹시 감자님이 추천해주실 만한 학습방법이 있을지 여쭤보고 싶습니다.
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
파일시스템과 가상메모리
강사님이 유저레벨에서 커널레벨로 가려면 파일을 통해서 가는거라 했잖아요 리눅스에서/dev /sys 등 이런 디렉터리에서 파일들을 정리해놓은게 파일시스템이잖아요근데 이 파일시스템의파일들이 강사님이 말한 그 파일인가요?? 만약 제가 맞게 이야기한거라면 파일시스템은 유저수준인가요?? (파일이라는게 커널과 유저를 연결하는 것도있으니까)그리고 커널수준의 프로그램에게 전달하죠? 프로세스 마다 가상메모리를 사용한다고 하셨는데요 리눅스의 프로세스는 혹시 리눅스의 swap에 있는 거에서 쓰는거 맞죠?
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
Page fault 메시지가 나오면 스왑 인, 스왑 아웃은 일어나지 않는 건가요?
12:40 부분에서 *pszResult = 'A';를 하고pszResult에 저장된 주소가 51이고 페이지 5에 있다고 가정하시는 부분에서 궁금한 점이 있습니다. 페이지 테이블의 5번에 invalid라고 되어 있어서 Page fault 에러 메시지가 나온다고 하셨는데이런 경우 찾는 데이터를 스왑 영역에서 물리 메모리로 가져 온 후, 잘 안 쓰는 데이터를 스왑 영역으로 보낼 줄 알았는데 에러 메시지가 뜬다는 것은 스왑 인, 스왑 아웃이 일어나지 않았다는 건가요?스왑 인, 스왑 아웃이 일어나지 않고 에러 메시지가 나는 이유는 무엇인가요? 스왑 인, 스왑 아웃이 일어날 때와, 일어나지 않을 때가 따로 구분되어 있나요?
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
가상 주소, 절대 주소 부분이 헷갈립니다.
강의 2:00에 나온 오른쪽 그림 7-12(책 343p)에 나온 그림에 대해 질문이 있습니다. 이 그림은 운영체제 영역과 사용자 영역이 나뉘어 있는데프로세스별로 할당하는 가상 메모리마다 운영체제 영역과 사용자 영역으로 나뉜다고 보면 되는 건가요? 조금 헷갈리는데, 이 그림을 가지고 예를 들어서 프로세스가 2개 있다고 하면 2개의 프로세스 모두 각자가 가진 가상 메모리의 운영체제 영역이 0~360까지이고, A 프로세스의 가상 주소 10번지는 실제 물리 주소로 370이고, B 프로세스의 가상 주소 10번지도 실제 물리 주소로 370이 되는 건가요? 물리 메모리는 하나이니까요. 그럼 물리 메모리의 370번지를 두 프로세스 모두 사용하는 거라 말이 안 되는 것 같은데 제가 뭔가를 잘못 이해한 것 같은데 어디서 오해를 하고 있는지 모르겠습니다.. 혹시 잘못 이해하고 있는 부분을 바로잡아 주실 수 있나요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
안녕하세요 운영체제 부분 질문 있습니다!!
안녕하세요페이지 폴트 과정에서 가상 메모리가 page table 참조하다가 만약 실제 주소에 자리가 없으면 페이지 폴트가 일어난다고 이해했는데, 그럼 페이지 테이블에서 trap 발생하는것도 인터럽트인가요??스레싱이 발생하면 CPU 이용률이 줄어든다고 했는데, 그럼 스와핑이 일어날때 RAM에 있는 프로세스를 하드디스크로 보내자나요 즉 스와핑이 일어나고 있을때 CPU는 잠시 정지를 하는건가요??
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
강의 내용 관련 질문 있습니다!!
안녕하세요!! 질문드립니당 운영체제 강의에서 인터럽트가 어떤 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것이라고 나와있습니다. CPU가 메모리에 올라온 것을 레지스터로 들고와서 계산하는 걸로 이해했는데, 그럼 CPU가 정지하는게 아니고 인터럽트 메모리에서 들고오다가 인터럽트가 발생하면 인터럽트 벡터 테이블에 있는 내용들을 레지스터로 들고와서 읽고 처리하는건가요?? 면접의 정석 부분 듣다가 궁금한게 생겼습니다. 혹시 협업발생시에 생겼던 문제랑 해결했던 과정과 그 과정에서 얻은 점관련한 질문이 저는 가장 어렵다고 느꼈는데 혹시 이야기해주실 팁 같은게 있는지 궁금합니다 !!
-
해결됨곰책으로 쉽게 배우는 최소한의 운영체제론
운영체제 스레드 공부 중 궁금한 점 있습니다.
안녕하세요. 강의 잘 듣고 있습니다. 몇 가지 궁금한 내용이 있습니다. 1)운영체제 책 170p(강의 9분 40초에 나온 사진)을 보면 스레드 내부에 레지스터라고 써져 있는데스레드에 레지스터가 있는 게 아니라 Core의 레지스터 정보를 스레드에 저장해 둔다고 보면 되나요?(문맥 교환을 위해)스레드 그림 내부에 레지스터라고 써져 있어서 스레드에 레지스터가 있다고 말하는 건지 궁금했습니다. 2)PCB와 TCB가 따로 있다고 배웠는데, 만약 1개의 프로세스 내부에 스레드가 여러 개 있다고 할 때, 하나의 스레드는 실행 중인데 다른 스레드는 대기 상태, 또 다른 스레드는 준비 상태, 또 다른 스레드는 보류 상태일 수 있는 건가요?그럼 이 상황에서 그 스레드들이 속한 PCB의 상태는 어떤 상태를 말하고 있나요? 3)sleep() 함수에 대해 궁금한 점이 있습니다.프로세스 상태를 말할 때 생성, 준비, 실행, 대기, 종료, 휴식(sleep), 보류(suspend) 이런 상태들을 배웠는데아래 코드에서의 Sleep()은 휴식 상태를 말하는 게 맞나요? 아니면 대기 상태인가요? 주석에선 대기 상태라고 적혀 있어서 혹시 프로세스 상태에서의 대기를 의미하는 건지 궁금했습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
같은 ip인데 다른 네트워크일 수 는 없는거죠?
0.0.0.0~127.255.255.255는 넷id 앞 1개 쓰고128.0.0.0~191.255.255255 넷id 앞 2개 쓰고 그래서넷id 1자리(?) 쓰는 0.0.0.0은 있어도넷id 2자리(?) 쓰는 0.0.0.0은 없으니까 ip는 모두 서로 구별 되는 거죠? 질문이 이상하긴 한데
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
OS는 프로세스를 남의 프로세스 메모리로 접근하는 것을 못하게 하는데 포인터는 어떻게 이해하면 될까요?
포인터는 유일하게 메모리 접근을 하는 텍스트 코드로 알고 있습니다. 포인터도 프로세스 중에 검찰같은 역할로 보면 되는 것인가요? 프로그램 안에 코드가 있고 그 코드(텍스트)에서 포인터라는 (함수?) 것이 외부의 함수(스택)이나 heap에 접근이 가능하니까 궁금해졌습니다. 조금 더 추측하자면 포인터는 디버거를 사용할 때 디버거가 여러 지역변수나 값들을 보여줄 수 있고 메모리 안에 실행 중인 값들을 보여줄 수 있는데 이러한 디버거 프로그램은 포인터 구성 된 코드로 이루어졌다고 볼 수 있을까요? 지금 계층이 여러 군데로 산발적으로 학습돼서 맞는지 궁금합니다.
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
동시성과 병렬성의 예시
동시성이 하나의 코어안에 여러 일을 동시에 가능(번갈아가면서)병렬성이 여러 주체가 하나의 일을 동시에 진행하는 것이 정의인데 만약에주체가 여러 명(멀티코어)이고 똑같이 여러 일을 동시에 한다면 ex)동일하게 인프런 시청 그리고 program 다운로드 등(멀티 쓰레드) 하는 것은 가능한가요?동시성 범주안에 병렬성이 들어갔다고 말씀하셔서, 예시가 맞는 지 판단해주시면 감사합니다!
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
선생님 강의 책만으로 면접 준비 끝나나요?
선배들이 CS공부 많이 하라는데 어떻게 하죠테이블 짜봐라 이런 기능 만드려면 어떻게 설계 해야 하냐이런 문제 터지면 뭐부터 확인해야겠냐 이런 질문 한다는 데 강의만 들은 입장에서 솔직히 대답 못하겠어요 추가로 더 준비 해야하나요?
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
server는 왜 갑자기 listen 상태가 되는거죠?
서버가 열린다=listen 서버가 닫힌다=closed 상태가 된다 인가요?
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
visual studio code에서는 메모리 표현이 안되나요?
visual studio code에서는 메모리 표현이 안되나요? debugger memory map이라는 extenstion도 있는데 표기가 되지는 않아서 Visual studio를 따로 깔아야 하나요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
로드밸런서 관련 질문
안녕하세요!이전에 MSA로 프로젝트를 진행한 경험이 있는데, 그때 Spring Cloud를 사용해서 로드밸런서를 구현했던걸로 기억합니다. 이런걸 L7 스위치라고 부르는건가요?? 아니면 로드밸런서가 HW , SW 둘다 존재하는데 HW는 L7 스위치이고 SW로하는건 저런 Spring Cloud LoadBalancer를 가르키는건가요??
-
미해결운영체제 공룡책 강의
피터슨 알고리즘과 compare_and_swap 명령어 질문입니다
WSL2 환경에서 자바를 설치하고 컨슈머 프로듀서 예제를 설명하신 AtomicBoolean으로 flag값을 그리고 turn을 static 영역에 할당하고컨슈머 프로듀서의 잡을 각기 다른 두 개의 쓰레드로 실행시켰습니다turn이나 flag값이 클럭단위로 문맥교환하는 경우를 가정해서 뜯어보며 경우의 수를 따져봤지만 딱히 문제되는 경우는 없어보였습니다 while의 조건문을 고려해도 딱히 문제는 없어보였구요 그런데 count값은 이상하게도 0이 항시적으로 나오지 않았고 예상된 값을 벗어났습니다리눅스라 에러가 생기는건가 싶지만 JVM에서 가동되는 환경이라 딱히 다를것은 없다고 생각했고 실제로도 윈도우즈 환경에서도 똑같은 동시성문제가 발생했습니다도대체 무엇이 문제일까요