전체 글
-
Operating System - CPU SchedulingComputer Science/Operating System 2022. 1. 14. 14:30
CPU Scheduling CPU Scheduling이란? ㆍ 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미한다. CPU Scheduling의 목적 ㆍ 공정한 스케줄링, 처리량의 극대화, 응답 시간의 최소화 ㆍ 균형 있는 자원의 사용, 프로세스 실행의 무한한 연기를 배제, 반환시간 예측 가능 Scheduling Criteria 스케줄링의 척도 1. CPU Utilization(CPU 이용률) : CPU가 얼마나 놀지 않고 부지런히 일하는가 2. Throughput(처리율) : 시간 단위당 실행을 완료한 프로세스의 수 (시간당 몇 개의 작업을 처리하였는가) 3. Turnaround Time(반환시간) : 작업이 Ready Queue에 처음 들어갔을 때부터..
-
Operating System - IPCComputer Science/Operating System 2022. 1. 12. 14:17
IPC IPC란? IPC는 Inter-Process Communication의 약자로 내부 프로세스 간 통신을 의미한다. 위 그림처럼 각각의 프로세스는 완전히 독립된 실행 객체이다. 서로 독립되어 있다는 것은 다른 프로세스의 영향을 받지 않는다는 장점이 있다. 하지만, 독립되어 있는 만큼 별도의 설비가 없이는 서로 간에 통신이 어렵다는 문제가 있다. 이러한 문제를 위해서 커널 영역에서 IPC라는 내부 프로세스 간 통신을 제공하게 되고, 프로세스는 커널이 제공하는 IPC 설비를 이용해서 프로세스 간 통신을 할 수 있다. IPC의 종류 1. PIPE(익명 PIPE) PIPE는 두 개의 프로세스를 연결하게 되고, 하나의 프로세스는 데이터를 쓰기만 하고, 다른 하나는 데이터를 읽기만 할 수 있다. 한쪽 방향으로..
-
Operating System - PCB & Context SwitchingComputer Science/Operating System 2022. 1. 11. 21:02
PCB Process Management Process Management란 CPU가 프로세스가 여러 개일 때, CPU 스케줄링을 통해 관리하는 것을 말한다. 이때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능하다. 프로세스들의 특징을 갖고 있는 것을 Process Metadata라고 하며, Process Metadata가 가지고 있는 정보들은 다음과 같다. ㆍ Process ID ㆍ Process State ㆍ Process Priority ㆍ CPU Registers ㆍ Owner ㆍ CPU Usage ㆍ Memory Usage 이 메타데이터는 프로세서가 생성되면서 PCB(Process Control Block)라는 곳에 저장된다. PCB란? ㆍ PCB는 Process Control Block..
-
Git - remote & push & pull & cloneGit/Git 기초 2022. 1. 11. 17:15
remote 원격 저장소 설정 GitHub에 repository를 생성한 후 생성한 repository의 URL을 확인한다. git remote add origin {remote repository URL 주소} 개인 PC에 존재하는 로컬 저장소와 원격 저장소를 연결하기 위한 명령어는 위 코드와 같다. 위 명령어를 사용해서 로컬 저장소와 GitHub의 repository를 연결한다. "git remote -v" 명령어와 "git ls-remote" 명령어를 사용해서 원격 저장소와 연결이 잘 되었는지 확인이 가능하다. push 원격 저장소에 업로드 git push origin master 로컬 저장소의 파일들을 원격 저장소에 업로드하기 위한 명령어는 위 코드와 같다. origin은 기본적으로 설정된 원격 ..
-
프로그래머스 (Level 2) - 위장Coding Test/Coding Test 문제 풀이 2022. 1. 6. 14:12
문제 설명 코딩테스트 연습 - 위장 programmers.co.kr 풀이 여러 종류의 의상이 있고 각 종류별로 1개 이상의 옷을 입을 수 있다면, 몇 가지 의상의 조합이 가능한가를 구하는 문제이다. 종류 별로 의상의 개수를 구하고, 경우의 수를 구하는 방식으로 문제를 해결하였다. 문제의 첫 번째 예시를 아래 표와 같이 표현이 가능하다. headgear와 관련된 의상은 총 2개가 있으니 총 3가지의 경우의 수가 있다. ㆍ 1번을 입는다. ㆍ 2번을 입는다. ㆍ headgear와 관련된 의상을 입지 않는다. eyewear와 관련된 의상은 총 2개가 있으니 총 2가지의 경우의 수가 있다. ㆍ 1번을 입는다. ㆍ eyewear와 관련된 의상을 입지 않는다. 최종적으로 3 x 2가지의 경우의 수인 6가지가 존재하..
-
Git - rebaseGit/Git 기초 2022. 1. 6. 00:55
rebase 커밋 이력 통합 위 사진은 과거의 커밋된 내역을 나열한 사진이다. 커밋 이력 중 "commit의 설명을 추가"에 대한 커밋과 "pull의 설명을 추가"에 대한 커밋을 하나의 커밋으로 통합하고자 한다. git rebase -i HEAD~~ 과거의 커밋 내역을 통합하고자 할 때는 위 명령어를 사용하면 된다. "git rebase -i HEAD~2" 명령어를 사용하면 가장 최근 2개의 커밋 이력에 대한 에디터가 열린다. "pull의 설명을 추가"에 대한 커밋 이력의 "pick" 문자를 "squash"를 의미하는 "s"로 변경한다. 변경이 끝났으면 ":wq"를 입력해서 저장을 한 후 에디터를 종료한다. 에디터가 종료되면 위 사진과 같은 화면이 나올 것이다. 기존의 커밋 메시지를 대체할 새로운 커밋 ..