728x90
반응형

컴퓨터(Computer Science)/운영체제(Operation System) 34

Disk Management, 디스크 관리 [운영체제]

디스크는 느리다 뭐다 그래서 지금까지 배워왔고 이제 디스크가 뭔지 알아 보려고 한다. 일반적인 디스크를 기준으로 설명한다. 디스크의 최소 단위는 섹터고 (물리적) 디스크 외부에서는 logical block( 논리적) 으로 사용한다. ** Sector 0은 일반적으로 부팅과 관련된 정보가 들어있다. 섹터에는 데이터만 단독 저장이 되는 것이 아니라 head와 trailer가 같이 저장된다. 에러 검출 코드나 섹터 번호와 같은 것들이 같이 저장된다. 부팅이 된다면 당연히 메인 메모리는 Volatile이기 때문에 다 비어있을 것이다. 그래서 ROM이라는 비휘발성 영역을 이용한다. ROM의 주소로 가서 0번 섹터의 내용을 메모리에 적재하고 실행하는 것이다. 결국 디스크에 있는 부팅영역을 실행하게 되어 OS는 부팅..

File System, 파일 시스템 [운영체제]

그냥 참고하고 알아보자 메모리는 주소로 관리했지만 파일은 이름으로 정보를 저장하는 방식이라고 볼 수 있다. 또한 OS에서 다양한 장치들을 file이라고 부르기도 함. 리눅스를 배우면 알 듯이 파일로 할 수 있는 연산은 create, delete, read, write, open, close 등이 있다. meta data는 어떤 것이 만들어질 때 관련 정보들이 자동으로 생성되어 같이 저장되는 것을 의미하는데 파일을 생성할 때에도 마찬가지다. **open은 file의 meta data를 메모리에 올려놓는 것을 의미한다. 그래서 결국 File System이란 OS에서 파일을 관리하는 부분, 관리하는 방법, 파일에 대한 모든 것이다. Directory라는 말 많이 들어봤을 것이다. 경로라는 말로 해석되는데 Di..

운영체제에서 스와핑(Swapping)

스와핑 이미 언급했지만 한 번 더 다뤄보자 더 ㅎㅎ • A process can be swapped temporarily out of memory to a backing store, and then brought back into memory for continued execution Total physical memory space of processes can exceed physical memory • Backing store – fast disk large enough to accommodate copies of all memory images for all users; must provide direct access to these memory images • Roll out, roll in –..

Virtual Memory, 가상메모리 [운영체제]

앞서 페이징에 대해 먼저 알고와야한다. [컴퓨터(Computer Science)/운영체제(Operation System)] - Paging, 페이징, 불연속 메모리 할당 [운영체제] Virtual Memory란 별 거 아니다. 진짜 가상메모리다. 가상 메모리는 실제 물리 메모리 개념과 개발자의 논리 메모리 개념을 분리한 것이다. 가상 주소 공간은 그 프로세스가 메모리에 저장되는 논리적인 형태를 말한다. 이런 아이디어는 여기서 나왔다. 만약 프로그램을 일부만 올려놓고도 실행할 수 있게 된다면?? **실제로 프로그램이 실행될 때 모든 부분이 실행되지 않는다. 1. 프로그램은 물리 메모리 크기에 의해 더는 제약을 받지 않는다. ** 즉, 큰 가상 주소 공간을 가정하고 프로그램을 만든다 2. 각 프로그램이 더 ..

Paging, 페이징, 불연속 메모리 할당 [운영체제]

