Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

번역 : yundream 원문 : http://chortle.ccsu.edu/java5/Notes/chap01/ch01_1.html

Contents

컴퓨터 시스템에 대한 소개

컴퓨터는 다양한 종류의 소프트웨어와 하드웨어 컴포넌트의 조합으로 이루어진 복잡한 시스템이다. 이번 장에서는 다음과 같은 주제를 다룰 것이다.
  • 하드웨어와 소프트웨어
  • 컴퓨터 시스템의 구성요소
  • 네트웍스
  • WWW(월드 와이드 웹)

질문 1: 영화 몬스터주식회사에 대해서 어떻게 생각하십니까 ?

하드웨어와 소프트웨어

영화 몬스터주식회사에 나오는 괴물들에 대해서 생각해보자. 알고 있겠지만 영화는 무형의 정보로 이루어진다. 그것은 형태가 없는 정보로 움켜쥐거나 벽에 던지거나 할 수 없으며, 또한 무게 라든지 크기와 같은 구체적인 어떤 것들도 가지고 있지 않다. 괴물들은 물리적으로 존재하지 않는 것들이다. 괴물들은 VCR 테이프상에 기록되어서 존재하고 있을 뿐이다. 비록 테이프가 물리적인 것이긴 하지만 기록된 내용 자체는 무형의 정보들이다. 몬스터주식회사를 보고 이에 대해서 친구들에게 얘기 할때, 아마도 당신은 물리적으로 실존하는 테이프가 아닌, 테이프에 기록된 무형의 영화를 주제로 얘기를 할 것이다.

몬스터주식회사를 보기 위해서는 TV역시 필요하다. 이것은 물리적으로 실존한다. 당신은 그것의 무게나 크기를 느낄 수 있으며, 열받을 경우 벽에 던져버릴 수도 있고, 망치로 내리쳐서 산산조각을 낼 수도 있다.

hardware(이하 하드웨어)는 TV와 VCR테이프와 같은 물리적으로 실존하는 장치들을 일컫는다. 이러한 하드웨어를 통해서 상영되거나 동작하는 영화, 컴퓨터 프로그램과 데이터, 음악, 문서등의 무형의 정보를 소프트웨어라고 한다.

TV를 제대로 활용하기 위해서는 반드시 무형의 소프트웨어인 TV프로그램과 조합이 되어야 한다. TV 그 자체 만으로 할 수 있는 것은 아무것도 없다. 컴퓨터 시스템 역시 마찬가지로, 컴퓨터가 제대로 활용되기 위해서는 하드웨어 구성요소와 소프트웨어 구성요소가 조화를 이룰 수 있어야 한다.

질문 2: Imagine that you have a copy of Mark Twain's Tom Sawyer. You tear it to pieces and push the shreds through your garbage disposal. Have you destroyed Tom Sawyer? 마크 트웨인의 톰소여의 모험을 한권 가지고 있다고 상상해보자. 책을 찢어 분쇄기에 넣어 돌린 후 쓰레기통에 버렸다고 해보자. 이럴때 톰소여의 모험을 없애버렸다고 할 수 있는가?

컴퓨터 시스템의 구성요소

컴퓨터 시스템은 하드웨어와 소프트웨어 양쪽의 구성요소들로 구성이된다.
  • 컴퓨터 시스템에서 하드웨어 구성요소는 전자회로들이다.
  • 소프트웨어 구성요소는 무형의 요소들로, 데이터와 컴퓨터 프로그램들이다.
컴퓨터 시스템의 주요하드웨어 구성요소는 다음과 같다.
  • 프로세스
  • 메인 메모리
  • Secondary 메모리
  • 입력장치 (Input Device)
  • 출력장치 (Output Device)
