openssl을 이용한 보안 웹서버 구축하기=>아파치 서버와 함께opensl을 가동한다.=>인증을 하기위한 root사용자의 암호를 입력한다.웹서버의 주소를 입력하면 보안 인증서가 나온다.예를 누르면 입력한 주소의 페이지가 올바르게 뜨는 것을 알수 있다.결론:OpenSSL은 SSLeay를 기반으로한 공개용 암호화 라이브러리이다. 미국에서 상용으로 개발된 RSA 알고리듬을 완벽하게 호환하면서, 미국 밖에서도 사용 가능한 프리웨어 입니다.opensl의 대표적인 기능으로 Certificate Server는 인터넷에서 메일이나 프로그램(applet, script같은것)등의 송신자를 믿을만한 사람이 보냈는지 인증해주는 서버이다. 쉽게 말하면 철수가 은행에 개인적인 문서를 Sign을 하여 보냈다고 하면, 은행의 입장에서는 이 메세지가 정말로 철수에게서 온것인지를 확인할 필요가 있다. 이때 PGP나 GPG처럼 비밀키와 공개키를 이용하여 철수는 비밀키로 사인하고 은행에서는 철수의 공개키를 이용하여, 수신된 메세지가 철수가 보낸것이 맞는지 확인할수 있다. 또한 은행에서 철수 한테 보내는 메세지인 경우에도 마찬가지 이지만, 서로간의 공개키가 정확하게 전달이 되었는지 확인할 필요가 있을때 사용합니다.
임베디드시스템의 일반적인 특징과 관계가 먼 것은?1) 특수한 작업의 반복적 실행2) 자원의 확장성이 나쁨3) 특수한 조건에서 사용4) 하드웨어와 밀접5) 특수한 개발툴 이용정답 : 22 .임베디드시스템에 관련된 제품을 대량 생산할 때 가장 좋은 프로세서 기술은?1) Single-purpose processor2) Application-specific processor3) General-purpose processor정답 : 13 .다양한 유닉스의 변종을 통합하기 위한 표준 인터페이스를 의미하는 용어는?정답 : POSIX4 .리눅스 고유의 API 지원에는 미흡하지만 실시간 지원에는 적합한 리눅스 커널 기법을 6자의 한글 단어로 나타내라 (단, 띄어쓰기를 하지 말 것).정답 : 서브커널방식5 .호스트에서 “Hello, Embedded System!n”을 출력하는 hello.c 프로그램을 arm-linux-gcc를 사용하여 실행파일 hello를 만들었다. 그 후 strip 명령어를 이용하여 실행파일의 크기를 줄인 후 타겟 보드로 옮겨 ./hello를 실행했다. 어떤 결과가 나타나는지 또한 그 이유는 무엇인지 간단하게 기록하라.정답 : 실행이 되지 않음. arm-linux-strip을 사용하지 않았음.6 .호스트의 /root 아래에 타겟을 위하여 새로 생성한 커널 이미지가 존재한다. 강의안에 나타난 대로 관련된 모든 설정 파일을 만든 후 호스트에서 xinetd 데몬을 실행했다. 타겟 보드의 커널을 완전히 바꾸기 위하여 호스트와 타겟에서 해야 할 남은 일이 있다. 아래의 ______에 적절한 내용을 기록하라. 만약 더 이상 필요한 일이 없거나 아무런 내용을 기록할 필요가 없다면 nop라고 기록하라.답안 작성시 아래의 3개의 답안을 구분하기 위하여 각 답안의 마지막에을 추가할 것.호스트: __________________________________타겟: 수동 부팅 후 tftp ______________________ 를 입력타겟: _______________________________정답 : cp /root/zImage /tftpbootzImage kernelflash kernel7 .타겟 커널을 “download blob”라는 잘못된 blob 명령어를 사용함으로 인하여 타겟 보드가 더 이상 부팅이 되지 않는다. 이 때 가장 먼저 조치해야 할 일은 무엇인가?정답 : jtag을 이용한 blob 굽기8 .타겟 보드를 위한 커널 생성을 위하여 처음으로 make menuconfig 명령어를 사용했다. lxdialog가 사용할 설정 파일이 무엇인가? linux에 대한 상대 경로와 함께 파일 이름을 쓰라.정답 : arch/arm/defconfig 혹은 arch/arm/config.in9 .아래와 같은 미완성 프로그램이 있다. 여기서 sysinvoke는 시스템 호출을 위한 함수이다. 완전한 프로그램을 위한 필요한 내용은?답안이 1줄 이상이면 구분하기 위하여 각 줄의 마지막에 을 추가할 것.또한 < 기호를 필요로 할 경우엔 <라고 입력할 것.main(){int a, b, c;c = sysinvoke(a, b);}정답 : #include _syscall2(int, sysinvoke, int, a, int, b);10 .다음과 같은 프로그램이 있다. 3개의 ARM 명령어로 동일한 프로그램으로 코딩하라.
1 .저널링 파일시스템의 일종으로 Tweedie에 의하여 개발되었으며 작은 파일에 대하여 성능이 저조한 파일시스템은?정답 : EXT32 .RAMDISK를 생성하기 위한 가장 먼저 사용해야 할 명령어는 무엇인가? 매개변수를 기록할 필요는 없음.정답 : dd3 .커널에서 공개된 심볼을 출력하고자 한다. 사용할 수 있는 명령어는?정답 : ksyms4 .인터럽트와 가장 관련이 없는 것은?1) IRQ2) ISR3) bottom half4) 주기적으로 디바이스 점검5) 비동기적정답 : 45 .hyper104 보드의 가상 메모리를 재설정하고자 한다. 어떤 파일을 수정한 후 커널을 다시 컴파일해야 하는가? 커널의 linux 디렉토리에 대한 상대경로를 포함한 파일 이름을 서술하라.정답 : arch/arm/mach-sa1110/hyper104.c6 .디바이스 드라이버 프로그램(test.o)을 생성한 후 타겟보드에서 실험하고자 한다. 생성한 드라이버 프로그램을 먼저 타겟보드로 전송했다. 이제 실행해야 할 명령어는 무엇인가?정답 : insmod test.o7 .디바이스의 read() 혹은 write() 연산 이외 하드웨어 제어와 같은 부가적인 연산을 위하여 흔히 사용되는 함수 이름은?정답 : IOCTL8 .리눅스 커널이 디바이스 드라이버를 호출할 때 대응되는 디바이스를 알려주기 위하여 조치해야 할 명령어의 이름은?정답 : mknod9 .모듈이 응용 프로그램과 의사 소통을 하기 위한 방법으로도 사용되며 파일이 읽혀질 때 커널에 의하여 내용이 생성되는 특수한 파일시스템이 존재하는 절대경로(/ 포함)를 말하라?
Zonealarm사용법일단 존알람에 관한 메뉴설명을 하겠습니다.Engage internet Lock: 이걸 클릭하면 브라우져 접속사용 불가!Stop all internet activity: 이걸 클릭하면 인터넷 사용 모두 불가!Restore ZoneAlarm control center: 이걸 클릭하면 메인 화면이 나옴Shutdown ZoneAlarm: 이걸 클릭하면 zonealarm 기능 중지[자세한 실행 및 설치방법 및 사용법]다운로드한 파일을 실행하여 지시에 따라 설치하면 됩니다. 설치 후 "How do youconnect to the internet" 항목에서 인터넷 접속 방법을, "How do you plan to use ZoneAlarm?"항목에서 개인사용자의 경우 "Personal Use" 를 선택합니다. 프로그램 창에서 "자물쇠" 버튼을누르면 인터넷억세스를 금지합니다."STOP" 버튼을 누르면 모든 전송을 금지하여 트로이 목마로부터 보호하는 데효과적입니다.▣ [ALERTS] 탭(1) "Today's summary" 오늘 송수신된 데이터의 크기를 알아볼 수 있습니다.(2) "Current alerts" 인터넷 억세스 금지에 의해 경고되었던 프로그램의이름/시간과 프로그램을사용했던 사람을 확인할 수 있습니다.1)"Clear Alerts" 버튼을 누르면 경고 목록을 초기화합니다.(3) "Alerts settings" "Log alerts to a text" 항목을 체크하면 경고 기록을 CSV파일, 즉 쉼표로구분된 텍스트 파일로 저장합니다.1) "Show the alert popup window" 항목의 체크를 없애면 경고창을 띄우지않습니다.▣ [LOCK] 탭(1) "Lock Status" 현재 인터넷 억세스 상태와 "Automatic Lock" 상태를 확인할수 있습니다.(2) "Automatic Lock" "Enable" 항목을 체크하면 자동 잠금을 시작합니다.(3) "Enable Internet lock after X minutes of inactivity" 시간을 입력하고"자물쇠" 또는 "STOP"버튼을 누르면, 설정한 시간 후 인터넷 잠금이 시작됩니다.(4) "Engage Internet Lock when screen saver activates" 화면보호기가 실행될때 자동으로인터넷 잠금을 시작합니다.(5) "Pass Lock programs may access the Internet" [Program] 탭에서 인터넷억세스가허용된 프로그램들은 "Automatic Lock" 상태에서도 인터넷 억세스가 허용됩니다.(6) "High security, All Internet activity stopped" 모든 인터넷 억세스를금지합니다.▣ [SECUTIRY] 탭(1) "Local" 과 "Internet" 프레임의 위치조절막대를 이용해 로컬/ 인터넷 억세스의 보안 레벨을 설정합니다.(2) "Block Local/Internet servers" 항목을 체크하면 자신의 서버로의 접속을금지합니다.(3) "MalSafe e-mail protection" 프레임의 "Enable MailSafe protection toquarantine e-mail script attachments" 항목을 체크하면, 이메일에 첨부된 스크립트, 예를 들어"Love Letter" 바이러스와 virus and its clones like "Funny Joke" 같은 그 변종으로부터 보호합니다. 특정 컴퓨터, 사이트, IP 를 로컬로 설정하려면 [Advanced] -> [Add] 버튼을 눌러추가합니다.을 누릅니다.▣ [PROGRAMS] 탭(1)"자물쇠 버튼" 옆에 있는 아이콘들은 "Pass Lock Program", 즉 인터넷억세스가 허가된 프로그램들입니다. 아이콘이 반짝이면 그 프로그램이 데이터를 송수신중이라는뜻입니다.(2) "Program" 컬럼에서 프로그램의 이름/버전을 확인할 수 있습니다. 프로그램항목 위에 마우스를 올려다놓으면, 프로그램 이름/버전,파일 경로/이름/크기, 생성 날짜를풍선도움말 형식으로확인할 수 있습니다.(3) "Allow connect" 컬럼에서 녹색 체크 마크는 확인이 필요없이 항상 인터넷억세스가 허용된다는 뜻이고, 빨간 X 마크는 인터넷 억세스를 금지한다는 뜻이고, 물음표 마크는프로그램이 인터넷 억세스를 시도할 때마다 허용할 지 물어오게 된다는 뜻입니다. (4) "Allowsever" 컬럼에서위의 항목을 체크하면 로컬 서버로, 아래의 항목을 체크하면 인터넷 서버로작동할 수 있습니다.(5) "Pass Lock" 컬럼에서 항목을 체크하면, "Automatic Lock" 상태 에서 해당프로그램의 인터넷 억세스를 허용합니다. 물론 "STOP" 버튼으로 잠겨진 상태라면 체크해두어도금지됩니다. 해당 프로그램 항목을 우클릭하면 Local/Internet 억세스 허용상태를 변경할 수있고, 해당 프로그램 설정을 삭제할 수 있습니다.▣ [CONFIGURE] 탭(1) "Configuration" 프레임의 "On top during Internet activity" 항목을체크하면 인터넷 억세스중 프로그램 창이 맨 위로 활성화됩니다. "Load ZoneAlarm at startup" 항목을체크하면 시스템을 시작할때 자동으로 ZoneAlarm 을 실행합니다.(2) "Update" 프레임에서 "Yes, I want to check for updates automatically"항목을 체크하면자동으로 버전 업데이트를 확인합니다. "Check for update" 버튼을 누르면 바로업데이트를 확인할 수 있습니다.(3) "Change Registration" 버튼을 누르면 사용자 등록 정보를 변경할 수있습니다.※ 프로그램 디렉토리 하위 Help 디렉토리에 자세한 매뉴얼이 제공되므로참고하세요.[참고] 방화벽, 응용 프로그램 차단 설정 예시(1) [SECURITY] 탭 - 방화벽 ===============================================① ZoneAlarm 을 실행하고 오른쪽 하단의 ↘ 버튼을 누른 후 [SECURITY] 탭을선택합니다.② "Local" 과 "Internet" 의 상하 위치 조절바를 High 로 설정③ "Enable MailSafe protection to quarantine e-mail script attachments"항목을 체크(2) [Programs] 탭 - 응용 프로그램의 인터넷 억세스 차단(메뉴요약)(1)STOP은프로그램 팝업 창이 단순하고 5개의 메뉴로 구성되어 있어 사용하기 편리하다. 자물쇠 모양의 그림을 클릭하면 간단하게 PC의 인터넷 사용을 잠글 수 있다. 또한 중앙의 STOP를 클릭하면 PC의 모든 외부 접속을 차단한다.(2)LOCK: 자동으로 인터넷 잠금을 할 지 안 할지를 선택한다. Enable을 선택하면 사용자의 선택에 따라 인터넷을 잠근다. 보통 첫번째나 두번째의 옵션을 선택한다. 첫번째는 라디오 버튼은 인터넷을 10분이상 사용하지 않을 경우 자동으로 잠그는 기능이다.(시간은 적절히 조절할 수 있다.) 두번째 라디오버튼의 선택사항은 스크린세이버가 작동할 때 같이 인터넷을 잠근다는 설정이다.(3)SECURITY: 로컬 네트워크 환경과 인터넷 환경의 보안 등급을 설정한다. 일반적으로 안정성이 높은 로컬(학교내) 보안은 Middle로 인터넷 보안은 High로 설정해 둔다. Advanced를 클릭하면 IP에 따른 보안을 차별화 하여 설정할 수 도 있다.(4)PROGRAM: 현재 자신의 PC에서 인터넷 접속을 하는 프로그램을 보여준다. 단순히 보여주는 기능뿐만 아니라 그 접속 허용 범위와 잠금 기능 설정까지 제공한다.(5)CONFIGURE: 말 그대로 프로그램의 환경 설정을 하는 부분이다. 프로그램 업데이트나 부팅시 자동시작 등을 설정할 수 있다.제가 msn메신저를 실행시켰을 때 뜨는 창입니다.내용을 보면 인터넷 메싡에 접속을 허용하겠습니까?라고 물어봅니다.아래엔 기술정보를 표시합니다. 실행화일명과 화일의 버전을 표시합니다...나중에 어떤게 문제를 일으켰는지를 알아보기위해서입니다.!!More Info를 누르시면 더 자세한 정보가 나오게됩니다...... 아래쪽에 Yes를 누르면정상적으로 사용할수있게됩니다....No를 누르면 이프로그램이 인터넷을 사용하지못하게 차단합니다........ 체크박스가 하나있습니다...[] Remember this answer the next time I use This Program. 이게 멀까요?이대답값을 다음에 이프로그램을 실행할때도 기록한다는겁니다... 자주 쓰는프로그램이라면 체크하시고 Yes를 누르면 됩니다........... 익스플로러나/ftp등 인터넷을사용하는경우는이렇듯 물어옵니다..........자세한 사항을 살펴보겟습니다.프로그램컨트롤 메뉴로로 옆에보면 실행했던 프로그램 목록이 list되어있습니다.맨위보면 피팝에 관한 세부적 설명이 나와있습니다. 프로그램이름이 무엇이고 실행파일은 어디있으며 구성은 어떻게 했으며 버전은 무엇인지에 관한 내용이 나오고 있습니다.Components에서는DLL (dynamic link library)파일에 관한list가 나와있다.DLL[디엘렐]은 작은 프로그램들의 집합으로서, 컴퓨터 내에서 실행되고 있는 큰 프로그램에서 필요로 할 때 그 중 어떤 것이라도 호출될 수 있다, 큰 프로그램이 프린터나 스캐너 등과 같은 특정 장치와 통신을 할 수 있게 하는 작은 프로그램은 종종 DLL 프로그램으로 포장된다Alters&logs에서는 지금까지 실행했던 프로그램에 관한 세부적인 설명이 나오고 있다.접속시간과 어플리케이션 타입은 무엇이고 목적지주소에서목적지 dns에 관한 세부적인 설명이 담겨있다.결론:zonelab 에서 개발한 개인 PC 용 방화벽으로써 모든 포트를 감시할 수 있으며 외부로 부터의 침투가 감지 될시 자동으로 경보를 울려 주는 기능등을 내장하고 있다.미국의 유명한 PC 온라인 잡지인 PCWORLD 선정 6대 방화벽 제품중의 하나로 선정된 제품이기도하다우선 존 알람은 일반 사용자들 보다 전용선에서 사용하면 외부나 내부로 들어오는 패킷을 모두 체크를 해서 보여주므로 더큰 효과를 볼수 있다.
X-Window차례1.........X-Window System.1.1...... X-Window 란?1.1.1... XFree86.1.1.2... Linux X-Window.1.2...... X-Window의 특징.1.3...... X-Window Structure.1.3.1... X-Window Server & Client.1.3.2...X-Protocol.1.3.3...X-Library & X-Toolkit.2......... Window Manager.2.1...... Window Manager & Desktop Environment.2.2...... Window Manager 의 종류 및 특징1. X Window System1.1 X-Window 란?X 윈도우 시스템은 리눅스는 물론, 유닉스에서 그래픽 환경을 구현하기 위한 표준그래픽 시스템이다. 유닉스 표준 그래픽 시스템이라는 의미와 더불어 X윈도우 자체가 초기 버전부터 코드를 공개하고 있기 때문에 수많은 종유의 X윈도우가 존재한다. 리눅스용 BSD, 기타 유닉스 시스템은 물론 Microsoft사의 Windows, 매킨토시에서 동작하는 X윈도우등이 있다.1984년 미국의 MIT에서 공개해 현재 모습으로 발전했고, 최근 리눅스가 각광을 받으면서 보다 보편적인 환경으로 다가서는 상황이다. X 윈도우는 윈도우 시스템에 있어 사실상의 표준이라 할 수 있으며, 오픈그룹에 의해 관리되고 있다. 비록 현재 많은 사용자들은 윈도우95나 윈도우NT가 윈도우 시스템의 전부인 것처럼 인식하고 있지만, 그것은 어디까지나 특정 시스템에 설치되고 운영될 수 있도록 마이크로소프트가 만든 것으로, 많은 X 윈도우 제품 중 하나에 지나지 않는다고 해야할 것이다.X 윈도우는 DEC의 Athena 프로젝트의 일환으로, MIT의 컴퓨터학과 연구실에서 처음 개발하기 시작했다. 최초의 모습은 1984년에 드러났지만, 보다 구체적인 형태는 1986년 X10.4가 공개되면서 갖추기 시작했다. 1987년 가을에 현재의 모습과 유사한 X 윈도우인시작했고, 기술개발과 배포를 위해 여러 업체가 모여 X 컨소시엄을 결성, 관리하게 되었다. 그 후 X 컨소시엄이 오픈그룹 산하단체로 바뀌었지만 근본적인 변화는 없으며 비교적 자유로운 라이선스로 인해 무료 또는 저렴한 가격으로 누구나 사용할 수 있다. 이렇듯 X 컨소시엄의 규격에 부합한다면 누구든지 X 윈도우를 개발할 수 있기 때문에 다양한 상용 또는 공개 X 서버가 발표된 상태이다.1.1.1 XFree86X윈도우의 종류가 많다 보니 상용 유닉스 위크스테이션 제작자들은 자기 나름대로 수정을 가한 고유의 X윈도우 시스템을 개발하여 판매하기도 한다. 그러나 이와는 달리 공개적이고 비영리적인 X윈도우 시스템을 개발하여 PC용 운영체제에 공급하는 프로젝트가 이있는데, 이것이 XFree86이다. X86, 즉 인텔 i386호환 CPU에서 동작하는 무료 X윈도우 시스템을 말한다.1.1.2 Linux X-Window리눅스에서 사용하는 X윈도우 시스템이 바로 XFree86이다. XFree86 프로젝트는 비영리 프로젝트임에도 불구하고 수많은 비디오 카드와 모니터, 기타 주변 장치들을 지원하는 모든 PC환경에서 X윈도우를 구현하고자 노력하고 있다.과거에는 리눅스를 지원하는 비디오 카드와 모니터의 종류가 적었고 설정하는 방법 또한 매우 어려웠기 때문에 리눅스에서 X윈도우를 구경하는 것이 무척 힘들ㅇ었지만, 이러한 XFree86 프로젝트의 노력으로 이제는 누구나 쉽게 X윈도우를 사용가능하게 되었다.1.2 X-Window의 특징X 윈도우 시스템은 여러 플랫폼에서 운영할 수 있는 이식성이 좋고, 네트워크 투명성을 제공하는 윈도우 시스템으로 알려져 있다. X 윈도우는 여러 운영 시스템과 판매업자들의 많은 하드웨어를 지원하는 리눅스의 표준 GUI 환경으로서 많은 응용 프로그램을 지원한다.X윈도우의 중요한 특징은 서버/클라이언트의 네트웍 지향 시스템이다. 다시 말해 사용자의 하드웨어를 제어하는 인터페이스 프로그램과 사용자가 사용하는 실제적인 프로그램이 서로 엄격히 분리되어 독립적으로 작용한다는관리할 수 있도록 할 필요가 있었다. 그래서 서버와 클라이언트 개념을 도입했고, 이에따라 프로그램 개발자는 각각의 아키텍쳐를 신경쓰지 않고도 개발을 할 수 있으며 각각의 아키텍쳐에 맞도록 운용되므로 그 시스템 나름의 장점을 활용할 수 있다. 이것이 바로 프로그램에 높은 이식성을 부여하는 원인이 된다.X-windows 시스템을 이루는 것을 X-Server, X-Client, X-Protocol, X-library 4가지로 나눌 수 있다.1.3.1 X-Window Server & ClientX-Client는 응용프로그램을 말한다. X 윈도우 클라이언트는 직접적으로 사용자와 통신할 수 없다. 클라이언트는 서버로부터 키보드 누름이나 마우스 버튼의 누름같은 사용자의 입력을 얻을 수 있다. 클라이언트는 서버가 그림을 그리도록 요구하는 X 윈도우 명령을 실행한다.X-Server는 애플리케이션 사용자의 컴퓨터에서 작동하며 그래픽 디스플레이 하드웨어를 제어하고 입출력을 담당한다. X 서버는 X 클라이언트 애플리케이션이 스크린에 무엇인 가를 그리거나 키보드와 마우스로부터 입력을 받으라는 요청을 받아 처리한다. 마우스 이동과 버튼 눌림 같은 입력 신호를 클라이언트 프로그램에 전달도 한다. 또한 복잡한 데이타 구조체들을 관리한다. 서버의 이들 구조체 관리는 클라이언트의 저장 장치와 프로세싱을 감소시킨다. 이것은 네트웍을 통한 데이타의 전송량을 줄이기 위해 필요하다. 하드웨어와 밀접한 X 서버는 각각의 하드웨어마다 다른 서버가 존재한다.1.3.2 X-ProtocolX-Window에서 각종 처리는 클라이언트와 서버라는 두가지 프로그램이 나누어서 하고 있다. 즉 클라이언트는 IPC를 이용하여 서버의 장치 입출력을 제어한다. 이러한 X 서버와 X 클라이언트의 상호 작용은 메세지 교환을 통해 이루어지는데, 메세지 형태와 사용법을 X 프로토콜이라 한다.X-windows의 중요한 특징 중 하나가 이러한메세지 교환이 같은 컴퓨터 뿐이 아닌 네트워크를 통해서도 이루어질 수 있다는 것이다. 그렇기에는 요구를 request queue 에 넣어 서버에게 보내면, 서버는 하드웨어를 제어, 화면에 디스플레이한 후 답신을 보낸다.또한 서버는 하드웨어로부터 들어오는 입력(예를 들어, 마우스나 키보드의 입력)을 받아들여 event queue에 넣어 클라이언트에 보내면 클라이언트가 그에 따른 처리를 한다.1.3.3 X-Library & X-ToolkitX-Window 상에서의 프로그램 개발은 시스템의 OS나 하드웨어에 의존적인 조작을 처리해주는 서버와 대화할 수 있도록 X-Protocol을 이해해야 한다. 그런데 이 X-protocol은 Xlib라는 라이브러리 루틴으로부터 발생시킨다. 그러나 Xlib의 기능은 그다지 많지 않다. 화면에 그림을 그리고 마우스에 반응하는 등의 기능만을 갖고 있다. 즉, 저수준 인터페이스이다. 그래서 이것보다 상위 라이브러리인 X-toolkit을 사용한다. Xt Intrinsics, Xaw, XView, Motif, Qt, GTK 등이 그것이다.2. Window Manager윈도우 관리자란 윈도우를 관리하는 프로그램을 말한다. 윈도우 관리자도 X 윈도우의 입장에서 보면 역시 하나의 클라이언트 프로그램일 뿐이다. 윈도우 관리자는 X 윈도우 시스템의 일부를 이루며, 윈도우의 레이아웃이나 사용자의 프로그램을 관리한다. 윈도우의 디스플레이와 이동, 크기변경, 아이콘, 메모리 관리 등 실제로 보이는 것을 담당한다.단, 하나로 정해진 윈도우 관리자가 없기 때문에 많은 종류의 윈도우 관리자를 접하게 된다. 이들은 스타일이나 사용법이 조금씩 다르고, 종류도 많다. 윈도우 95/98이나 맥OS는 윈도우 관리자가 고정되어 있다. 그러나 Linux의 윈도우 관리자는 그렇지 않다.X 윈도우에서의 윈도우 관리자는 수많은 X 클라이언트 프로그램 중 하나일 뿐이고, 얼마든지 윈도우 관리자를 다른 것으로 교체하여 사용할 수 있다.2.1 Window Manager & Desktop Environment윈도우 관리자는 윈도우 시스템의 관리를 목적으로 하고 있다. 윈도우의한데 모은 데스크탑 환경으로, 즉 시스템 전체가 통홥되는 쪽으로 발전하고 있는 추세이다. 현재 통합 데스크탑 환경은 크게 KDE와 GNOME 두 갈래로 나누어져 있다. 대부분의 리눅스 배포판들은 기본 데스크탑 환경으로 둘 중 하나를 채택하고 있다.2.2 Window Manager 의 종류 및 특징GNOMEGNOME은 GNU Network Object Model Environment의 약어이다. 그래서, 그놈은 커다란 그누 프로젝트의 일부분이다. GNU 프로젝트는 유닉스같은 완전한 공짜 운영체계를 개발하기 위해 1984년에 시작되었다.그놈은 사용자가 컴퓨터를 쉽게 사용하고 설정할 수 있도록 해주는 친숙한 데스크탑 환경이다. 그놈은 (응용프로그램을 실행시키고 상태를 보여주는) 패널, 표준 데스크탑 툴들과 응용프로그램들, 그리고 응용프로그램들이 다른 프로그랭들과 일관되고 협동적으로 동작할 수 있도록 하는 규정들을 포함하고 있다.그놈은 전세계에서 수백명의 프로그래머들에 의해 개발된 자유롭게 사용가능한 소스 코드와 함께 완전한 공개 소스(공짜 소프트웨어)이다. 그놈 프로젝트에 관한 정보는 http://www.gnome.org의 그놈 웹 사이트를 통해 알수 있다.그놈은 사용자들이 느끼기를 원하는 데스크탑 환경을 자유자재로 설정하실 수 있도록 해 준다. 그놈의 세션 관리자는 이전 설정을 기억하므로 사용자들이 설정한 내용은 항상 유지한다. 또한, 그놈은 많은 언어를 지원한다. 사용자는 소프트웨어의 수정없이 더 많은 언어를 추가하실 수도 있다. 더우기 그놈과 호환되지 않는 프로그램들의 기능을 충분히 살릴 수 있도록 여러가지의 드래그 앤 드롭 프로토콜을 지원한다.개발자들은 그놈과 호환되는 상용프로그램을 만들기 위해 비싼 소프트웨어 라이선스 비용을 지불할 필요가 없다. 그놈은 어떤 회사에도 속해 있지 않다 - 특정 회사에 의해 통제되는 어떤 요소도 포함하지 않으며 수정과 재배포에 대한 제약도 없다. 그놈 프로그램들은 다양한 종류의 컴퓨터 언어로 개발될 수 있다. 그러므로, 개발자작한다.