Journey to CS/KNOU CS 24

[운영체제] 병행 프로세스 - 세마포어 완벽 정리 Part 1 - 상호배제, 동기화 (feat. 비행기 화장실)

운영체제에서는 프로세스의 상호배제 문제를 해결하기 위해 세마포어(semaphore)라는 도구를 사용한다. 상호배제란 여러 프로세스가 동시에 같은 자원(임계영역)을 건드리지 않도록 막는 것이다. 세마포어란? 쉽게 비유하면 자원의 좌물쇠 같은 역할이다. 세마포어는 정수형 변수(s)로 만들어졌는데, 이 값은 사용 가능한 자원의 개수나 잠김/열림 상태를 나타낸다. 예를 들어 s = 3 이면 사용 가능한 자원이 3개 있다는 뜻이니, 프로세스가 3개까지 들어갈 수 있다는 신호다. s = 0 이면 빈 자원이 없으니 대기하라는 뜻이다. 처음에 세마포어 s를 생성할 때, 상황에 맞춰 값을 설정한다. 이 값은 0 이상의 정수여야 한다. 그리고 이 s는 P와 V라는 두 가지 연산으로만 변할 수 있다. 즉, P 연산과 V 연..

[이산수학] 행렬곱은 어떻게 구할까? (feat. 펭귄 90도 회전시키기)

행렬의 합과 차는 직관적으로 이해가 되는 반면 행렬곱은 그 원리와 계산 방식이 다소 복잡하게 느껴질 수 있다. 하지만 행렬곱은 명확한 규칙을 기반으로 하기 때문에 규칙만 알면 간단하게 구할 수 있다. 👌 행렬곱이란?우선 행렬은 숫자(꼭 숫자가 아닐 수도 있음)들이 행(가로)과 열(세로)로 배열된 구조다. 간단한 예를 들어, 두 학생의 국어와 수학 점수를 행렬로 나타내면 다음과 같다. 첫 번째 행은 학생 A의 점수 (국어 80, 수학 90)을, 두 번째 행은 학생 B의 점수 (국어 70, 수학 60)을 의미한다.행렬곱은 두 행렬을 결합하여 새로운 행렬을 생성하는 연산이다. 첫 번째 행렬의 행과 두 번째 행렬의 열을 특정 규칙에 따라 곱하고 더해 새로운 값을 만드는 것이다. 행렬곱의 기본 원리와 조건행렬..

[이산수학] 조합이론 - Part 1. 순열과 조합의 차이 (feat. 팩토리얼)

순열(Permutation)이란?모든 순열의 수 :n개의 항목을 가지고 k개를 선택하면서 순서를 고려하는 경우의 수(= 순열의 수)는 n⋅(n−1)⋅(n−2)⋯(n−k+1)이다. 처음 상태: 총 n개의 항목이 있음.1번째 선택 후: 1개를 뽑았으므로 n−1개 남음.2번째 선택 후: 또 1개를 뽑았으므로 n−2개 남음.3번째 선택 후: n−3개 남음. ...(k-1)번째 선택 후: k−1개를 이미 뽑았으므로 n−(k−1)개 남음.이제 k번째 선택을 해야 하는데, 이 때 남아 있는 항목의 수는 n−(k−1)개."k번째 선택"은 총 k번 선택 중 마지막 번째를 의미함. 따라서 이미 k−1번을 선택한 후 남은 항목에서 하나를 더 고르는 상황.남은 항목 수 = n−(k−1) = n-k+1정리하면, 전체 순열의 수..

방송통신대학교 컴퓨터과학과 OT 후기

지난 주 토요일에 방송대 컴퓨터과학과 신/편입생 오티를 다녀왔다. 나는 추가모집기간에 편입학 지원서를 냈기 때문에 오늘 오전에야 합격 통지를 받고 등록을 마쳤다. 그래서 아직 정식 편입생은 아니었지만, 나보다 먼저 컴과과에 편입 등록하고 나를 학교로 인도해 준 친구들이 있어서 그들과 함께 오티에 갔다. 정말 오랜만에 찾은 대학로였다.파란 하늘을 보며 다시 대학생이 된 기분을 만끽하고 싶었지만 안타깝게도 미세먼지가 심한 날이었다. 오티가 열리는 대학본부 대강당 입구에서 학교에서 준비한 입학 선물을 이것 저것 받았다. 전혀 기대도 안했던 선물을 받아서 약간 신났다. Computer Science라는 학과 이름에 걸맞는 무려 멀티허브...그리고 파이썬 코드가 적혀있는 귀여운 캔버스백까지!심심해서 가방에 쓰..

1 2 3