[인프런워밍업클럽] 3주차 발자국 미션
운영체제
메모리
레지스터 : 속도 빠름, 용량 작음, 가격 비쌈
레지스터와 메인메모리 사이에는 캐시가 있음
캐시 : CPU가 사용하는 메모리로 굉장히 빠름, 메모리는 느림, 미리 가져온 데이터를 저장하는 곳, 성능을 이유로 여러개를 둠
메인메모리: 실제 운영체제와 다른 프로세스들이 올라가는 공간, 휘발성메모리 , 속도빠름, 실행중인 프로그램만 올림
보조저장장치 : 비휘발성 메모리, 속도 느림, 용량 큼, 가격 쌈
메모리와 주소
메인메모리(메모리)
운영체제는 메모리를 관리하기 위해 1바이트 크기로 구역을 나누고 숫자를 매김
숫자 → 주소
절대주소(물리 주소), 상대주소(논리 주소)
재배치 레지스터에는 프로그램의 시작 주소가 저장 되어있음
메모리할당방식
가변분할(연속 메모리 할당),세그멘테이션
프로세스가 크면 메모리도 크게 할당
장점: 메모리의 연속된 공간에 할당되기 때문에 더 크게 할당되서 낭비되는 공간인 내부단편화가 없음
단점: 외부단편화가 발생
고정 분할 방식(비연속 메모리 할당), 페이징
프로세스 크기와 상관없이 메모리를 할당
장점: 구현 간단, 오버헤드가 작음
단점: 작은 프로세스도 큰 영역에 할당되서 공간이 낭비되는 내부 단편화 발생
가상메모리
가상메모리의 크기
이론적 : 무한대, 실제 : 물리메모리 크기와 CPU 비트수로 결정
32비트인 CPU인 경우 4GB 정도, 가상 메모리 크기도 똑같이 4GB
가변분할방식(세그멘테이션) - 페이징 혼용
고정분할방식(페이징)
가상 주소는 메모리나 스왑영역 한 곳에 위치
메모리 관리자는 가상주소와 물리주소를 1대1 맵핑
세그멘테이션
함수, 모듈로 구성
외부 단편화 문제가 있어서 해결하기 위해서 고안
프로세스마다 크기가 달라 바운드 어드레스를 가지고 있음
페이징(고정분할)
메모리를 할당할 때 정해진 크기의 페이지로 나눔, 모든 페이지의 크기가 같기 때문에 관리가 쉬움
페이지 : 논리주소 공간은 일정한 크기로 균일하게 나눔
모든 페이지의 크기가 동일해서 크기를 표현하는 바운드 어드레스는 필요하지 않음
외부단편화 x, 내부 단편화 O
내부단편화: 정해진 크기의 페이징보다 프로세스의 정보가 작으면 그만큼 공간이 낭비
입출력장치
그래픽카드, 하드디스크, SSD, 키보드, 마우스 등
캐릭터 디바이스
데이터 전송 단위가 캐릭터(글자)
상대적으로 크기가 작음
마우스, 키보드,사운드카드,직렬, 병렬 포트
블록디바이스
데이터 전송 단위가 블록(범위)
상대적으로 크기가 큼
하드디스크, SSD, 그래픽 카드
하드디스크
장점: 기계적으로 헤드를 움직여 속도가 많이 느리고 소음도 낮음
단점: 굉장히 느림
플래시 디스크
장점: 빠르고 조용함, 안전
단점: 특정한 지점에 데이터를 썼다면 덮어 쓰기가 불가능함, 똑같은 지점에 데이터를 쓰러면 기존에 있던 데이터를 지우고 새로 써야 함, 지우기 가능한 횟수가 정해져 있음, 계속 반복하다보면 망가져서 사용할 수 없음
자료구조와 알고리즘
버블정렬
시간복잡도: O(n²)
앞에 있는 숫자와 옆에 있는 숫자를 비교해서 자리를 바꾸는 알고리즘
장점: 가장 쉽게 생각할 수 있는 정렬방법, 이해와 구현이 간단
단점: 성능이 ON제곱으로 별로 좋지 않음
선택정렬
시간복잡도: O(n²)
배열의 정렬되지 않은 영역의 첫번째 원소를 시작으로 마지막 원소까지 비교 후 가장 작은 값을 첫 번째 원소로 가져옴
장점: 이해하기 쉽고 구현하기 쉬움
단점: 성능이 좋지않음
삽입정렬
시간복잡도: O(n²)
정렬되지 않은 영역에서 데이터를 하나씩 꺼내서 정렬된 영역 내에 적절한 위치에 삽입하는 알고리즘
장점: 이해하기 쉽고 구현하기 쉬움
단점: 성능이 좋지 않음
병합정렬
시간복잡도: O(n log n)
재귀로 정렬하는 알고리즘
장점: 성능이 훨씬 좋음
단점: 재기적인 기법으로 이해하기 어려움
퀵정렬
시간복잡도: O(n log n)
분할정복 알고리즘
장점: 성능이 훨씬 좋음
단점: 재기적인 기법으로 이해하기 어려움
회고
벌써 3주의 시간이 지나갔다.. 아직도 부족한 부분이 많아서 복습을 더 하고 다시 강의를 보려고 한다
그리고 운영체제 과목에 대한 흥미를 느껴 오늘 도서관에서 '쉽게 배우는 운영체제' 책을 빌려왔다
빌린 책과 함께 강의를 다시 들으며 복습하고 나만의 것으로 만들기 위해서 노력해야겠다
댓글을 작성해보세요.