[인프런 워밍업 클럽 CS 2기] - CS 3주차 발자국
강의 수강
[운영체제]
세그멘테이션 : 메모리를 서로 다른 크기의 논리적 단위인 세그먼트로 나누어, 각 세그먼트가 독립적인 주소 공간을 가지도록 관리하는 기법이다.
페이징 : 메모리를 할당할 때 정해진 크기의 페이지로 나눈다.
페이지드 세그멘테이션 : 세그멘테이션과 페이징을 혼합해 장점을 취한 방식이다.
디맨드 페이징 : 디맨드 페이징은 조만간 필요할 것 같은 데이터를 메모리로 가져오고 쓰이지 않을 것 같은 데이터는 스왑영역으로 이동시키는 정책이다.
페이지 교체 정책 : 메모리에 있는 페이지를 스왑영역으로 옮길 때 어떤 페이지를 선택할지 결정하는 정책이다.
스레싱 : CPU 사용률을 높이려 했지만 오히려 더 떨어지는 상황을 '스레싱'이라고 한다.
워킹셋 : 메모리에 올라온 페이지는 다시 사용할 확률이 높기 때문에 하나의 세트로 묶어서 메모리에 올리는 것을 '워킹셋'이라고 한다. 그리고 프로세스가 준비상태에서 실행상태가 되는 컨텍스트 스위칭을 할 때 사용된다.
주변 장치 : 그래픽 카드, 하드디스크, SSD, 키보드, 마우스 등 여러가지가 있다. 그리고 캐릭터 디바이스와 블록 디바이스 두 가지로 나눌 수 있다.
마우스/키보드 : 사용자 입력 장치이다.
하드디스크 : 기계식으로 저렴하다. 비휘발성 저장 장치이다.
Flash Memory(SSD) : 전자식으로 빠르고 고가이다. 비휘발성 저장 장치이다.
파일과 파일시스템 : 파일은 데이터를 저장하는 논리적 단위이며, 파일시스템은 이러한 파일들을 효율적으로 저장, 관리, 접근할 수 있도록 조직화하는 구조와 메커니즘입니다.
디렉토리 : 파일들을 그룹화하고 계층적으로 조직하여 쉽게 관리하고 접근할 수 있도록 하는 파일 시스템 내의 구조이다.
[자료구조와 알고리즘]
삽입 정렬
장점 : 이해와 구현이 간단하다.
단점 : 성능이 O(n²)으로 성능이 좋지 않다.
시간 복잡도 : O(n²)
병합 정렬
장점 : 성능이 좋다.
단점 : 재귀적인 기법으로 이해하기가 조금 어렵다. 그리고 이해와 구현이 어렵다.
시간 복잡도 : O(nlogn)
퀵 정렬
장점 : 평균적으로 빠른 속도를 내서 성능이 좋다.
단점 : 안정적인 정렬을 보장하지 않는다.
시간 복잡도 : 평균 시간 복잡도는 O(nlogn), 최악의 경우 시간 복잡도는 O(n²)
메모이제이션
계산 결과를 캐시에 저장하여 동일한 계산을 반복하지 않고 효율적으로 문제를 해결하는 동적 프로그래밍 기법이다.
타뷸레이션
문제를 작은 하위 문제로 나누어, 이들을 반복적으로 해결하고 결과를 표 형태로 저장하여 최종 결과를 도출하는 동적 프로그래밍 기법이다.
[회고]
칭찬하고 싶은 점
강의를 들으면서 노션으로 강의 내용을 정리하는 점
발자국도 작성하고 미션도 해결한 점
모든 강의를 다 들은 점!
아쉬웠던 점
역시 시간표대로 학습하지 않은 점.... 일하면서 공부하기 쉽지 않다... 그리고 강의를 들으면 들을 수록 어려워져서 100% 완벽하게 이해하고 넘어가질 못했다. 그래서 이 인프런 워밍업 클럽이 끝나도 강의를 반복해서 들어야 할 것 같다.
마지막 소감
3주 동안 강의를 들으면서 공부를 했는데 회사 다니면서 하기 쉽지 않다.... 회사 다니시고 시간표 맞춰서 하시는 분들은 진짜 대단하신 것 같다. 나는 나태해서... 핫핫핫 그래도 시간표대로 강의를 듣지는 않았지만 주차 별로 끊어서 강의를 들으니 강의를 진행함에 있어서 좀 괜찮았다.
미션
회고
마지막 주차라 그런 건지 몰라도 점점 어려워지는 느낌이라 시간이 쫌 걸렸다. 그래도 끝까지 해결해서 다행이다! ㅎㅎ
CS 3주차 미션 링크
댓글을 작성해보세요.