목록전체 글 (54)
데이터 엔지니어
CPU 스케줄링 CPU burst와 I/O burst를 하는 단계가 번갈아가면서 사용 CPU를 오랫동안 쓰는 job을 CPU bound job (점유) 계산 위주의 job I/O를 자주하는 job은 I/O bound job (빈도) I/O에 많은 시간이 필요한 job 여러 job이 섞여 있기 때문에 CPU 스케줄링(누구에게 얼만큼 시간을 주고 뺏을 것이냐)이 필요하다. CPU Scheduler & Dispatcher CPU Scheduler Ready상태 프로세스 중에서 CPU를 줄 프로세스를 고르는 역할 Dispatcher CPU의 제어권을 CPU Scheduler로 부터 선택된 프로세스에 넘긴다. 이 과정을 Context Switch라고 한다. 주의! 둘다 하드웨어가 아니라 운영체제 안에 있는 거다 ..
4번째 챕터입니다. 이번 챕터에서는 Process의 생성과 삭제를 코드로 설명해주십니다. 문제나 다른 정리본을 참고하실려면 아래 깃헙 레포를 참고해주세요. 4번째 강의 링크 깃헙 레포: github.com/smothly/OS-study-7week-challenge smothly/OS-study-7week-challenge 7주동안 진행 되는 OS 스터디. Contribute to smothly/OS-study-7week-challenge development by creating an account on GitHub. github.com 프로세스 프로세스 생성 부모 프로세스를 복제하여 자식 프로세스를 만듭니다. 복제라는 것은 프로세스의 문맥을 그대로 복사하는 것이다. Copy-on-write(COW) w..
3번째 챕터입니다. 이번 챕터에서는 Process와 Thread가 무엇인지, 운영체제 위에서 어떻게 돌아가는지를 설명해주십니다. 스터디에서 아래 깃헙 레포에 각 스터디원이 문제를 출제하고 정답을 맞추는 식으로 진행중입니다. 문제에 관심 있으시면 참고하셔도 될 것 같습니다. 강의 3번째 챕터 링크 깃헙 레포: github.com/smothly/OS-study-7week-challenge smothly/OS-study-7week-challenge 7주동안 진행 되는 OS 스터디. Contribute to smothly/OS-study-7week-challenge development by creating an account on GitHub. github.com Procss Process is a progr..
2번째 챕터입니다. 이번 챕터에서는 운영체제를 설명하기에 앞서 하드웨어적인 동작들을 설명하는 챕터입니다. 하드웨어가 어떻게 동작하는지, 프로그램들이 하드웨어 위에서 어떻게 돌아가는지를 설명해주십니다. 2번째 챕터 강의 링크 깃헙 레포: github.com/smothly/OS-study-7week-challenge smothly/OS-study-7week-challenge 7주동안 진행 되는 OS 스터디. Contribute to smothly/OS-study-7week-challenge development by creating an account on GitHub. github.com 컴퓨터 시스템 구조 크게 컴퓨터와 I/O device로 나뉨 CPU + Memory = Computer I/O devi..
OS 지식 함양을 위해 스터디를 꾸리게 되었습니다. 7주동안 이루어지는 스터디로 각자 챕터별로 강의를 정리하고 공유하는 방식입니다. 강의는 kocw 이화여대 반효경 교수님 강의로 진행합니다. 이번 포스팅에는 챕터 1을 정리해보도록 하겠습니다! 깃헙레포: github.com/smothly/OS-study-7week-challenge smothly/OS-study-7week-challenge 7주동안 진행 되는 OS 스터디. Contribute to smothly/OS-study-7week-challenge development by creating an account on GitHub. github.com 운영체제(Operating Systems): 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층 운영..
문제링크: https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 문제 설명 - scoville: 음식의 스코빌 지수가 담긴 리스트 - k: 스코빌 지수 조건: scoville 리스트에 모든 값이 k이상이 되게 해야합니다. 위 조건을 만족하게 하기위해 섞는 과정을 거칩니다. 몇번 섞어야하는지 리턴하면 되는 문제입니다. (조건을 만족 못할 시 -1 리턴) 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음..
문제링크: https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 문제 설명 - number: 문자열 형식의 숫자 - k: 제거할 숫자의 개수 numbers에서 k개의 수를 제거 했을 때 나올 수 있는 가장 큰 숫자를 문자열 형태로 return해주면 됩니다. ex) number = "12341234" k = 3일 때 121을 제거해 3234가 최대값이 되어 정답이 됩니다. 풀이 stack을 활용한 문제입니다. 모든 조합을 끄내서 검사할 경우 시간초과가 나올 것입니다. stack에 가장 높은 숫자만 남아있도록 pop을 해주는 식으로 작업합니다. 이 때 k 변수를 통해서 삭제(pop)해야하는 개수..
문제링크: programmers.co.kr/learn/courses/30/lessons/42586?language=python3 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr 문제 설명 - progresses: 작업의 진도 (100% 기준) - speeds: 작업의 속도 progress가 100이 되면 배포를 진행하는데 배포는 앞에 작업이 먼저끝나야 진행할 수 있다. 개발은 순서와 상관없이 진행되고 배포될 때 한번에 배포되는 개수를 list로 담아 리턴하는 문제입니다. - 예시 progresse..