[CS] 운영체제 - 파일 시스템
·
Computer Science/Operating System
File file이란 이름을 가지고 저장하는 정보이다. 일반적으로 비휘발성의 보조기억장치에 저장한다. 운영체제는 다양한 저장 장치를 file이라는 동일한 논리적 단위로 볼 수 있게 해준다. 연산의 종류: create, read, write, reposition, delete, open, close 등이 있다. File attribute(파일의 metadata) 파일 자체의 내용이 아니라 파일을 관리하기 위한 각종 정보들을 의미한다. 파일 이름, 유형, 저장된 위치, 파일 사이즈, 접근 권한, 시간, 소유자 등이 포함될 수 있다. File system 운영체제에서 파일을 관리하는 부분이다. 파일 및 파일의 메타데이터, 디렉토리 정보 등을 관리한다. 파일의 저장 방법을 결정하고, 파일을 보호한다. Direc..
[CS] Compiler와 Interpreter 방식의 차이점
·
Computer Science/Computer Basic
일반적으로 우리가 작성하는 코드는 고급 언어이다. 이렇게 작성된 코드를 소스 코드라고 한다. 하지만 이러한 소스 코드는 컴퓨터가 이해하지 못하며 컴퓨터는 오직 0과 1로 이루어진 기계어만 이해할 수 있다. 이런 문제점을 해결해야하는데 이 때 소스코드를 기계어로 변환해주는 방식이 컴파일러 또는 인터프리터이다. 컴파일러 컴파일러는 전체 프로그램은 스캔하고 전체를 기계어로 번역한다. 이렇게 때문에 소스 코드를 분석하는데 많은 시간이 걸린다. 하지만 전체 실행 시간은 인터프리터보다 빠르다. 또한 인터프리터보다 많은 메모리가 필요하며 대표적인 언어는 C, C++, JAVA 등이 있다. 인터프리터 인터프리터는 프로그램을 한 번에 한 문장씩 번역한다. 때문에 소스 코드를 분석하는데 시간은 덜 걸리지만 전체 실행 시간..
[CS] 운영체제 - 가상 메모리
·
Computer Science/Operating System
가상 메모리의 기법은 전적으로 운영체제가 관리하고 있다. Demand Paging 실제로 필요할 때 page를 메모리에 올리는 것을 말한다. 이렇게하면 I/O 양의 감소, Memory의 사용량 감소, 빠른 응답 시간, 더 많은 사용자 수용 등의 효과를 얻는다. Valid / Invaild bit를 사용한다. Invalid는 사용되지 않는 주소 영역인 경우, 페이지가 물리적 메모리에 없는 경우를 말한다. 처음에는 모든 page entry가 invalid로 초기화되고 주소 변환 시에 invalid bit이 설정되어 있다면 page fault라는 현상이 발생한다. Page fault invalid page를 접근하면 MMU가 trap을 발생시킨다. (page fault trap 이라고 불린다.) kernel ..
[CS] 운영체제 - 메모리 관리
·
Computer Science/Operating System
메모리는 주소를 통해서 접근하는 매체이다. 크게 논리적인 주소, 물리적인 주소로 나뉜다. Logical address 와 Physical Address Logical address(논리 주소) 프로세스마다 독립적으로 가지는 주소 공간이며, 각 프로세스마다 0번지부터 시작한다. CPU가 보는 주소는 논리적인 주소이다. Physical address(물리 주소) 메모리에 실제 올라가는 위치를 말한다. 주소 바인딩 주소 바인딩이란 주소를 결정하는 것을 의미한다. Compile time binding 물리적 메모리 주소가 컴파일 시 알려진다. 시작 위치 변경시 재컴파일한다. 컴파일러는 절대 코드를 생성한다. Local time bining Loader의 책임하의 물리적 메모리 주소를 부여한다. 컴파일러가 재배치..
얼은펭귄
'CS' 태그의 글 목록 (3 Page)