묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결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에서 가동되는 환경이라 딱히 다를것은 없다고 생각했고 실제로도 윈도우즈 환경에서도 똑같은 동시성문제가 발생했습니다도대체 무엇이 문제일까요
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
JWT 토큰 관련 질문입니다!
안녕하세요!! JWT 토큰 관련해서 강의듣다가 궁금한점이 생겨서 질문드립니다 !그럼 JWT 토큰 구조에서 signature가 인코딩된 Header+인코딩된 Payload+ 비밀키를 헤더에 명시된 알고리즘으로 서명한값이라고 하셨느데, 그럼 서버에서는 (인코딩된 Header+인코딩된 Payload) 값을 암호화하고 뒤에 붙은 signature랑 비교해서 같으면 허용된 유저로 받아 들이는건가요??access Token / refresh Token 방식에서 refresh Token의 탈취는 생각안하는 건가요? 그냥 access Token만 set-cookie로 하는 방식이랑 비교해서 저게 왜 더 안전한지 잘 안와닿습니다!access Token / refresh Token 방식에서 로그인 성공한 클라이언트가 서버에 추가적인 다른 요청을 보낼 때, access Token을 Header에 직접 담아야하고 refresh Token은 계속해서 cookie에 자동으로 담겨서 날라가는건가요??access Token / refresh Token 방식에서 요청을 했을 때, 만약 access token이 만료된 토큰이면 refresh token을 통해 access token을 받은 다음 Header에 담아서 요청을 하는거면 클라이언트 입장에서 2번의 요청을 보내야하는건가요?? 그럼 예를들어 유저는 버튼 2번을 눌러야하는건가요??access Token / refresh Token 방식에서 로그아웃할 때는 어떤식으로 처리를 해줘야하나요?? Spring + react 환경일 때, Spring 서버측에서 access Token / refresh Token 둘 다 없애는 건가요? 아니면 react에서 비워 버리는건가요?? 아니면 refresh Token만 쿠키에서 없애고 access Token은 그냥 만료기한 지나도록 나두는 건가요??마지막으로 이전에 리액트랑 Spring으로 프로젝트를 한 경험이 있는데, 거기서 클라이언트가 리액트에 접속해서 로그인해서 refresh Token을 cookie에 담고 access token은 로컬 스토리지에 저장하고 있었는데, 브라우저 새로고침을 하니깐 refresh Token이랑 access Token이 사라졌던걸로 기억을 하고 있습니다. 원래 쿠키에 저장하면 새로고침해도 남아 있어야하는거 아닌가요?? 아니면 리액트랑 Spring 배포한 환경의 도메인이 달라서 크롬의 쿠키 정책상 때문인지.. 궁금합니다 !적다보니 질문이 엄청 많아졌네요ㅎㅎ.. 요즘 이 강의로 cs공부를 하고 있는데 늘 감사합니다!!
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
p422 확인 문제 2번에 대해서
페이지 테이블 엔트리를 보고 옳지 않은 것을 선택하는 문제인데요. 예시에서 참조비트는 0인데, 수정비트는 1로 표현되어 있습니다. 이게 모순적으로 느껴져서요. 수정비트가 1인데 참조비트가 0일 수 있나요?