프로세서, 메인 메모리, Secondary 메모리, 전원 공급장치들은 시스템 유닛에 포함된다. 이들 시스템 유닛들은 통상 컴퓨터로 불리우는 금속으로된 케이스에 위치한다. 또한 컴퓨터는 다양 한 입력장치(키보드와 같은)와 출력장치(모니터 같은)을 추가할 수 있는 구조를 가진다. 이들 시스템 유닛은 컴퓨터 내부에서 가장 큰 면적을 차지하는 메인 서킷 보드에 붙게 된다. 이 메인 circuit 보드는 많은 다른 구성요소들을 포함하는데, 흔히 motherboard(마더보드)라고 브란다. 전원 공급장치 (Power supply)는 모든 구성요소에 전원을 공급하는 일을 한다.

질문 : 마우스는 입력장치인가 아니면 출력장치인가 ?

하드웨어 구성요소

input(입력) 과 output(출력)은 시스템 유닛으로의 데이터 흐름의 방향을 나타내기 위해서 사용한다. 다음그림은 컴퓨터 시스템에서의 주요 하드웨어 구성요소를 보여주고 있다. 화살표는 데이터 흐름의 방향을 보여준다.

attachment:figure1-1.gif

bus(버스)는 컴퓨터의 메인서킷보드에 있는 선들의 그룹이다. 이것은 각 구성요소간의 데이터흐름의 통로가 된다. 모든 장치(device)들은 장치들은 controller를 통해서 버스와 연결이 된다.

processor는 1인치 정도의 크기를 가지는 전자장치이며, 플라스틱커버로 보호되고 있다. 이 사격형 전자기기의 내부는 실리콘으로 둘러싸인 수많은 전자적 장치로 구성이 된다. 하나의 프로세서는 수백만의 트랜지스터들로 구성이된다. 프로세서는 컴퓨터 시스템의 두뇌에 해당되며, 모든 다른 컴포넌트를 직간접적으로 제어하고 필요한 연산작업을 수행한다.

이 프로세서는 Central Processing Unit으로 불리우며 간단하게 CPU라고 부른다. 이들 CPU는 컴퓨터의 특징에 따라 다양한 종류가 사용된다. 예를들어 여러분의 PC에는 Pentium 프로세서가, Sun의 워크스테이션에는 SPARC 프로세서가 탑제되어 있다.

질문 13과 27을 더하는 연산은 컴퓨터의 구성요소의 어느부분에서 수행되는가 ?

메모리

프로세서는 컴퓨터의 두뇌에 해당되며, 모든 컴퓨터는 하나이상의 프로세서를 가진다. 프로세서에서 연산된 또다른 계산을 위해서 저장되거나 혹은 다른 구성요소로 전달될 필요가 있다. 이러한 작업을 수행하기 위해서는 데이터가 저장될 공간이 필요하다. 그러나 프로세서는 이러한 저장공간을 가지고 있지 않다.

연산과 함께 기억까지 동시에 할 수 있는 인간의 두뇌와는 달리, 컴퓨터는 연산을 위한 구역과 저장을 하기 위한 구역이 구분되어 있다. 물론 프로세서도 자체적으로 메모리를 가지고 있기는 하지만, 매우 작은 크기라서 특수한 용도외에 범용적으로 사용하기는 힘들다. 그래서 컴퓨터는 별도의 메모리 영역을 가지게 된다. 컴퓨터 시스템은 두가지 타입의 메모리 구성요소를 가진다.
  • 메인 메모리 :
    • 프로세서와 직접 연결되어 있다.
    • 내용은 빠르고 쉽게 바뀔 수 있다.
    • 프로세서는 초당 수백만회 정도 메모리에 대한 접근을 할 수 있다.
  • Secondary 메모리 :
    • 버스와 컨트롤러를 통해서 메인 메모리와 연결된다. (프로세서와 물리적으로 멀리 위치한다)
    • 내용은 빠르고 쉽게 바뀔 수 있으나, 메인메모리의 그것 보다는 느리다. (물리적으로 멀리 떨어져 있기 때문에)
    • 프로그램이나 데이터를 오랜시간 저장하기 위해서 사용한다.
    • 이들 데이터가 이용되기 위해서는 반드시 메인 메모리로 복사가 되어야 한다.
