묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
자료구조 관련 추가 강의 문의
지금 현재 5.3.3 힙 ~ 5.3.6 셋 부분의 강의가 없는데 언제쯤 추가될 지 궁금합니다.
-
해결됨그림으로 쉽게 배우는 운영체제
MLFQ 알고리즘
안녕하세요. MLFQ 강의를 듣다가 궁금한 점이 생겨 질문드립니다.마지막 부분에 우선순위 별로 큐가 나뉘고 우선순위가 낮으면 탕미슬라이스가 커지는데, 이 때 우선순위는 기준이 무엇인가요?CPU 연산을 주로 하는 프로세스(P1)와 I/O작업을 주로 하는 프로세스(P2)가 있다고 할 때, P2의 경우는 CPU처리량이 많지 않아 우선순위큐가 항상 상위에 있을 것 같고 P1의 경우는 우선순위가 낮을 것 같은데 이 때 낮은 우선순위큐들은 어떻게 선택되어 실행이 되는건가요? 우선순위가 낮다는 것은 실행이 될 확률이 낮다는 건가요? 우선순위가 낮은 큐에 있는 프로세스들이 기아상태가 될 가능성도 있나요? 만약에 P1의 작업시간이 25초이고 우선순위 큐1(타임슬라이스10초)에서 실행상태가 된다고 하면 10초 이후에 CPU를 빼앗겨 우선순위 큐2(타임슬라이스20초)에 들어갔다가 다시 실행상태가 되었을 때 나머지 15초를 실행한 후 CPU를 반납하는건가요? 아니면 처음부터 다시 25초에 대해서 진행해서 CPU를 빼앗기고 우선순위큐3(타임슬라이스 30초)으로 들어가게 되나요? 마지막으로 준비상태일 때 준비큐에 있다가 실행상태가 된다고 하였는데 실행상태일 때는 어디에 있는 건가요? 준비큐 I/O큐 이런 것들은 어디에 존재하는건가요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
이미지 스플리팅 용어
스플리팅이라는 용어보다는 이미지 스프라이트(sprite)라는 용어가 주로 쓰이는 것 같습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
이력서, 자기소개서 검토 문의
이력서https://ellerymoon.notion.site/0730791bcb0f4e178f네이버웹툰 문항 기준 자기소개서https://ellerymoon.notion.site/479bc6bf00f44입니다.이 걸 템플릿화 해서 회사마다 약간씩 수정해서 제출하고 있습니다.따로 궁금한 것은은 크게 2가지 인데요. 제가 20년 퇴사 이후에 공백기가 있어요(개인사업 및 주식투자). 졸업 이후로 2년정도의 갭이 있는데 이걸 물어본다면 어떻게 설명할지?이번에 라인 DBA도 지원을 하게 됬는데, 마침 데이터베이스 설계, 튜닝 세미나를 최근에 들어서 관련 지식을 어필하고 싶은데요. 프로젝트에는 설계 세미나를 통해 배운 내용을 접목해서 ERD 35개의 프로젝트를 설계하고 실제로 스프링프로젝트로 만든게 있는데, 튜닝 같은 경우는 인덱스 적용 해보거나 클러스터링 말고는 프로젝트에 접목시키기가 쉽지 않더라구요. 더구나 라인 DBA 같은 경우는 MongoDB 업무로 시작할거 같아서 급한데로 리얼MongoDB 서적이랑 공식문서 보면서 지금이라도 면접 전까지 토이프로젝트라도 해보려고 합니다.큰돌님의 라인 공채 관련 영상을 보고 준비하게 되었습니다. 제가 그동안 했던 설계, 구현 프로젝트, 튜닝 세미나, MongoDB 토이프로젝트를 어떤 식으로 어필하면 좋을까요?코딩테스트 강의랑 CS강의 둘 다 다 봤습니다. 상반기 때 봤던 코딩테스트들은 덕분에 전부 통과했었네요. 면접만 통과를 못했는데 CS 강의로 준비 잘 하고 있습니다. 감사드립니다.!
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
운영체제 질문
전반적으로 운영체제에 대한 지식이 많이 부족한 상태입니다.강의에 운영체제에 대한 부분이 있는데 이것만 들어도 전반적인 운영체제에 대한 지식을 습득할수있을까요?아니면 책을 따로 구매하는것이 좋을까요 ?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Linked List 시간복잡도에 대해서 질문드려요.
Linked List의 시간 복잡도에서access : O(n)search : O(n)insertion : O(1)deletion : O(1)라고 하셨는데,insertion 과 deletion을 수행하기 위해선해당 하는 위치를 찾기 위해 access 이나 search 가 추가로 필요하지는 않나요?그렇다면 똑같이 insertion 과 deletion도 결국 O(n) 이 될거 같은데 실제로는 어떤가요?
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
정규화 강의
안녕하세요 혹시 정규화 강의 언제쯤 올라올 예정인지 여쭤봐도 될까요?
-
미해결운영체제 공룡책 강의
Mac OS에서 Docker 이용하여 Ubuntu 20.04 환경설정 방법 공유
1. 도커를 이용하여 Ubuntu 설치 // 도커는 설치되었다고 가정함 // ubuntu 이미지 다운로드 및 컨테이너 실행 $ docker pull ubuntu:20.04 $ docker run -it --name myUbuntu ubuntu:20.04 // 도커 컨테이너 내로 들어옴 $ apt-get update $ apt-get upgrade -y // 교수님 업글 안하긴 하심 $ apt-get install build-essential gdb 2. 편한 개발을 위해 VS Code에서 Container에 연결함 - VS Code 에서 Remote - Container 플러그인 설치 - 설치 후 좌측 하단에 >< 아이콘의 초록색 버튼 클릭 - 메뉴 클릭 Attach to Running Container… 3. 테스트 Vs Code에서 텍스트 파일 생성하고 컨테이너 내에서 확인해보면 파일 생성되어 있음
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
시스템 콜이 없다면 커널모드는 어떻게 들어갈수있나요??
안녕하세요 강사님 강의를 듣다가 궁금해졌습니다 시스템콜로 인해 OS별로 신경쓰지않고 동일한 코드 한줄로 코딩할수있게 되며, 없을경우 OS별로 직접 따로 정의해주어야한다고 이해했습니다 근데 시스템콜로인해 커널모드로 진입하는걸로 알고있는데 시스템콜이 없을경우 커널모드로 진입할수없게되면 커널모드의 기능은 사용하지못하는것 아닌가요??
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
안녕하세요 강사님
강의 노션 공유 부탁드립니다
-
해결됨운영체제 공룡책 강의
안녕하세요 교수님 실습 해봤는데 LINE J가 실행이 됩니다
안녕하세요, 실습 예제 함께 해봤는데 교수님과 다른 결과가 나오는데 혹시 어떻게 이해해야 할까요? 현재 환경은 mac에서 도커를 사용하여 linux 환경에서 c 프로그래밍 하고 있는 상황입니다.
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
https의 경우 질문드립니다!
안녕하세요 강사님!! https의 경우 궁금한 점이 있어 질문드립니다! 7계층으로 생각했을 때 TLS 는 5계층, TCP는 4계층으로 알고있는데요. 그럼 1) HTTP request message를 생성 후, 2) SSH/TLS handshake 과정이 먼저 일어나고 3) HTTP request message를 암호화 한 후, 4) HTTP request message를 4계층으로 넘겨줘서 3 way handshake 이 순서로 진행되는 건가요?? SSH/TLS가 먼저 일어나는지 3 way handshake가 먼저일어나는지 조금 헷갈려서 질문드립니다! 늘 상세한 답변 주셔서 너무 감사드려요!
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
Array와 LinkedList 메모리 영역
강의를 보다가 궁금한 점이 생겨서 질문을 남깁니다. 동적 Array는 사용하다가 원소가 가득차면 resize가 일어나고, 이때 새로운 배열을 생성한다고 배웠습니다. 그러면 이때는 runtime 단계에서 memory allocation이 일어나서 Heap 메모리 영역에 할당되는 건가요?? 아니면 Stack memory 영역에 할당되는 건가요??
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
PCB PC register?
안녕하세요 질문이 있습니다. PCB는 process state, process number .. 등 프로세스에 대해 필요한 정보를 얻을 수 있는 자료구조라고 하셨는데 PC register과 어떤차이점이 있는지 모르겠습니다. PCB는 주로 커널에 저장되어있고 PC register는 스레드 마다 있는것이 맞나요?
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
Context switch에 대해 질문드립니다.
안녕하세요. 강의를 보다가 Context switch에 대해 의문이 들어 질문드립니다. 멀티 프로세스를 설명하는 강의에서 'Context switch가 한 프로세스에서 다른 프로세스로 제어권을 넘겨주는 것'이라고 설명해주셨는데요. 이후 멀티 쓰레드 강의에서 쓰레드 간에 CPU 할당이 전환될 때도 똑같이 Context switch가 일어난다고 말씀해주셨습니다. - 그러면 Context switch의 개념이 '프로세스 간의 전환'과 '쓰레드 간의 전환' 두 개의 개념이 있는걸로 보면 되는걸까요? - 만약 그렇다면, 프로세스 간에 Context switch가 일어날 때는 PCB에 기존 프로세스 정보를 저장하고, 이후 프로세스 정보를 불러오는 작업이 일어나는데, 쓰레드 전환에서는 하나의 프로세스 내에서 일어나기 때문에 PCB에 저장, 조회 하는 작업이 생략되는건지 궁금합니다. - 쓰레드가 프로세스 내에 개별적으로 Stack 영역을 할당 받고 이들 간에 교환된다고 하셨는데, 이들 사이에서는 어떤 방법으로 Context switch가 동작하는지 궁금합니다.(PCB와 동일하게 프로세스 마다 쓰레드 정보를 보관하는 곳이 있나요?)
-
미해결운영체제 공룡책 강의
18분 10초경 평균 웨이팅타임에 대해 질문드립니다!
SJF 스케줄링 평균 대기시간에 대해서 구하고 있는데요, 프린트에서는 7.75로 기재되어 있는데 제가 구한 값과 조금 달라서 질문드립니다 ㅠ 0 + (8-1) + (12-2) + (21-3) = 35 35 / 4 = 8.75 로 계산이 나오는데, 어떤 점이 잘못된건지 알려주실 수 있을까요?
-
해결됨그림으로 쉽게 배우는 운영체제
프로세스 생성과 종료 질문3
답변 감사합니다 여기서 답변을 보고 추가적으로 궁금한 점이 생겼습니다 "그럼 이렇게 init 프로세스를 복사해 터미널이나 그에 필요한 프로세스가 생성되는데 보통 사용자가 실행하는 프로그램은 서로 자식-부모 관계를 가지지 않기 때문에 걱정하시는 것처럼 LOL.exe 프로세스를 종료해도 웹브라우저가 종료하는 일은 발생하지 않습니다!" 라고 답변을 주셨는데요 그렇다면 사용자가 실행하는 프로그램들은 부모 프로세스 없이 독립적으로 프로세스가 생성되는 것인가요? 아니면 그려주신 트리 모양에 적힌 기본적인 프로세스(?)들이 부모 프로세스가 되어서 자식 프로세스로 생성되는 것인가요? 즉 유닉스 OS에서는 모든 프로세스들이 부모 - 자식간의 관계를 가지면서 프로세스들이 생성되는 것인지 궁금합니다 웹브라우저와 LOL.exe가 서로 부모-자식 관계가 아니더라도 그렇다면 컴퓨터 부팅이후 최초로 웹브라우저를 실행했다고 가정했을시 웹브라우저는 어떤 프로세스(기본 프로세스가 되었든 임의의 프로세스가 되었든)의 자식 프로세스로써 생성이 되는건지 아니면 사용자가 실행하는 프로그램이므로 독립적인 프로세스로 생성되는 것인지가 궁금합니다. 두번째 질문으로 앞으로 해주시는 운영체제 대한 설명은 전부 유닉스 OS에만 적용되는 설명인 것인가요 아니면 윈도우 OS나 유닉스 OS나 공통적인 것이지만 일부 차이점이 있는 경우가 있는 것인가요 세번째 질문, 윈도우의 경우 보내주신 링크에서 "독립적으로 실행 되는 새 프로세스를 만듭니다. 그러나 편의상 관계를 부모-자식 관계 라고 합니다." 라는 설명으로 보아 부모 프로세스가 먼저 종료되더라도 자식 프로세스가 좀비 프로세스가 될 것 같지 않은데(서로 독립적인 프로세스 이므로) 제 생각이 맞나요?
-
미해결운영체제 공룡책 강의
피터슨 알고리즘쪽질문드립니다 .
강의 너무너무 잘 듣고있습니다 감사합니다 저 강의를 듣다가 코드를 보는데 while문에서 조건이있고 {}가 없는데 따로 실행은 없는건가요 무조건 일단 깃발교체만 하고 sum++로 가는건가요 >? =============================================cpp 에서는 thread가 있길래 이렇게 구현했습니다 #include <iostream> #include <thread> #define true 1 #define false 0 using namespace std; int sum; bool flag[2]; int turn; void producer() { int k; for (int i = 0; i < 10000; i++) { //0번이 producer, 1번이 consumer라고 생각 /*endtry section*/ flag[0] = true; turn = 1; while (turn == 1 && flag[1]) ; sum++; /*exit section*/ flag[0] = false; } } void consumer() { int k; for (int i = 0; i < 10000; i++) { //0번이 producer, 1번이 consumer라고 생각 flag[1] = true; turn = 0; while (turn == 1 && flag[1]) ; sum--; /*exit section*/ flag[1] = false; } } int main() { sum = 0; thread t1, t2; t1 = thread(consumer); t2 = thread(producer); cout << "sum : " << sum << endl; t1.join(); t2.join(); return 0; }
-
미해결운영체제 공룡책 강의
안녕하세요! Ex 4.17 질문입니다.
안녕하세요 교수님! 강의 너무 잘 듣고 있습니다. Ex 4.17(14분 쯤)에서 질문이 있습니다. 강의 상 P1(자식1), P3(자식1의 자식 - 자식2)는 if 안에서 각각 unique 쓰레드를 생성해서 총 2개의 쓰레드가 생성되는 것까지는 이해가 됩니다. 마지막 fork를 통해 P1(자식1)과 P3(자식2)가 복제가 되는데, 이 과정에서 if내에서 추가된 쓰레드들은 복제가 되지 않나요? fork는 오로지 프로세스만 복제를 하게 되는건지 문의드립니다!
-
미해결운영체제 공룡책 강의
vsCode와 wsl 연동 시 에러 발생
vscode에서 원격 창 오픈 시 wsl 연결 실패로 에러가 납니다. 제 랩탑에 docker도 있어서 docker까지 running으로 바꿨는데 해결이 안됩니다. 에러문구는 VS Code Server for WSL closed unexpectedly. Check WSL terminal for more details. 인데 vscode 터미널창의 에러를 더 적자면, Unable to detect if server is already installed: Error: Coimmand failed: C:\WINDOWS\System32\wsl.exe -d docker-desktop-data -e sh -c "[ -d ~/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d ] && prinf found || ([ -f /etc/alpine-release ] && printf alpine-; uname -m)" 가 제일 먼저 뜨는 빨간 글씨입니다....