java

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ java ] in KIDS
글 쓴 이(By): hell (나누구야)
날 짜 (Date): 1997년10월25일(토) 21시57분46초 ROK
제 목(Title): 뜨거운 감자 '자바OS' 그정체를 밝힌다 (3)




 ------------------------------------------------------------------------------
 뉴스제공시각 : 08/01 00:00                   출처 : 마이크로 
 제목 : 뜨거운 감자 '자바OS' 그정체를 밝힌다 (3)
 -----------------------------------------------------------------------------
자바 가상기계와 자바OS
대부분의 자바OS는 자바로  작성된다. <그림  3>은 자바로 
작성된 경우 굵은 선을, 자바와 네이티브 기계  코드로 작성
된 경우 일반선을, 기계 코드로 작성된 경우에는  실선을 사
용했다. 모든 자바 애플릿에서 자바OS과  함께 자바 가상기
계(다음호에 자세히 설명하겠다)는 매우 중요하다. 
여기서 가상기계는 자바 플랫폼의 기능을 의미한다.  실제로 
자바 가상기계는 컴퓨터  프로세서를 애뮬레이트한다.  이런 
가상 프로세서의 인스트럭션 셋은 자바 바이트 코드이다. 각 
바이트 코드 인스트럭션은 자바나 자바OS를 실행하는 컴퓨
터에서 동일한 기능을 한다. 데스크탑 운영체제가 자신의 마
이크로프로세서에 알맞은 기계 코드로  컴파일되는 것과 마
찬가지로 자바OS도 자바로 작성되는 것이다. 그리고 바이트 
코드로 컴파일되며, 자바 가상기계에서 동작한다. 자바 가상
기계는 API와 클래스가  모든 플랫폼에서 일관성을  유지한
다. 

<그림 3> 자바OS 컴포넌트
자바OS 컴포넌트
핫자바 뷰 또는 다른 애플리케이션 자바 API
AWT 클래스 파운데이션 클래스 네트웍 및 IO 클래스
윈도우 기능(Windowing)
TCP/IP UDP NFS 클라이언트 
이더넷 키보드 및 마우스 그래픽
자바 가상기계
커널 하드웨어

디바이스 드라이버와 자바OS
I/O 소프트웨어 계층에서  디바이스 드라이버는 운영체제와 
하드웨어 장치를 연결하며,  연결된 주변기기를  추가하거나 
변경할 수 있는 유연성을 제공한다. 모든 데스크탑 운영체제
는 디바이스 드라이버를 사용해 컴퓨터를 쉽게 구성하고 업
그레이드할 수 있다. 예를 들면 보다 많은 컬러와 높은 해상
도를 가지는 비디오 인터페이스로  변경하기 위해서 디바이
스를 인스톨하고 드라이버 소프트웨어를 로딩해야 한다.  새
로운 디바이스 드라이버는 이전  버전을 교체하거나 기존의 
디바이스 목록에 새로운 버전을 추가할 수 있다.
매킨토시, 윈도우 95, NT, OS/2 및 자바OS과 같은 최근 운
영체제는 각각의 디바이스 드라이버가 있다. 다른  운영체제
와 자바OS 디바이스 드라이버의 차이점은 다른 운영체제의 
디바이스 드라이버가  프로세서에 의존적이지만,  자바OS의 
디바이스 드라이브는 프로세서에 그렇지 않다는 것이다.
다른 대부분의 운영체제에서 디바이스  드라이버는 하위 레
벨 코드로 간주되며 해당 프로세스에 의존적인 기계 코드로 
컴파일하지만, 자바OS는 자바 플랫폼의 확장성 때문에 자바
로 디바이스 드라이버를 작성해 다른 컴퓨터에서 사용할 수 
있다.
디바이스 드라이버는 메모리와 포트를 액세스하고 인터럽트
를 처리해야 한다. 자바OS는 메모리  액세스, 포트 및 인터
럽트를 처리하기 위한 특별한 클래스가 있다. 이들 클래스는 
표준 API에서 사용할 수 없고, 디바이스 드라이버에서만 사
용할 수 있다. 
자바소프트는 디바이스 드라이버에 대해  보다 쉽게 표준적
인 프로그램을 작성할 수 있도록 디바이스 드라이버  API를 
개발했다. 이 새로운  API는 특별한 메모리  액세스 기능과 
인터럽트 클래스를 제공하며, 디바이스 드라이버를 작성하는 
메쏘드와 기능 인터페이스를 포함하고 있다. 
디바이스 드라이버를 구현하거나 주변기기에 연결이 쉬울수
록 보다 많은  주변기기 제조업자가  NC와 자바OS과 같은 
새로운 컴퓨터 플랫폼을 제공할 것이다. 이 점은 자바OS 기
반의 컴퓨터와 자바 웍스테이션이 다른 NC에 대해 가질 수 
있는 장점이다. 주변기기 제작자는 모든 자바 기반의 컴퓨터
에 대해 하나의 디바이스 드라이버를 작성한다.  다른 NC에
서는 프로세서 의존적인 디바이스 드라이버 구현에 특정 메
쏘드가 사용되고 있다. 

자바OS의 그래픽 유닛
운영체제의 다음 계층은 그래픽과 윈도우 패키지(또는 그래
픽 유닛이라고 한다)다. 이 패키지는 AWT 클래스에서 매우 
중요한 역할을 한다. 그래픽 유닛은 가능한 한  빠르고 효율
적으로 그래픽 연산을 수행할 수 있도록 최적화하기 때문에 
대부분의 루틴은 네이티브 메쏘드이다. 다시 말해, 루틴은 C
나 C++ 또는 어셈블러로 작성된 후 프로세서에 적합한 기계 
코드로 컴파일된다. 기계 코드는 네이티브 메쏘드로써  자바 
바이트 코드에 연결된다. 속도가 중요하지 않은 그래픽 유닛
에 대해서는 자바로 작성할 수 있다. 

자바OS의 네트웍 지원 패키지
자바OS는 네트웍 운영체제이므로  최소한 일반적으로 사용
되는 네트웍 프로토콜을 지원해야 하기 때문에 네트웍 관련 
클래스가 자바OS 코드의 대부분을 차지하며, 네트웍을 지원
하는 모든 코드는 자바로 작성한다. 자바는 다음  라우팅 프
로토콜과 전송 프로토콜을 구현한다. 

■    TCP/IP(Transmission    Control    Protocol/Internet 
Protocol)
■ UDP(User Datagram Protocol)
■ ICMP(Internet Control Messaging Protocol)

이들 프로토콜은 인터넷과 인트라넷을  포함해 대부분의 네
트웍에서  표준   통신  프로토콜로   사용된다.  자바OS는 
DNS(Domain Name  Service)와 NIS(Network  Information 
Service) 프로토콜을 사용해 네트웍에서 다른 호스트 이름을 
조사해 로그인할 경우 사용자 패스워드와 사용자 이름을 전
달한다.   또한   SNMP(Simple   Network    Management 
Protocol)을 지원해 NC가 파일 서버와  정보를 주고받을 수 
있다.
네트웍 지원 패키지(java.net)는 디바이스 드라이버와 마찬가
지로 자바로 작성하기 때문에 특정 프로세서나 컴퓨터에 대
해 특별한 구현이 필요없다. 그리고 TCP/IP  기능은 디자인 
스펙이 요구하는 시간보다 두 배 정도 빠르므로 웹브라우징
에 충분하다.

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.