inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 스터디 3기] 3주차 발자국

서희원
1

운영체제


가상메모리

메모리 공간이 부족해서 프로그램을 실행하지 못하는 문제를 해결

물리 메모리 크기랑 위치를 생각하지 않고 0번지에서 시작한다고 생각하면 됨

프로세스(사용자) > 가상 메모리 (메모리 관리자) > 물리 메모리

 

동적 주소 변환(Dynamic Address Translation, DAT)

CPU가 가상 주소 생성 > MMU(Memory Management Unit)가 변환 작업 시작 
> 페이지 테이블 참조 > 물리적 주소로 변환 > 실제 메모리 접근
스왑 대상 페이지 선정 > 페이지 테이블 엔트리 수정 > 수정된 페이지라면 디스크 쓰기 > 물리 메모리에서 해제

 

이런 메모리 할당/비할당을 어떻게 관리하는지는 아래의 정책 별로 나뉨

Segmentation (가변 분할 방식)

Paging (고정 분할 방식)

Paged Segmentation (Segmentation + Paging)

Demand Paging (가져오기)

Page Fault > 스왑영역에서 메모리로 불러들이기 (= 공간을 만들어줘야 함) 
> 교체정책을 통해 어떤 애를 스왑으로 옮길지 결정

입출력장치

이 주변장치들은 메인보드에 있는 버스로 연결된다.

레지스터를 이용해서 장치의 상태와 데이터를 보관해서 저장하고, CPU가 이 값을 사용하기도 한다

 

캐릭터 디바이스

블록 디바이스

 

파일시스템

파일은 하드디스크/SSD 같은 저장장치에 저장

파일관리자가 파일테이블을 이용해서 파일 정리

운영체제는 파일을 관리하기 위헤 정보를 관리하는 파일 디스크럽터를 갖고 있음

 

 

자료구조와 알고리즘


선택정렬

삽입정렬

병합정렬

퀵정렬

성능만 보면 병합정렬이 더 좋다고 생각할 수 있지만 퀵정렬이 메모리 공간을 덜 차지해서 더 좋다고 평가됨

동적프로그래밍

메모이제이션

 

타뷸레이션

 

12586269025
fibonacci 함수 실행 시간 : 86590ms
12586269025
enhanced fibonacci 함수 실행 시간 : 0ms
12586269025
tabulation Fibonacci fibonacci 함수 실행 시간 : 1ms

 

 

 

회고


👏 칭찬하고 싶은 점

일이 정말 더 바빴는데 한번도 강의를 밀리지 않았다

 

😅 아쉬웠던 점

너무 일이 바빠서 강의 들면서 졸거나 해서 대충 넘어간 부분이 있는거 같다..

컴퓨터 구조 인프런워밍업클럽스터디

답변 0