본문 바로가기

컴퓨터&네트워크25

네트워크에 대해서 네트워크 서비스란 컴퓨터 네트워크는 호스트, 그리고 프로세스들에게 서비스를 제공하곤 한다. 그중 연결 지향 서비스는 전화 시스템을 모델링하는 것으로 보면 된다. 전화 통신을 하기 위해서는 전화기를 들고 번호를 누른 다음 용건에 대해서 대화를 하고, 그리고 전화를 내려놓는다. 마찬가지로 연결 지향 서비스를 사용하고자 한다면, 사용자는 연결을 설정하고, 사용한 다음, 연결을 해제한다. 연결의 핵심 측면은 튜브처럼 동작하는 것이다. 다시 말해서, 전송자는 한쪽 끝에서 객체를 보내고, 수신자는 다른 끝에서 같은 순서로 객체를 꺼내는 것이다. 연결 없는 서비스는 편지 시스템을 예로 보면 되겠다. 각 메시지 안에는 주소가 담겨 있고, 각각은 완전히 독립적으로 시스템을 통해서 라우팅이 된다. 두 메시지가 같은 목적지.. 2024. 8. 26.
분산 시스템 네트워크 하드웨어에 대해서 우리가 친숙하게 사용하고 있는 네트워크는 크게 빌딩, 혹은 캠퍼스 크기를 커버하는 LAN(Local Area Network)와 도시, 국가 등 큰 단위를 커버하는 WAN(Wide Area Network)로 구분이 된다. LAN에서 가장 중요한 종류를 꼽아 본다면 이더넷(Etherent)으로 볼 수가 있다. WAN의 예로는 인터넷을 보면 된다. 인터넷을 기술적으로는 하나의 네트워크가 아니라 수 천 개의 독립된 네트워크 집합체로 볼 수가 있다. 이더넷은 IEEE 표준 802.3에 상세하게 기술이 되어 있다. 동축 케이블로 구성되며 여러 개의 컴퓨터가 연결될 수 있는 구조다. 케이블을 이더넷이라고 부른다. 이런 이름은 발광 에테르와 관련이 있는데 이는 한때 전자기 복사가 전파되는 매.. 2024. 8. 25.
다중처리기 시스템 다중처리시스템에 대해서 컴퓨터 산업 자체가 처음 시작되었을 때부터 보다 더 많은 컴퓨팅 능력을 제공할 수 있게끔 하기 위해서 지속적으로 노력했다. ENIAC은 초당 300개의 연산을 처리할 수가 있었는데, 이것은 당시 계산기에 비해서 천배 가까이 빠른 성능이었지만 사람들은 여전히 만족하지 않았다. 요즘 우리는 ENIAC에 비해서는 백만 배 이상 빠른 컴퓨터를 사용하고 있지만 여전히 배고프다. 예를 들어 천문학자는 우주를 심층적으로 이해하기 위해서, 생물학자는 인간 유전자의 기능을 낱낱이 파헤치기 위해서, 항공학자는 보다 안전한 비행기를 개발하기 위해 많은 CPU 사이클을 요구하고 있다. 지금껏 빠른 컴퓨터를 위해 대표적인 접근 방법을 보면 클록 속도를 높이는 것이었다. 그러나, 우리는 클록 속도의 근본적.. 2024. 8. 20.
멀티미디어와 운영체제 멀티미디어에 대한 소개 디지털 영화, 비디오 클립, 혹은 음악 등은 정보를 제공하고 컴퓨터를 사용해서 여유 시간을 즐기는 일반적인 방법으로 사용되고 있다. 비디오 파일들은 디스크에 저장되어서 필요시, 언제든지 다시 재생될 수가 있다. 다만, 그들이 특성은 현재 파일 시스템이 설계 목표로 하는 전통적인 텍스트 파일과는 상당히 상이하다. 이들을 다루기 위한 새로운 타입의 파일 시스템이 필요한 것이다. 특히, 오디오 및 비디오의 재생은 스케줄러, 그리고 운영 체제의 다른 부분들에게 새로운 요구 사항을 제기하고 있다. 보통, 디지털 영화는 문자 그대로 하나 이상의 미디어를 의미하는 멀티미디어라는 이름으로 표현이 자주 된다. 즉, 이것은 테스트와 이미지라는 두 미디어를 포함한다고 보면 된다. 그러나 대부분의 사람.. 2024. 8. 19.
입출력 장치들에 대해서 장치 드라이버 각 컨트롤러는 명령을 내리거나 상태 정보를 읽어내기 위해서 혹은 둘 모두를 위한 특정한 장치 레지스터를 지닌다. 장치 레지스터의 수, 명령의 속성은 근본적으로 장치에 따라서 달라진다고 볼 수 있다. 예를 들어 마우스 드라이버는 얼마나 멀리 움직였는지, 또는 현재 어떤 버튼이 눌려졌는지를 말해주는 마우스로부터 정보를 수락해야만 한다. 컴퓨터에 부착된 각 입출력 장치들은 그것을 제어하기 위해 필요한 어떤 특정 코드를 필요로 한다. 장치 드라이버라고 불리는 이 코드들은 일반적으로 장치의 제조사가 작성하고 장치와 함께 제공된다고 보면 된다. 각 운영체제가 각각 그 본연의 드라이버를 필요로 하기에 장치 제조사는 일상적으로 여러 유명한 운영체제를 위한 드라이버를 제공한다. 각 개별 장치 드라이버는 정.. 2024. 8. 18.
컴퓨터 스케줄링 알고리즘 스케줄링 컴퓨터는 종종 다수의 프로세스 또는 스레드가 동시에 CPU를 사용하기 위해서 경쟁하는 경우가 발생한다. 이런 상황에서는 둘 또는 그 이상이 준비 상태인 경우에 항상 발생하게 된다. 단 하나의 CPU만 사용할 수가 있다면 다음에 실행할 프로세스를 선택해야만 한다. 이와 같은 선택을 하는 운영체제의 일부분을 스케줄러라고 부르며 스케줄러의 알고리즘을 스케줄링 알고리즘이라고 한다. 과거에 자기 테이프에 담긴 카드 이미지 형태로 입력을 받는 배치 시스템 시대로 되돌아가 보면 스케줄링 알고리즘은 상당히 단순했다. 테이프의 다음 작업만을 실행하면 되었다. 다중프로그래밍 시스템에서는 보통 서비스를 기다리는 여러 명의 사용자가 있기 때문에 스케줄링 알고리즘은 훨씬 더 복잡하다. 몇몇 메인 프레임에선 여전히 배치.. 2024. 8. 16.