질문 메인메모리와 Secondary메모리중 어느게 빠른가.

메인 메모리

메인메모리는 활성화된 프로세서가 프로그램과 데이터를 저장하기 위해서 사용된다. 프로그램과 데이터가 생성이되면, 이것들은 Secondary 메모리에서 메인메모리로 복사가 되고, 프로세스가 이용할 수 있게 된다. 메인 메모리는 프로세스와 가까운 위치에 있으므로, 프로그램과 데이터를 이동하는등의 작업을 빠른시간에 수행할 수 있다. 메인 메모리는 보통 RAM이라고 불리운다. RAM은 Random Access Memory의 줄임말이다. 여기에서 Random이 의미하는 바는 데이터의 위치에 관계없이 읽어들일 수 있음을 의미한다. 다른 예로 Tape와 같은 Secondary 메모리장치는 순차적으로 데이터에 접근할 수 있다. 만약 데이터가 테이프의 가장 마지막 부분에 저장되어 있다면, 마지막까지 테이프를 돌려야 한다.

사람들은 흔히 내 컴퓨터는 512Mega Byte의 램을 가지고 있다라고 말하는데, 이는 메모리의 크기가 그 정도임을 의미하는 것이다. 1Mega byte(:12)는 대략 100만개의 문자를 저장할 수 있다. 메인메모리에 있는 데이터는 영속적인게 아니다. 데이터가 필요할 때까지만 존재하며, 어떤 데이터는 단 몇초만 존재하고 사라지기도 한다.

질문 컴퓨터를 이용해서 일기를 쓴다고 가정해보자.
  • 일기를 위해서 사용되는 워드프로세서 프로그램은 어디에 존재하는가 ?
  • 당신이 쓴 글자들은 어디에 위치하는가 ?

Secondary 메모리

Secondary 메모리는 오랜시간동안 데이터나와 프로그램을 저장할 필요가 있을 경우 사용한다. 아마도 현재 가장 널리 사용되는 Secondary 메모리 장치는 Hard Disk와 CD-RW일 것이다.
  • 하드디스크는 메인메모리에 비해서 거대한 크기의 저장공간을 제공한다.
  • 하드디스크는 보통 컴퓨터시스템의 내부에 하나의 유닛으로 포함된다. (외장 하드디스크와 같이 외부에 위치하는 것들도 있다)
  • 하드디스크는 데이터와 프로그램을 오랜시간 저장하기에 좋다.
  • 데이터와 프로그램은 하드디스크 상에 파일(:12)의 형태로 존재한다.
개인 컴퓨터라고 하더라도 보통 100Giga가 넘는 크기의 하드디스크를 가지고 있는데, 이는 메인메모리의 100배에서 200배에 해당하는 크기다. 하드디스크는 메인메모리에 비해서 느리며, 컴퓨터 시스템이 느려지는 대부분의 이유는 느린하드디스크 접근속도에 기인한다. 다음은 메인 메모리와 Secondary 메모리 두가지 타입을 비교한 것이다.
Primary Memory Secondary Memory
빠르다 느리다
작은 용량 큰 용량
프로세서에서 직접 제어 간접제어
모든 Secondary 메모리가 큰용량을 제공하는 것은 아니다, (지금은 거의 쓰이지 않지만) Floopy 디스크와 같이 매우 느리고, 적은 용량을 지원하는 것들도 있다. 한때는 데이터를 백업받기 위해서 플로피 디스크를 사용했지만 지금은 CD-RW 혹은 (일부)Tape를 사용한다.

질문 Doom III게임을 구입해서 컴퓨터에 인스톨 했다고 가정해 보자. 게임은 다음과 같이 구성되어 있다.
  • 프로그램
  • 데이터 (이미지와 같은 정보들)
