ComputerScience

    운영체제와 정보기술의 원리 9장. 디스크 관리

    디스크의 구조 디스크의 물리적 구조 디스크 외부에서는 디스크를 1차원 배열처럼 취급하게 된다. 이 공간들을 논리블록이라고 하고 데이터가 저장될때에도 논리블록 단위로 젖아된다. 각 논리 블록이 저장되는 디스크 내의 물리적 위치를 섹터라한다. 디스크의 물리적 구조는 마그네틱 원판으로 구성된다. 각각 원판은 트랙으로 구성되고 트랙은 섹터로 나뉘며 섹터에 최소한의 단위 정보가 저장된다. 여러 원판에서 같은 동일한 트랙들의 집합을 실린더라 한다. 디스크 스케줄링 디스크에 대한 접근시간은 탐색시간, 회전지연시간, 전송시간으로 구분된다. 탐색시간은 디스크 헤드를 해당 실린더 위치로 이동시키는데 걸리는 시간이다. 회전지연시간은 디스크가 회전해서 읽고 쓰려는 섹터가 헤드 위치에 도달하기까지 걸리는 시간이다. 전송시간은 ..

    운영체제와 정보기술의 원리 8장. 가상메모리

    운영체제는 보통 모든 모든 프로그램에게 공평하게 같은 크기의 메모리를 할당하기보다는 몇몇 프로그램들에게 집중적으로 메모리를 할당 후 시간이 지나면 메모리를 회수해서 다른 프로그램들에게 다시 집중적으로 할당하는 방식으로 동작한다. 프로세스의 주소 공간 전체가 메모리에 올라와있지 않고, 수행할 부분만 메모리에 올라가고 나머지는 디스크의 스왑영역에 있다가 교체하는 방식이다. 추가적으로 운영체제는 프로그램이 물리적 메모리를 고려할 필요 없이 자기 자신만의 메모리를 사용하는 것처럼 0번지 부터 시작하는 자신만의 메모리 공간인 가상 메모리를 제공한다. 가상메모리는 방식에 따라 요구 페이징과 요구 세그먼테이션 방식으로 구현된다. 요구 페이징 요구 페이징이란 프로그램 실행 시 프로세스를 구성하는 모든 페이지를 한꺼번에..

    운영체제와 정보기술의 원리 7장. 메모리 관리

    컴퓨터에서는 byte 단위로 메모리 주소를 부여하기 때문에 만일 32비트 주소 체계를 사용하면 2^32바이트만큼의 메모리 공간에 서로 다른 주소를 할당한다. 또한 내부적으로 보통 4KB(2^12byte) 단위로 묶어서 페이라는 하나의 행정구역을 만들어서 처리한다. 주소 바인딩 프로그램이 메모리에 적재되면 프로세스마다 프로세스를 위한 독자적인 주소 공간이 생긴다. 이를 논리적 주소(Logical Address) 혹은 가상 주소(Virtual Address)라고 한다. CPU는 이 논리적 주소에 근거해 명령을 실행한다. 논리적 주소는 각 프로세스마다 독립적이며 0부터 가지고, 이와 반대로 물리적 주소는 메모리에 실제로 올라가는 위치이다. CPU가 기계어 명령을 수행하기 위해 논리적 주소를 참조하면, 논리적 ..

    운영체제와 정보기술의 원리 6장. CPU 스케줄링

    CPU는 프로그램의 기계어 명령을 처리하는 장치이다. 프로그램이 메모리에 올라가면 PC에 수행할 코드의 메모리 주소값을 가지게 되고, CPU는 PC가 가리키는 주소의 기계어 명령을 하니씩 수행한다. 기계어 명령은 CPU 내에서 수행되는 명령, 메모리 접근을 필요로 하는 명령, 입출력을 동반하는 명령으로 나누어 볼 수 있다. CPU 내에서 수행되는 명령은 Add같은 것이 있다. 메모리 접근을 수행하는 명령은 Load, Store 명령이 있다. 입출력을 동반하는 명령은 디스크 읽기, 키보드 입력등이 있다. 다만 입출력 명령을 특권명령으로 규정하여 사용자 프로그램이 직접 수행할 수 없도록 하고, 운영체제를 통해 서비스를 대행하도록 한다. CPU 버스트와 I/O 버스트의 모습 사용자 프로그램은 CPU 작업과 I..