[Memory Management, 메모리 할당 방식 [운영체제] 에 이어서 불연속 할당에 대해서 알아보자 그 중 가장 대표적인 페이징에 대해서 알아보자 Paging 기법은 앞서 설명했던 것처럼 해당 프로세스의 관련된 데이터 모두를 적재하는 것이 아니다. 단순히 레지스터에 시작주소 값을 담아 사용하기에는 연속된 메모리영역이 필요하다. 이제 프로세스의 물리 주소 공간이 연속되지 않아도 되는 메모리 관리 기법인 페이징을 쓰는 것이다. 페이징은 연속 메모리 할당을 괴롭히는 2가지 문제인 외부 단편화, 관련 압축의 필요성을 피할 수 있게 한다. 이러한 많은 이점을 제공하기 때문에 대형 서버용 시스템부터 모바일 장치용 시스템까지 대부분의 운영체제에서 다향한 형태의 페이징이 사용된다. ++페이징은 운영체제와 컴퓨터..

Memory Management, 메모리 할당 방식 [운영체제]

메모리는 일반적으로 2 개의 부분으로 나누어진다. 하나는 운영체제를 위한 부분, 다른 하나는 사용자 프로세스를 위한 부분 **일반적으로 OS는 낮은 주소를 User Program은 높은 주소를 사용한다. 일반적으로 여러 사용자 프로세스가 동시에 메모리에 있기를 원하는데 그래서 메모리에 적재되기를 기다리는 프로세스에 사용 가능한 메모리를 할당하는 방법을 고려해야 한다. 연속적인 메모리 할당에서 각 프로세스는 다음 프로세스가 적재된 영역과 인접한 하나의 메모리 영역에 적재된다. 그러나 이 메모리 할당 기법에 대해 더 논의하기 전에 메모리 보호 문제를 해결해야 한다. **메모리 보호는 이전에 Relocation 레지스터와 limit 레지스터에 의해 보호된다고 언급했다. [컴퓨터(Computer Science)..

동기화를 위한 하드웨어 지원, Hardware Support for Synchronization

임계구역 문제에 대한 소프트웨어 기반 해결책도 있지만 이번엔 우선 하드웨어 기반 해결책을 보자 소프트웨어 기반 해결책이 최신 컴퓨터 아키텍쳐에서 작동하지 않을 수 있다는 점 때문에 알아보는 것이다. 임계구역 문제를 해결하기 위한 지원을 제공하는 세 가지 하드웨어 명령어를 알아보자 차례대로 알아보자 • Many systems provide hardware support for implementing the critical section code. • All solutions below based on idea of locking Protecting critical regions via locks • Uniprocessors – could disable interrupts Currently running c..

Segmentation, 세그먼트, 불연속 메모리 할당 [운영체제]

[컴퓨터(Computer Science)/운영체제(Operation System)] - Paging, 페이징, 불연속 메모리 할당 [운영체제] 메모리 할당 방법에는 페이징 말고도 다른 방법이 있다. 세그먼트 방식인데 한 번 알아보자 약간 중요도는 페이징보다는 떨어진다. 페이징과 비슷해보인다. 페이징은 그냥 쪼갠다하면 segment는 의미단위로 쪼갠다. 역시 주소 구성방법도 페이징과 매우 비슷하다. page number, page offset과 비슷해보인다. ** 각각 레지스터에 저장된 값과 비교하여 정상적인 작동을 돕고 아니면 trap을 건다. 직접 어떻게 구조가 이루어지나 본다면 CPU가 논리주소를 주게 되면 2부분으로 나누어 number에 맞는 장소를 찾기위해 segment table로 간다. 하지만..

Memory Management, 메모리 관리 기본 개념 [운영체제]

메모리에 대해서 알아볼 것이다. CPU는 PC(프로그램 카운터)가 지시하는 대로 메모리로부터 다음 수행할 명령어를 가져온다. 그 명령어는 추가적인 데이터가 필요하거나, 데이터를 메모리로 내보낼 수 있다. 명령어 실행은 메모리로부터 명령어를 가져오고, 해독하고 메모리에서 피연산자를 가져오고 그래서 실행한 후, 결과를 메모리에 저장한다. 메인 메모리와 각 처리 코어에 내장된 레지스터들은 CPU가 직접 접근할 수 있는 유일한 저장장치이다. Instruction들은 메모리 주소만을 인수로 취하고, 디스크의 주소를 인수로 취하지 않는다. ** Disk에 있다면 CPU가 쓸 수 없다는 말이다. ++일반적으로 CPU 코어에 내장된 레지스터들은 일반적으로 CPU clock의 cycle에 맞춰서 접근한다. 메모리 버스를..

728x90
반응형