인스톨이 끝난뒤 프로그램과 데이터는 컴퓨터시스템의 어디에 위치하는가 ?

입/출력 장치

입력장치와 출력장치는 컴퓨터와 시스템 외부사이에 데이터를 움직일 수 있게 해주는 연결고리(Interface)역할을 한다. 입력장치(Input Device)는 시스템 내부로 데이터를 전달한다. 다음은 대표적인 입력장치의 종류들이다.
  • 키보드
  • 마우스
  • 마이크폰
  • 바코드 리더기
  • 타블랫(그래픽 디자이너를 위한)
출력장치는 시스템에서 바깥으로 데이터를 내보니기 위해서 사용한다. 다음은 대표적인 출력장치들이다.
  • 모니터
  • 프린터
  • 스피커
입력/출력 장치는 일반적으로 I/O Device (이하 입출력 자치) 라고 불리운다. 이들 장치는 device controller이라고 불리우는 시스템 유닛에 의해서 내부의 모듈들과 전기적으로 연결된다. 예를 들어, 멀티미디어 컴퓨터의 필수요소인 스피커는 audio card와 device controller로 연결이 된다.

Secondary 메모리 장치로 분류되는 하드디스크 역시 입출력 장치가 된다.

유저입장에서 입출력 장치란 시스템박스의 바깥에 있는 장치들이 되겠지만, 프로그래머 입장에서는 프로세스와 메인메모리를 제외한 모든 것들이 입출력 장치가 된다. 프로세서를 디자인하는 엔지니어 입장에서는 프로세서를 제외한 모든 것들이 입출력 장치가 될 것이다.

특별하게 제작된 장치만을 제어하기 위해서 만들어진 프로그램을 탑제한 컴퓨터인 임베디드 시스템도 존재한다. 이러한 임베디드 시스템은 제어할 장치와 프로그램을 ROM (Read Only Memory)에 영구히 적재시킨 상태로 제작이 된다. 전체 프로세서 시장에서 임베디드용의 수요는 최근 증가세에 있다.

질문 현대의 모든 자동차는 컴퓨터에 의해서 제어된다. 자동차용 컴퓨터가 가지고 있는 것들에 대해서 생각해보자.
  • 입력 장치는 있는가 ?
  • 출력 장치는 있는가 ?
  • main 저장장치 있는가 ?
  • secondary 저장장치 있는가 ?

소프트웨어

컴퓨터 소프트웨어는 프로그램데이터로 구성된다. 프로그램들은 프로세스연산을 위한 명령어들의 목록을 가지고 있다. 데이터는 문자, 숫자, 이미지, 오디오 등과 같은 프로그램이 필요로 하는 정보들이다. 서로 다른 구성요소를 차지하고 있지만, 프로그램과 데이터는 컴퓨터 입장에서는 동일하게 취급된다.

프로그램과 데이터가 같은 전기적 방식으로 저장되고 사용된다는 점을 이해하는 것은 컴퓨터과학을 이해하는 가장 중요한 요소다. 질문: 다음중 플로피디스크에 저장할 수 있는 것들은 ?
  • 게임 프로그램
  • 숫자정보들
  • 오디오 데이터
  • 그래픽 데이터
  • 디지털 이미지들
  • 비디오 데이터

프로그램의 종류

