목록전공지식 정리/운영체제와 컴퓨터구조 (6)
Dolphins의 HelloWorld
폴링(polling) 폴링 방식은 CPU가 직접 입출력 장치에서 데이터를 가져오거나 내보내는 방식이다. 이 때 CPU는 입출력 장치의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 데이터를 처리하며 CPU가 명령어 해석과 실행이라는 본래 역할 외에 모든 입출력까지 관여해야 하기 때문에 작업 효율은 떨어진다. 인터럽트(Interrupt) 인터럽트 방식은 입출력 장치가 자신들이 필요할 때마다 CPU에게 인터럽트 신호를 전송하여 그 때 그 때 사용하는 방식이다. 이는 CPU의 작업과 저장장치의 데이터 이동을 독립적으로 운영함으로써 시스템의 효율을 높일 수 있다. 또한 데이터의 입출력이 이루어지는 동안 CPU가 다른 작업을 할 수 있다. 다시 정리해보면 인터럽트는 주변장치의 입출력 요구나 하드웨어의 이상 ..
캐싱(Caching) 캐싱이라고 하면 캐시라고 하는 더 빠른 메모리 영역으로 데이터를 가져와서 접근하는 방식을 말한다. 만약 프로세서가 어떤 프로세스를 처리하기 위해 특정 메모리가 필요하다면 L1, L2캐시 그리고 데이터가 없다면 main memory에 접근하여 데이터를 찾을 것이다. 계속해서 이런 과정을 수행하면 오버헤드가 발생하기 때문에 자주 사용할 것 같은 데이터를 미리 캐시에 넣어두게 된다. 디스크 파일에서 메인 메모리로 데이터를 읽어올 때도 캐싱이 이루어 지는데 이 때 하드 디스크에서 연속된 블록을 버퍼에 올려줌으로써 디스크 입출력의 횟수를 줄인다. 캐시에는 공간 지역성과 시간 지역성이 존재하는데 공간 지역성은 한번 접근한 데이터의 인근에 저장되어 있는 데이터가 다시 접근할 가능성이 높은것을 의..
커널(Kernel) 커널은 운영체제의 핵심을 이루는 요쇼로서 컴퓨터 내의 자원을 사용자 프로그램(User Application)이 사용할 수 있도록 관리하는 프로그램이다. 커널은 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 핵심적인 기능을 담당한다. 사용자 프로그램은 System Library의 도움을 받거나 아니면 Software Interrupt를 이용하여 트랩을 걸어 커널에 접근하게 되며, 이러한 모든 접근은 System call Interface를 통하여 이루어진다. 출처 : 위키백과 이러한 커널은 크게 모놀리식 커널, 마이크로 커널, 하이브리드 커널, 엑소 커널로 이루어져 있으며 자세한 내용은 https://12bme.tistory.com/288 을 통해 확인해보도록 하자.
다중 프로그래밍 시스템(Multi-programming System) 메모리에 여러개의 프로그램을 상주시켜서 하나의 CPU로 동시에 여러 프로그램을 실행하는 것처럼 처리하는 시스템. 하나의 작업이 CPU를 사용하다가 입출력 처리 등으로 CPU를 사용하지 않는 동안, 다른 작업에 CPU를 할당하여 CPU효율을 극대화 하는 방식이다. 메모리 관리 기법이, CPU 스케줄링 기법이 필요하다. 이는 동시에 여러 프로그램을 실행할 수 있어 처리 능력이 좋으나 운영체제의 구조가 복잡하다는 단점을 지닌다. 시분할 시스템(TSS, Time Sharing System) 프로세서를 통해 다중 작업을 교대로 수행하는 방식이며 프로세서 스케줄링과 다중 프로그래밍을 사용하여 각 사용자에게 컴퓨터를 시간적으로 분할해준다. 분산 처..
폰노이만 구조 (출처 : 위키피디아) 폰노이만 구조는 CPU, 메모리, 입출력장치, 저장장치가 버스로 연결되어 있는 구조이다. 폰노이만 구조 같은 경우 컴퓨터에 다른 작업을 시키고자 할 때 하드웨어(전선)을 재배치 할 필요가 없이 소프트웨어만 교체하면 되기 때문에 범용성이 향상됨에 따라 현대 컴퓨터가 폰 노이만 구조를 따르고 있다. 그러나 메모리와 CPU를 이어주는 통로인 버스가 하나기 때문에 순차적으로 정보를 처리함으로써 고속 병렬처리에는 부적합하다 이를 폰 노이만 병목 현상이라고 한다.
p2p시스템 P2P(peer-to-peer network) 혹은 동등 계층 간 통신망은 비교적 소수의 서버에 집중하기 보다는 망 구성에 참여하는 기계들의 계산과 대역폭 성능에 의존하여 구성하는 통신망이다 (출처 : 위키피디아) 이는 컴퓨터끼리의 양방향 파일 전송 시스템이며 중앙 서버 없이 각각의 컴퓨터가 서버와 클라이어트가 되고, 서로 연결하여 파일을 주고받는 것이다. P2P는 설치 및 관리가 간편하고 고가의 서버 등을 구입할 필요가 없기 때문에 구축에 많은 비용이 소모되지 않는다. 또한 P2P방식에서는 모든 단말이 동일하지만 특별한 기능과 역할을 가진 단말이 존재하지 않으므로 연결하는 사용자 수가 방대해져도 특장 단말에 부하가 집중되지 않는다. (확장성) 반면 클라이언트 서버 방식은 클라이언트 수가 증..