인프런 워밍업 클럽 스터디 2기 CS 2주차 발자국

운영체제

운영체제에서는 남은 CPU 스케줄링 기법인 SJF, RR, MLFQ를 알아보았고 이후 프로세스 동기화에서 프로세스 간 통신, 공유 자원과 임계구역, 세마포어 등을 배웠다. 이렇게 프로세스 간 동기화를 배우고 여기서 발생하는 문제인 데드락도 알아보았고 어떤 조건이 갖춰지면 데드락이 발생하는 지 알아보았다(상호배제, 비선점, 점유와 대기, 원형 대기). 이를 통해 공유 자원 관리의 중요성을 인지하였다. 그리고 컴퓨터 메모리의 종류와 메모리를 관리하는 방법, 세그멘테이션과 페이징 기법을 알아보고 이 두 할당 방식의 절충 방법인 버디 시스템도 알아보았다.

 

알고리즘

 

알고리즘으로 제일 처음 배운 건 재귀였다. 재귀는 처음 보면 이해가 어렵기에 차근차근 알아보았다. 나도 재귀적으로 사고하는 법을 길러야겠다. 이후 재귀 알고리즘의 대표적인 예인 하노이탑을 재귀 함수를 통해 해결해보았다.

재귀를 배운 이후 정렬 알고리즘으로 버블 정렬과 선택 정렬을 배웠다.

둘다 시간 복잡도가 O(n^2)으로 구현이 간단하고 이해가 쉬우나 성능이 그렇게 좋진 않은 정렬 알고리즘이다.

댓글을 작성해보세요.

채널톡 아이콘