프로그램은 크게 두종류로 나눌 수 있다. Application 프로그램 (이하 응용 프로그램)과 Systems 프로그램 (이하 시스템 프로그램이)이 그것이다. 전자는 사람이 사용하기 위한 목적으로 제작된 프로그램이고, 후자는 컴퓨터 시스템을 제어하기 위한 목적으로 제작된 프로그램이다. 사실 프로그램을 단순히 두개의 종류로 구분하기에는 애모모하한 면이 있기는 하지만, 편의상 이렇게 분류를 했다. 다음은 응용 프로그램과 시스템 프로그램의 차이점을 보여주는 표이다.
응용 프로그램 시스템 프로그램
워드 프로세서 운영체제(12)
게임 프로그램 네트워크 시스템
spreadsheets Database 시스템
그래픽 프로그램 웹 서버
웹 브라우저 프로그래밍 언어
이 중 가장 중요한 프로그램은 시스템 프로그램인 운영체제(Operating System)일 것이다. 운영체제는 컴퓨터가 작동하는 동안은 항상 떠 있는 프로그램으로, 컴퓨터 시스템의 소스트웨어와 하드웨어 구성요소들을 제어하는 일을한다. 운영체제는 프로그램을 실행시키고, 실행된 프로그램이 요구하는 자원을 할당하는 일을한다. 여기에서 자원은 하드웨어 구성요소의 쓸수 있는 자원을 말한다. 여기에는 입력을 위한 키보드, 데이터를 저장하기 위한 쓸 수 있는 메모리영역, 결과를 화면에 보여주고 소리를 들려주기 위한 그래픽카드 및 사운드카드 등의 장치가 포함된다.

최신의 운영체제들은 사용자가 운영체제를 편리하게 사용할 수 있는 유저 인터페이스를 제공한다. 이러한 유저인터페이스는 위해서 윈도우, 버튼, 아이콘, 마우스, 키보드등의 수단을 제공한다. Unix, Linux, Windows, System 10 등의 운영체제가 그러다.

운영체제

운영체제는 컴퓨터 시스템의 모든 하드웨어와 소프트웨어를 제어하는 기능을 가진 매우 복잡한 프로그램이다. 이 소프트웨어는 컴퓨터 시스템을 이루는 하드웨어와 소프트웨어들을 관리하며, 이들을 수행시킨다. 운영체제(:12)는 고객의 요청이라면 무엇이든지 수행하는 조그만 가게의 주인과 같은 위치에 있다. 가게주인이 요구하는 물건을 팔고, 물건이 부족하면 들여오고, 재고관리, 장부관리 등의 일을 하듯이, 운영체제도 이러한 일을 수행한다. 운영체제는 프롬프트라는걸 통해서 사용자의 입력을 받아들여서 필요한 일을 한다.

모든 컴퓨터 시스템은 자신의 목적에 맞는 운영체제를 가지고 있다. 예를 들자면, Pentium기반의 컴퓨터는 Linux(:12)나 윈도우즈와 같은 운영체제를 가지고 있다. 일반적으로 하나의 컴퓨터시스템에는 하나의 운영체제만 설치되지만, 2개 이상의 운영체제를 설치해서 운용하기도 한다. Vmware와 같은 소프트웨어를 사용하면 하나의 컴퓨터 시스템에서 두개이상의 운영체제를 동시에 운용할 수 있지만, 보통은 한번에 하나의 운영체제만을 운용할 수 있으며, 다른 운영체제로 변경하기 위해서는 컴퓨터를 껏다 켜야 한다.

프로그램 실행하기

컴퓨터가 실행되면, 하드웨어에서 자동적으로 운영체제가 가동되고, 컴퓨터 시스템을 원할히 제어하기 위한 여러가지 작업을 수행하게 된다. 이러한 과정을 booting이라고 한다. boot의 사전적의미는 장화를 신다라는 뜻이다. 그러하니 booting는 장화를 신고 있는정도로 해석하면 될것이다. 이는 운영체제가 bootstrap라는 프로그램에 의해서, 주기억장치에 올려지기 과정이, 장화를 신는 과정에 비견할 수 있기 때문으로, 컴퓨터가 운영체제를 신는 과정이라고 이해할 수 있다. 운영체제가 성공적으로 올라오게 되면, 비로서 다른 응용 프로그램들을 실행시킬 수 있는 상태가 된다.

