inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

CS 3주차 발자국

jurjur
1

운영체제

가상 메모리

개요

세그멘테이션

관점에 따른 메모리

메모리 처리 방식

장/단점

페이징

메모리 처리 방식

주소 변환 방식

페이징과 세그멘테이션의 차이

장/단점

페이지드 세그멘테이션

메모리 접근 권한

단점

디멘드 페이징

지역성 이론

메모리 가져오기 정책

페이지 교체 정책

교체 방식 종류

빌레이디의 역설(Belady’s Anomaly)

Clock Algorithm

향상된 시계 알고리즘(Enhanced Clock Algorithm)

FIFO를 사용 하는 경우

성능 순서

LRU > 2차 기회 페이지 교체 알고리즘 > FIFO

스레싱과 워킹셋

스레싱

워킹셋

입출력 장치

주변장치

내부 구조

image.png

하드 디스크와 플래시 메모리

하드 디스크

Flash memory


알고리즘

삽입 정렬(Insertion Sort)

코드 예시

삽입 정렬의 성능

장 단점

병합 정렬(Merge Sort)

코드 예시

병합 정렬의 성능

장 단점

퀵 정렬(Quick Sort)

  1. leftStartIdx를 오른쪽으로 이동시키면서 피벗보다 큰 값을 만나면 멈춤

  2. leftStartIdx가 멈추면 rightStartIdx를 왼쪽으로 이동 시키면서 피벗보다 작은 값을 만나면 멈춤.

  3. leftStartIdx의 값과 rightStartIdx의 값을 서로 교환(swap)

  4. 다시 1부터 반복

  5. 반복 하던 도중 leftStartIdxrightStartIdx의 값보다 커지면 더이상 이동하지 않고 멈춤.

  6. 피벗과 rightStartIdx의 값의 위치를 교환 해줌

  7. 그러면 피벗을 기준으로 좌측의 값은 피벗보다 작은 값들이 모여있고, 우측에는 피벗의 값보다 큰 값으로 모여있음.

  8. 이제 왼쪽, 오른쪽의 데이터들을 다시 처음부터 반복하여 정렬 진행.

코드 예시

퀵 정렬의 성능

장 단점

 

동적 프로그래밍

메모이제이션(Memoization)

코드 예시

성능

장 단점

타뷸레이션

코드 예시

타뷸레이션 성능

메모이제이션과 타뷸레이션의 비교

답변 0