[CS] 운영체제 - 디스크 관리와 스케줄링
·
Computer Science/Operating System
Disk 구조 logical block 디스크의 외부에서 보는 디스크의 단위 정보 저장 공간들이다. 주소를 가진 1차원 배열처럼 취급하며 정보를 전송하는 최소 단위이다. sector logical block이 물리적인 디스크에 매핑된 위치이다. sector 0은 가장 바깥쪽의 실린더의 첫 트랙에 있는 첫 번째 섹터이다. Disk 관리 physical formatting 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정이다. 각 섹터는 header와 실제 data 및 trailer로 구성된다. header와 trailer는 sector number, ECC(Error-correcting Code)등의 정보가 저장되며 controller가 직접 접근 및 운영한다. Partitioning 디스크를 ..
[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 ..
얼은펭귄
'Computer Science' 카테고리의 글 목록 (3 Page)