다음은 응용 프로그램이 시작될 때, 어떤일이 생기는지를 차례대로 나열했다. (운영체제는 이미 실행중에 있다고 가정한다.)
  1. 사용자가 응용 프로그램을 실행한다.
    • 이 과정은 아이콘을 클릭하거나, 프롬프트에 명령을 직접입력함으로써 이루어진다.
  2. 운영체제는 응용의 이름을 확인한다.
  3. 운영체제는 응용 프로그램이 하드디스크의 어디에 저장되어 있는지를 찾는다.
  4. 운영체제는 주 메모리에서 응용 프로그램을 실행시킬만한 (사용하지 않고 있는)충분한 공간이 있는지를 확인한다.
  5. 운영체제는 응용프로그램과 데이터를 메인메모리에 복사한다.
  6. 응용 프로그램을 위한 자원을 확보한다.
  7. 드디어 응용 프로그램이 시작된다.
응용이 실행되면, 운영체제는 뒤에서 시스템의 자원을 관리하고, 응용 프로그램의 입출력을 관장한다 (키보드를 이용한 사용자의 입력을 받아들여서 응용에 전달하고, 처리된 결과를 모니터를 통해서 사용자가 볼 수 있도록 출력한다.)

네트워크

컴퓨터 네트워크는 두개 이상의 컴퓨터가 연결되어서, 데이터와 프로그램을 주고받을 수 있도록 구성된 상태를 의미한다. 컴퓨터가 이 네트워크에 참가하게 되면, 네트워크를 제어할 수 있는 프로그램에 의해서 네트워크로 연결되어 있는 다른 컴퓨터에 데이터를 보낼 수 있게 된다. 상업/산업용 컴퓨터들의 대부분은 네트워크에 연결된 상태로 운용된다. 이렇게 컴퓨터가 네트워크에 참여해서, 데이터를 공유하기위해서는 운영체제가 네트워크를 제어할 수 있는 기능을 가지고 있어야 한다. 현재 대부분의 운영체제는 이러한 네트워킹 기능을 가지고 있는데, 이러한 네트워크 기능을 사용할 수 있는 응용 프로그램을 이용해서 컴퓨터들간의 데이터를 공유하게 된다.

비고적 가까운 거리에 수십개 정도의 컴퓨터가 연결된 상태를 Local-Arean Network 라고 한다. 줄여서 LAN이라고 부르며, 근거리 네트워크라고 부르기도 한다. LAN의 가장 일반적인 경우는 프린터를 공유하는 예가 될것이다. 이러한 네트워크 상에서 프린터나 하드디스크와 같은 자원을 제공하는 측을 Server라고 부른다. 파일 전송을 위한 FTP 같은 경우에는 파일을 저장할 하드디스크 공간을 제공하는 컴퓨터가 Server가 된다. 이는 Email, 웹과 같은 경우에도 동일하게 제공된다.

각각의 컴퓨터는 Network Interface Card라는 컴퓨터 시스템 유닛에 의해서 네트워크에 연결된다. 이 장치는 케이블을 통해서 다른 컴퓨터의 Network Interface Card에 연결되며, 데이터의 입력과 출력을 담당하게 된다.

WAN

LAN이 비교적 가까운 거리의 소규모의 컴퓨터를 연결하는 네트워크라면, WAN은 수천, 수만의 먼거리에 있는 컴퓨터들을 연결하기 위한 네트워크다. Wide-Area Networks라고 불리우는 이 네트워크는 광케이블, 전화선, 전파, 인공위성 등으로 서로 연결된다. 각각의 컴퓨터는 네트워크상에서 식별되기 위해서 network address를 가진다.

WAN은 수천, 수만의 컴퓨터가 연결되어 있고, 이들 사이의 데이터 흐름을 관리해야 하므로, 데이터 흐름을 관리하기 위한 특별한 장치가 필요하다. 이러한 장치들이 데이터의 흐름을 효과적으로 관리하기 위해서, protocol이라는 것을 사용한다. 이것은 일종의 규약으로, 편지를 보낼때, 우편번호를 어떻게 적어야 하는지를 약속하는 것과 동일한 것으로, 이런이런 약속에 의해서 데이터를 보내면, 원하는 곳까지 안전하게 보낼 수 있다는 것을 보장한다. 네트워크 상에서는 TCP(:12)/ IP(:12)라는 프로토콜을 사용한다. 이들 프로토콜은 수천/수만의 컴퓨터 사이에서 데이터가 원하는 목적지까지 흐를 수 있음을 보장한다.

인터넷

Internet는 많은 수의 WAN이 서로 연결된 worldwide(지구규모)의 네트워크다. 수천만 이상의 컴퓨터가 연결되어 있으므로, 각각의 컴퓨터는 유일한 network address를 가지고 있어야만 한다. 이 네트워크 주소를 IP address라고 한다. 우편주소 혹은 전화번호라고 볼 수 있다.

IP 주소는 다음과 같은 형식을 가진다. 149.152.18.25

IP주소는 32비트의 크기를 가진다. 이것은 4294967296 개 정도의 컴퓨터에 유일한 번호를 부유할 수 있는 크기다. 그러나 이렇게 숫자로 나타내면 관리하기가 어렵기 때문에, .을 구분자로 해서 8byte씩 4자리로 표기를 한다. 이렇게 하면 숫자보다는 관리하기 편하지만 역시 인간이 인지하기 쉽지 않기 때문에, 다음과 같이 문자로된 이름을 쓴다. chortle.ccsu.edu www.joinc.co.kr

이러한 컴퓨터 이름은 IP 주소와 대칭된다. 웹브라우저등을 통해서 위의 주소를 입력하면 최종적으로는 32bit 숫자주소로 변환이 되어서 컴퓨터의 주소를 식별하게 된다.

World Wide Web

일단 다음의 주제를 다시 상기해 보도록한다. (앞에서 이미 다루었었다) 컴퓨터 메모리상에서 프로그램과 데이터는 같은 방식으로 저장된다. 이 둘을 구분하기 위한 어떠한 장치도 가지고 있지 않다.

컴퓨터에 있어서 프로그램과 데이터간의 차이가 없다는 명제는 다른 모든 정보에 공통적으로 적용된다. 네트워크를 통해서 전달될 때도 마찬가지다. 인터넷상에서 데이터의 전송은 우편서비스와 매우 유사하다. 우편물을 제대로 전달하기 위해서 보내는 주소와 받을 주소를 명시하는 것처럼, 인터넷상의 데이터도 동일한 방식으로 전달된다.

인터넷은 World Wide Web (이하 WWW)에서 기계와 정보의 종류에 상관없이 정보를 전달할 수 있도록 다양한 프로토콜을 제공한다. 예를들어 웹페이지 서비스를 받는다고 가정해보자. 웹페이지를 볼 수 있도록 하기 위해서 HTML이라는 프로토콜이 사용되는데, 이 프로토콜이 사용되면, 여러분이 윈도우를 사용하건 리눅스를 사용하건 혹은 솔라리스가 설치되 Sparc 컴퓨터를 사용하건간에 관계없이, 웹브라우저를 통해서 웹페이지를 볼 수가 있다. HTML 프로토콜을 따라서 만들어진 문서는 이렇게 표시하면 된다라고 약속으로 정해져 있기 때문이다.

Hyperlinks

웹 페이지는 hyperlink를 통해서 연결된다. 당신이 웹상에서 문서를 읽는 도중에, 참고문서를 연결해야할 경우 hyperlink를 사용할 수 있다. 이렇게 해서 문서와 문서가 서로 연결이 된다.

웹 브라우저는 사용자가 hyperlink를 색상이나 밑줄등으로 구분할 수 있도록 한다. 사용자가 하이퍼링크위로 마우스를 이동하면 마우스포인터가 변경되며, 클릭하면 연결된 웹페이지로 이동을 한다. 이 웹페이지들은 URL(Uniform resource Locator)로 불리우는, 웹페이지에 직접 대응되는 특별한 이름을 가지고 있다.