시스템관리의 필요성시스템 관리의 필요성을 알기 전에 우선, 무엇을 관리하며 이것을 관리하는 것은 누구인가에 대해 알아보자.*************** 시스템 관리자***************㉠ 보통 시스템 사용자라 한다.㉡ 시스템 관리의 임무를 지닌다.㉢ 사용자들에게 서비스 제공.♣ 리눅스 시스템을 관리한다----->리눅스 시스템을 익숙하게 사용.********************* 시스템 관리 사항 *********************㉠ 사용자 계정관리.☞ 리눅스 시스템의 특성상 사용자를 위해 설계된 운영체제이므로,사용자 각각에게 계정을 발급한다.=== 인터넷 상에서 아이디 , 비밀번호와 동일.① 아이디와 비밀번호로 사용자들이 사용할 수 있는 서비스의 권한 설정=== 사용자 계정관리의 근본적인 의미.③ 비밀번호 , 아이디를 잊어 먹었을 때 이를 관리.㉡ 시스템의 리소스 관리.☞ 계정이 있는 시스템의 자원을 사용하는 사용자들에 일정양의 디스크를 할당하 고, 이를 초과 시 이를 제한한다.=== 사용자들이 사용하는 자원: 디스크 공간, 프린터 등.㉢ 특정 서비스 관리.㉣ 시스템 보안 관리.☞ 리눅스를 서버로 사용하는 기관이 적은 이유를 여기서 알 수 있다.=== 방화벽도 제대로 설치가 되어 있는 경우도 적고, 보안 프로그램이 오픈 공개되어 있는 상황이다.=== 무료라는 장점이 여기서는 단점으로 작용하는 예이다.㉤ 사용자 권한 제한.♣그 밖의 관리사항㉠새로운 하드웨어의 추가 삭제 시 관리.== 백업,㉡소프트웨어 설치 관리.㉢시스템 관련 문서 작성 관리, 각종 문제 해결.************** 시스템 관리 작업의 중요사항 ****************◈ 에디팅☞ 보통 vi 에디터를 선호하지만, 최근 emacs 에디터 사용도가 증가하고 있다.◈ 쉘 스크립트☞ bash, csh, tcsh, ksh◈ 펄☞ 프로그래밍 언어론 적인 측면에서는 이상한 언어이지만, 막강한 스크립트를 작 성이 가능하다.=== 인터프리터 방식의 언어이다.◈ 프로그래밍 실력.◈ 시스템 파일들의교v : 아카이브 생성이나 추출시 과정을 보여준다.k : 아카이브를 추출시 기존에 같은 파일이 있으면 그 파일을 보존한다.이들중 c,x,v,t 를 제외한 나머지는 자주 사용되지 않는다.파일을 묶고 푸는 대표적인 예를 보면...# tar cvf file.tar /home/file/home/file 이란 디렉토리에 있는 모든 파일과 디렉토리를 그대로 file.tar란 파일로 묶어버린다.# tar x# tar cvf bin.tar /bin 로 파일을 묶은후 bin.tar 로 풀때는 다음과 같은 경고 메세지가 출력하게 된다.tar: Removing leading / from absolute path names in the archive.이는 만약에 있을 위험을 방지하기 위해서 나타나는 현상이다.다시말해 bin.tar 를 풀었을때 압축 디렉토리와 같이 /bin 에다가 압축이 풀리면시스템에 이상이 생길지도 모른다. 그래서 tar 로 파일을 풀때는 현재 디렉토리를기준으로 하여 파일이 풀리게 되어져 있다. 이점을 유의해야한다.[ tar 와 gzip 같이 사용하기 ]위에서 본바와 같이 특정 디렉토리나 파일들을 tar 로 묶은후 gzip 을 사용하여압축하는 방식이다. 과정을 풀어서 본다면 다음과 같다.# tar cvf file_name.tar /home# gzip -9 file_name.tar이와 같이 하면 된다. 하지만 이방법은 번거로울뿐아니라 gzip 으로 압축되기전까지tar 파일을 보관할 충분한 디스크 공간이 확보되어 있어야 한다.# tar cvf file_name.tar /home | gzip -9 > file_name.tar.gz이와 같이 하면 된다.GNU tar 버젼에서는 gzip 기능을 포함하여 사용할수 있도록 되어져 있다.# tar czvf file_name.tar.gz /home위와 같이 z 옵션을 사용하면 된다.6. 라이브러리에 대하여라이브러리란 시스템에서 프로그램을 직접 컴파일 할때 많은 프로그램에서 공통으로 사용할수 있는 유용한 기능을 포함하고 있는 파일이p 을 이용하여 백업을 합니다. 상용 백업 프로그램이라고하더라도..이 두 명령어를 잘 이용한거라고 볼수 있습니다.※ 테잎에 백업하는 대표적인 예는 ..# tar cvf /dev/rft0 /home 와 같은 형식입니다./dev/rft0 는 테잎 디바이스 명입니다.테잎 하나에 tar 파일 하나 저장하는 사람은 없다. 여러개의 tar파일을 하나의 테잎에저장할 경우 첫번째 tar 파일이 테잎에 저장된후 다시처음으로 감기는 것을 방지하기위해 다음 파일의 시작점을 표시해 두게 된다.테잎이 다시 감기는 것을 방지하려면, 플로피 테잎 드라이브인 경우 /dev/nrft0, /dev/nrft1을, SCSI 테잎 드라이브라면 /dev/nrst0 와 /dev/nrst1 이라는이름으로 된 테잎 장치를 사용해야 한다.이렇게 자동으로 감기지 않는 테잎 장치를 사용한다면 용량이 허락하는 만큼의 많은 파일을 저장할수 있다.이런 테잎 장치에서 테잎을 다시 감을려면...# mt /dev/nrtf0 rewind 혹은# mt /dev/nrtf0 reten테잎의 다음 파일로 건너뛰기는(테잎은 순차적 접근 방식이기 때문에...)# mt /dev/nrft0 fsf 1◆ 두개의 파일 건너뛰기..# mt /dev/nrft0 fsf 2 이런식으로 제어 하면 된다.대부분의 리눅스 서버 관리자들은 테잎은 안쓰는 걸루 안다.. 여러 가지 이유가있지만...속도문제가 큰거 같다. 가끔 한번식하는 전체 백업같은 경우엔 상관없지만..웹호스팅 업체나 매일 백업을 해야 하는 자료 업로드량이 많은 사이트 경우엔..비합리적일수도 있는거 같다.◆ 실질적인 백업 기법→일단 파일을 묶는 tar .tar 는 단순히 파일이나 디렉토리들을 속성을 유지한체 하나의 파일로 만드는기능을 합니다. 옵션에 따라 ..gzip처럼 압축도 할수 있다.# tar cvf test.tar /home/test/home/test 디렉토리를 test.tar 이란 파일로 묶는다.# tar czvf test.tar.gz /home/test/home/test 디렉토리상대적 어드레스를 가지는 것이 아니라 시스템이 부팅된 후 가장 먼저 주기억 상치에 상주하기 때문에 언제나 같은 주기억 장치의 번지에 상주하게 된다. 그러므로 커널 프로세스에서 스왑을 하는 일도 없고 당연히 해서도 안되는 것이다.ps와 top에서 메모리와 관련된 부분중 차이가 나는 것이 있다. 프로세스의 메모리 구 조는 텍스트, 데이터, 스택 등으로 이루어져 있다. 텍스트에는 프로그램 코드와 상수가 정의되어 있으며 읽기만 가능한 메모리 영역이다. 데이터는 정적 변수가 저장되어 있 는 영역이고 스택은 동적으로 할당되는 데이터, 함수 내의 변수, 함수의 리턴 어드레스 등이 저장되는 영역이다.ps에서 보는 프로세스 정보는 ‘/proc/PID/’의 정보를 보여주는 것이다. ‘/proc/PID/status의 내용을 확인해 보면, ps의 VSZ는 가상 메모리에서 사용중인 모든 메모리를 합친 VmSize를 보여준다. 그러나 top에서 SIZE는 코드, 데이터, 스택을 합친 크기를 보여준다. 가상 메모리는 커널에서 자동으로 조절하기 때문에 문제가 생길 일 은 없으며 RSS를 통해서 실제 물리적 메모리에서 사용하는 메모리 양을 알 수 있다. 그리고 SIZE와 RSS 필드에는 페이지 테이블과 프로세스의 task_struct는 포함되어 있 지 않은데 최소 12KB의 메모리를 항상 사용한다.vmstavmstat를 이용하여 CPU와 I/O 활동을 모니터링할 수 있는데 vmstat에서 나오는 첫 줄은 부팅 이후의 각 통계치에 대한 평균값을 보여주므로 무시하고 두 번째 줄부터 통계를 보면 된다. vmstat에서 중요한 것은 procs 영역의 b 필드이다. r은 현재 실행중인 프로세스 수이고 b는 인터럽트가 불가능한 sleep 상태에 있는 프로세스로 I/O 처리를 하는 동안 블럭 처리된 프로세스이며 w는 강제로 스왑아웃된 프로세스 수이다. si와 so는 스왑인, 스왑아웃을 말한다.스왑아웃이 지속적으로 발생한다면 메모리가 부족한 것이다. 그러나 일정 간격을 두고 주기적으로 스왑아웃이 발생하는장된 후, 컴파일러에 의해 다시 읽혀진다), 이런 데이터들을 캐쉬에 넣어두는 것이 효율적이다. 또한 쓰기 작업을 디스크에 직접 하지 않고 캐쉬에 넣어두면, 프로그램들이 그만큼 출력을 빨리 끝낼 수 있기 때문에 전반적인 시스템 성능 향상에도 도움이 된다.대부분의 운영체제들이 버퍼 캐쉬를 갖고 있기는 하지만 모두 위와 같은 원리로 동작하는 것은 아니다. 한가지 방법은 ‘write-through’라는 것인데, 이 방법은 쓰기를 할 때면 언제나 디스크에도 즉시 기록하는 것이다(물론 캐쉬에도 남겨둔다).또 다른 방법은 write-back이라 불리는 것으로 일단 캐쉬에 기록해 두었다가 나중에 한꺼번에 디스크에 기록하는 방식이다. 효율적이기는 write-back 방식이 뛰어나지만, 대신 약간의 에러가 발생할 소지가 있다. 즉, 시스템이 갑자기 멈춰버린다거나, 갑자기 전원이 꺼진다거나 캐쉬 내용을 미처 기록해 두기 전에 플로피 디스크를 빼 버린다면, 캐쉬에 담겨 있던 내용들은 고스란히 없어져 버리고 만다. 특히 손실된 정보가 파일 시스템 유지에 필요한 데이터였다면, 자칫 전체 파일 시스템을 망가뜨리고 마는 결과를 초래할 수도 있다.그런데 사실상 캐쉬는 파일을 버퍼링하는 것은 아니고, 실제로는 디스크 입출력의 가장 작은 단위인 블럭을 버퍼링한다(리눅스에서는 보통 1KB 크기이다). 그러므로 디렉토리라든가, 수퍼 블럭들, 다른 파일 시스템의 유지 데이터, 심지어 파일 시스템이 없는 디스크까지도 캐쉬될 수 있는 것이다.캐쉬의 효율성은 기본적으로 그 크기에 좌우된다. 캐쉬의 크기가 너무 작으면 다른 데이터를 캐쉬하기 위해서 캐쉬된 데이터를 계속 내보내야 하므로, 사실상 작은 캐쉬는 별 쓸모가 없는 셈이다. 캐쉬의 최소 크기는 얼마나 많은 데이터가 읽고 씌여지는 지와, 같은 데이터가 얼마나 자주 액세스 되는지에 달려있는데 이것을 알아보기 위한 유일한 방법은 실험해 보는 것 뿐이다.만일 캐쉬의 크기가 고정되어 있다면, 그 크기가 너무 큰 것도 곤란한 일이다. 캐쉬가 너무 크면 여유 메
병렬처리 컴퓨터의 개념개 요병 렬 처 리 컴 퓨 터 의 개 념▲ 병렬처리(Parallel Processing)?????10-01▲ 병렬처리 시스템의 종류?????10-02? 메모리 구조에 따른 분류?????10-03? 프로그램 실행 방식에 따른 분류(Flynn의 분류)?????10-03? 처리 노드들의 동질성 여부에 따른 분류?????10-05? 상호 연결망의 특성에 따라?????10-05▲ 병렬처리 방법?????10-06? 파이프라인 처리?????10-06? 배열 처리기(array processor)?????10-06? 다중 처리기(multiprocessor)?????10-07? 벡터 처리기(vector processor)?????10-08▲ 병렬처리 컴퓨터(SPACE-Series)?????10-09? 개 요?????10-09? 병렬처리 컴퓨터의 필요성?????10-09? 병렬처리 컴퓨터의 기능?????10-09? 과학 / 연산용 병렬처리 컴퓨터?????10-09▲ 결 론?????10-10▲ 참고문헌 / 인터넷 사이트?????10-10- -병렬처리 컴퓨터의 개념▲ 병렬처리(Parallel Processing)? 컴퓨터에서 병렬처리란 프로그램 명령어를 여러 프로세서에 분산시켜 동시에 수행함으로써 빠른 시간 내에 원하는 답을 구하는 작업을 일컫는다.? 병렬 처리는 컴퓨터 내부에서 동일한 시간에 수행되는 동작의 수를 증가시킴으로써 각 명령이 하나씩 수행되는 것에 비하여 수행되는 것에 비하여 처리 속도가 향상되게 한다. 하나의 작업을 여러 개의 태스크(task)로 나누어 각 태스크들을 시스템의 여러 처리기들에게 각각 배정하도록 하는 것이다.※ 태스크 : 병렬 처리를 위하여 각 처리기에게 할당할 수 있도록 프로그램을 분할한 것. 각 처리기에서 독립적으로 동시에 처리한다.? 초기의 컴퓨터에서는 한번에 오직 하나의 프로그램만 수행되었다. 초기의 병렬처리는 두 프로그램이 섞여서(interleaved) 수행되도록 하는 방법이었다. 즉 한 프로그램이 입출력을 시작하여 끝나기를서가 한 프로그램을 같이 수행하여 작업을 마쳤다. 초기 단계에서는 주종(master/slave)관계의 구조였다. 한 프로세서(master)가 시스템의 모든 작업을 관장하도록 설계되었고, 다른 프로세서(slave)는 주 프로세서가 부여한 일만을 수행하였다. 이런 구조로 설계된 것은 그 당시에는 여러 프로세서가 협동하여 시스템 자원을 사용하는 것에 대한 기술이 부족했었기 때문이다.? 이러한 문제를 해결하면서 나온 것이 SMP이다. SMP에서는 각 프로세서가 동등하게 시스템 작업의 흐름을 제어하는 기능이 있다. 원래의 목표는 SMP를 단일 프로세서가 멀티 프로그래밍을 하는 것처럼 보이게 하는 것이었다. 하지만 엔지니어들은 어떤 명령어의 순서를 바꾸어 실행시킴으로써 성능을 10~20% 향상시킬 수 있다는 것을 알아냈고, 프로그래머들은 좀더 복잡하게 프로그램을 하도록 주문 받게 되었다 (이러한 것은 두 개 이상의 프로그램이 같은 인자에 읽기나 쓰기를 동시에 실행할 때에만 나타난다. 따라서 복잡하게 프로그램해야 되는 경우는 소수의 특정한 프로그래머에게만 필요하다).? SMP시스템의 프로세서 수가 증가함에 따라 시스템의 한 편에서 다른 모든 부분으로 데이터를 전파시키는데 걸리는 시간도 증가했다. 프로세서의 수가 수십 개를 넘어가면 프로세서 수를 증가시킴으로 얻어지는 성능 향상이 너무 적어지게 된다. 전파 속도가 길어지는 문제를 해결하기 위하여 메시지 패싱 시스템이 고안되었다. 이런 시스템에서는 데이터를 공유한 프로그램이 특정 인자에 새로운 값이 할당되었다는 것을 알리기 위해 메시지를 전송한다. 그 인자의 새로운 값을 시스템의 모든 부분에 방송(broadcast)하는 대신에 그 값을 필요로 하는 프로그램에게만 전송한다.? 공유 메모리를 사용하는 대신 프로그램간 메시지 전송을 위해 네트웍를 이용하는 방식도 등장했다. 이렇게 함으로써 한 시스템 내에 수백 개나 수천 개의 프로세서가 효율적으로 함께 작동할 수 있게 되었다(확장성이 좋다는 표현을 쓴다). 이러한 시스템을 MPP시스 노드들은 서로 동등한 입장을 갖는가, 처리 노드들이 동일한가, 어떠한 상호 연결망으로 연결되는가, 연결형태가 어떠한가에 따라 다양하게 분류된다.? 메모리 구조에 따른 분류? 병렬처리 시스템은 모든 처리 노드들이 전체 주소 공간을 공유하며 직접 접근할 수 있는가의 여부에 따라 공유 메모리 구조(Shared memory model)와 분산 메모리 구조(Distributed memory model)로 나뉜다. 공유 메모리 구조 병렬처리 시스템에서는 모든 처리 노드들이 별도의 절차 없이 접근이 제한되는 영역을 제외한 임의의 기억장소에 대한 읽기 쓰기를 실행할 수 있다. 반면에 분산 메모리 구조에서는 각 처리노드가 독자적인 주소 공간을 가지며, 다른 노드의 기억 장치에 접근하기 위해서는 정해진 절차와 방법에 따라야 한다. 보통 다른 노드의 기억 장소에 접근하기 위해서 자료를 요청하는 메시지나 쓸 값을 담은 메시지를 주고받기 때문에 메시지 전송 모델(Message passing model)이라고도 한다.? 공유 메모리 구조는 메모리 접근을 위한 별도의 절차와 장치가 없으므로 시스템 구성이 용이하고 메모리 접근에 대한 추가 부담이 적으며 순차적 프로그래밍과 비슷한 방식으로 프로그래밍할 수 있다는 장점이 있으나 같은 기억 장소를 접근할 경우의 경쟁이나 내용상 일관성 유지를 위한 방법이 필요하고, 처리 노드의 개수가 늘어날 경우 메모리 접근을 위한 경쟁으로 메모리 접근 시간이 증대할 수 있다는 단점이 있다. 반면 분산 메모리 구조에서는 처리 노드 수의 증가가 성능 저하를 동반하지 않는다는 장점이 있으나 프로그래밍의 어려움이 있다는 단점이 있다.? 이러한 문제점을 극복하기 위해 하드웨어적으로는 분산 메모리 구조를 가지면서도 소프트웨어적으로는 마치 공유 메모리 구조인 것처럼 가정하고 프로그래밍할 수 있는 분산 공유 메모리 구조가 등장하였다. 분산 공유 메모리 구조는 프로그래밍이 용이한 공유 메모리 구조의 장점과 확장성이 풍부한 분산 메모리 구조의 장점을 취합하였으나, 실제로는 를 받지만 명령어 실행 과정에서 서로 다른 데이터들을 사용? 모든 프로세서들이 기억 장치를 공유하는 경우도 있고, 각 프로세서가 기억 장치 모듈을 따로 가지는 분산 기억 장치구조도 있다.? MISD(Multiple Instruction stream Single Data stream)? 여러 개의 제어 장치와 프로세서를 갖는 구조? 각 프로세서들은 서로 다른 명령어들을 실행하지만 처리하는 데이터는 하나의 스트림? MIMD(Multiple Instruction stream Multiple Data stream)? 대부분의 다중 프로세서 시스템과 다중 컴퓨터 시스템이 이 분류에 속함? 여러개의 프로세서들이 서로 다른 명령어와 데이터를 처리? 밀결합 시스템(Tightly coupled system)프로세서들 간의 상호 작용 정도에 따라 그 정도가 높은 구조 밀결합 시스템의 전형적인 구조는 모든 프로세서가 기억장치를 공유하는 공유기억장치 구조? 소결합 시스템(Loosely coupled system) 프로세서들 간의 상호 작용 정도가 낮은 구조 각 프로세서가 자신의 지역 메모리를 가진 독립적인 컴퓨터 모듈로 구성? 플린이 처음 이러한 분류를 했을 때와는 달리 최근에는 프로그램이 차지하는 메모리를 절약하기 위해 처리 노드들마다 꼭 필요한 부분만을 저장하여 처리 순서가 되면 실행을 하도록 할 필요가 없어졌다. 80년대 이후에는 대부분의 병렬처리 시스템들이 모든 처리 노드들로 하여금 동일한 프로그램을 수행하도록 한다. 이를 SPMD(Single Program Multiple Data Stream)방식이라 한다.? 처리 노드들의 동질성 여부에 따른 분류? 병렬 시스템을 구성하는 데에는 구성에 참여하는 처리 노드들 각각이 서로 동일한가 여부에 따른 구분도 있다. 종래의 병렬처리 시스템들은 대부분 동일한 처리 요소들을 이용하여 병렬처리 시스템을 구성하였다. 이를 동질적 병렬처리 시스템(Homogeneous parallel processing system)이라 부른다. 이와는 달리를 대칭형 병렬처리 시스템(Symmetric parallel processing system)이라 하고, 후자를 마스터-슬레이브 형 병렬처리 시스템(Master-Slave parallel processing system)이라 한다.? 상호 연결망의 특성에 따라? 처리 노드를 연결하는 방법에 따라 병렬 시스템은 다양하게 분류할 수도 있다. 10개 이내의 처리 노드를 갖는 시스템의 경우 버스 방식의 연결이 전형적이다. 최근의 마이크로프로세서들은 대개 최소한의 칩셋 추가만으로 버스 구조상에서 4개까지의 병렬처리 시스템을 구축할 수 있게 해주는 논리회로들을 포함하고 있다.? 그러나 버스 연결 병렬 시스템은 확장성에 한계가 있으므로 10개 이상의 처리 노드를 포함하는 병렬 시스템의 경우 스위치 네트워크를 구성하는 경우가 일반적이다. 특히 최근에는 수 미터에서 수 십미터의 범위 이내에서 고성능 컴퓨터들을 고속 네트워크로 묶어 고성능 컴퓨팅을 시도하는 경우가 늘어남에 따라 이러한 요구에 부응하기 위한 패킷 교환 스위치 네트워크가 제안, 연구되고 있다. 그러나 이러한 스위치 네트워크는 일반적으로 대량생산되는 장비들이 아니므로 처리 요소로 사용되는 워크스테이션보다 고가인 경우가 많아 경제성에 문제가 있다.▲ 병렬처리 방법? 파이프라인 처리? 파이프라인 : 각 단계를 분업화하여 차례대로 진행시키는 과정이다. 하나의 프로세서를 서로 다른 기능을 가진 여러개의 서브 프로세서로 나누어 각 프로세서가 동시에 서로 다른 데이타를 처리하도록 하는 기법이다.? 각 세그멘트에서 수행된 연산 결과는 다음 세그멘트로 연속적으로 넘어가게 되어 데이터가 마지막 세그멘트를 통과하면 최종 연산결과를 얻게 된다. 하나의 연산에서 연산을 중복시키는 것은 각 세그멘트마다 레지스터를 둠으로써 가능하다. 매 클럭펄스마다 각 세그멘트의 결과가 레지스터에 보관된다.? 배열 처리기(array processor)? 데이터를 고속으로 처리하기 위해 연산 장치를 병렬로 배열한 처리 구조로 벡터 계산이나 행렬(matrix).
객체지향 프로그래밍 기술개 요OBJECT-ORIENTED PROGRAMMING객체지향 프로그래밍 배경■■■■■■■■■■■■■■■■■■■■■■01 - 18■ 하드웨어 발전 과정■■■■■■■■■■■■■■■■■■■■■■01 - 18■ 소프트웨어 발전 과정■■■■■■■■■■■■■■■■■■■■■■02 - 18■ 소프트웨어 위기 (Software Crisis)■■■■■■■■■■■■■■■■■■■■■■02 - 18■ 소프트웨어 위기와 객체기술■■■■■■■■■■■■■■■■■■■■■■03 - 18객체지향 프로그래밍 핵심 개념■■■■■■■■■■■■■■■■■■■■■■04 - 18■ 객체 지향적 시각■■■■■■■■■■■■■■■■■■■■■■04 - 18■ 객체 (Object)■■■■■■■■■■■■■■■■■■■■■■05 - 18■ 객체의 정의■■■■■■■■■■■■■■■■■■■■■■05 - 18■ 캡슐화 (Encapsulation)■■■■■■■■■■■■■■■■■■■■■■06 - 18■ 정보 은폐■■■■■■■■■■■■■■■■■■■■■■07 - 18■ 메시지 전달■■■■■■■■■■■■■■■■■■■■■■09 - 18■ 복합 객체 (Composite Object)■■■■■■■■■■■■■■■■■■■■■■09 - 18■ 클래스 (Class)■■■■■■■■■■■■■■■■■■■■■■10 - 18■ 개념■■■■■■■■■■■■■■■■■■■■■■10 - 18■ 인스턴스 (Instance)■■■■■■■■■■■■■■■■■■■■■■10 - 18■ 속성 상속 (Inheritance)■■■■■■■■■■■■■■■■■■■■■■11 - 18■ 개념■■■■■■■■■■■■■■■■■■■■■■11 - 18■ 함수의 재정의(Redefinition)■■■■■■■■■■■■■■■■■■■■■■14 - 18■ 다중성(Polymorphism)■■■■■■■■■■■■■■■■■■■■■■14 - 18■ 기타■■■■■■■■■■■■■■■■■■■■■■15 - 18객체지향 프로그래밍 언어■■■■■■■■■■■■■■■■■■■■■■15 - 18■ 객체지향 언어은 소프트웨어 개발 생산성과 유지보수 용이성을 크게 향상시켜주는 신 기술로 소프트웨어의 혁명적인 기술로 인정, 활용되고 있다.■ 소프트웨어 위기 (Software Crisis)■ 소프트웨어 위기란 30여년간에 걸친 소프트웨어 개발의 낮은 생산성과 유지보수의 어려움을 일컫는 일련의 문제로 정의할 수 있다. 즉, 지난 수십 년간 하드웨어의 눈부신 발전에 비해 큰 기술의 발전을 이룩하지 못한 소프트웨어 기술의 낙후성을 의미한다. 실제로 하드웨어는 잘 정의되어 있는 규격에 따라 여러 칩(Chip)등의 부품들을 결합하여 만들 수 있지만, 소프트웨어는 하드웨어 처럼 재사용할 수 있는 여러 모듈들로 조합 개발하지 못하고 대부분 새로 개발해야 하는 실정이다.■ 소프트웨어 위기의 원인으로 두 가지를 들 수 있는데, 날로 증가하는 소프트웨어의 복잡성과 개발 및 운영비용의 급증이다. 컴퓨터의 대중화 시대가 열리면서 소프트웨어 사용자는 점차 복잡하고 고급스러운 기능을 요구하고 있다. 많이 사용되는 문서 편집기만 보더라고 텍스트의 편집이나 출판 등의 기본적인 기능 이외에 다양한 글씨체, 철자 검색, 나아가 문법 검색 등의 고급 기능이 보편화되고 있다. 더구나 이기종 전산 환경 과 분산처리의 보편화로 소프트웨어의 복잡성은 날이 갈수록 증가하고 있다.■ 이러한 복잡한 소프트웨어를 개발하는 문제는 많은 인력과 충분한 시간만 투입해서 해결될 단순한 확대 적용(Scaled-Up)의 문제는 아니다. 이는 산속의 작은 시냇물 위에 사람이 다닐 수 있는 통나무 다리를 놓는 일과 한강 남북을 연결하는 자동차 다리를 놓는 일로 비유된다. 아무리 길고 튼튼한 통나무를 한강에 걸쳐놓는다고 자동차가 다닐 수 있는 대교가 될 수는 없는 것이며, 새로운 구조 설계와 공법이 요구되는 것이다. 소프트웨어 위기를 해결하기 위해서는 새로운 개발 방법과 원칙이 필요한 것이다.■ 소프트웨어 위기와 객체기술■ 소프트웨어 위기를 해결하기 위하여 여러 방법들이 시도되어 왔다. 특히, 4세대 언어나 CASE 도구의 사용, 프로식의 가장 큰 문제점은 상호 연관된 데이터와 함수들이 별도의 독립된 정보인 것처럼 취급 되는 것이다. 즉, 데이터 부분은 흔히 전역변수 정의 부분에 포함되어 있고, 이 데이터들과 연관된 함수들은 다른 함수들과 함께 정의되어 있어 이들 사이의 연관 관계를 잘 표현하지 못하고 있다. 연관된 데이터와 함수를 설계나 프로그램상에서 정형적으로 한 군데 묶어서 표현 관리하는 개념적 단위를 추상 데이터 타입 (Abstract Data Type)이라고 하는데, 이렇게 함으로서 프로그램의 이해가 쉽고 유지보수 등이 용이해지며, 효율적인 재사용을 가능하게 한다. 기존의 소프트웨어 개발 방법은 이러한 추상 데이터 타입을 프로그램상에서 효과적으로 표현 활용하지 못하고 있다.■ 소프트웨어에 관한 객체지향식 시각은 하나의 객체지향 프로그램을 여러개의 객체들로 구성되며, 각 객체는 위에서 필요로 하는 소수의 데이터와 이 데이터상에 수행되는 소수의 함수들로 구성된다.객체 + 객체 = 프로그램데이터 + 함수 = 객체이렇게 구성된 각 객체는 필요로 하는 모든 데이터와 이 데이터상에서 수행될 모든 함수들을 포함하고 있음으로 추상 데이터 타입을 프로그램으로 구현한 것이 된다.■ 객체 (Object)객체지향 프로그래밍에서 가장 기본이 되는 단위는 객체이다. 객체는 문제 영역의 실세계에 존재하는 어떤 사물이나 개념을 나타낸다. 그림 1의 그래픽 라이브러리의 경우 점, 선, 사각형, 원, 윈도우 등이 모두 객체이며, 문서편집기 프로그램의 경우 글자, 단어, 문장, 문단, 문서, 글씨체 등이 모두 객체이다. 이처럼 객체를 찾는 과정은 데이터 타입이나 구조를 결정하는 등의 세부적인 작업이 아니라, 문제 영역에서 실제로 존재하는 정보를 자연스럽게 찾아내는 과정이다.그림 1. 화면상의 그래픽 객체들객체지향식 개발 과정에서 제일 먼저 해야 하는 일은 문제 영역 안의 객체를 찾는 일이다. 그림 1의 그래픽 화면 예에서 점, 선, 윈도우 등 눈으로 관찰할 수 있거나 실제로 존재하는 물리적 객체도 있지만, 어떤 객기능을 수행할 수 있다 는 선언이다. 그러나, 외부에 제공할 기능들이 어떤 알고리듬으로 구현된 것인지, 어떻게 수행되는지의 어떻게(How) 부분은 노출시키지 않는다. 다만, 외부 인터페이스에 포함된 기능의 함수이름, 함수 매개 변수, 함수의 결과 등만 외부에 공개된다.그림 4. 객체의 외부 인터페이스 모습예를 들어, 하나의 Point 객체가 xPosition, yPosition, status, color 변수의 값으로 각각 10, 20, true, blue를 가지고 있다면 객체의 보습은 그림 5 와 같다. 즉, 세 개의 변수들의 값은 외부로부터 은닉되어 있고 네 개의 함수들이 외부 인터페이스를 이루고 있다. 따라서, 객체의 외부에서는 이 외부 인터페이스에 정의되어 있는 함수들만을 통하여 이 객체와 정보 교환을 할 수 있다.그림 5. Point 객체의 외부 인터페이스한 객체의 외부 인터페이스에는 객체가 가지고 있는 데이터와 함수들의 일부나 전부가 포함될 수 있다. 실제 프로그램 개발의 경우, 데이터 부분은 거의 감추고 함수들 전부나 일부만 포함시키는 경우가 많은데, 이것은 데이터 부분의 변수들이 외부 객체나 프로그램에 의해서 검색되거나 임의로 값이 수정되는 것을 피하기 위해서이다.그러면, 객체가 가지는 캡슐화와 정보 은폐가 왜 중요한 것일까? 객체 내의 정보와 기능이 캡슐화되고 그 안의 정보가 은폐됨으로 외부의 객체는 그 객체의 외부 인터페이스에만 의존하여 메시지를 보내고 작업이 수행된다. 따라서, 객체 내의 감추어진 데이터를 삭제하거나 그 데이터 타입을 변경하거나 새로운 데이터를 추가하여도 외부의 객체들 나아가서는 전체 프로그램에 아무런 영향을 주지 않는다. 객체 내의 함수 부분도 마찬가지인데, 함수의 알고리듬을 더 효율적인 것으로 바꾸거나 함수의 기능 자체를 변경해도 함수의 프로토콜만 변경하지 않으면 주변 프로그램을 수정할 필요가 없다. 따라서, 객체는 캡슐화와 정보 은폐를 통하여 비로소 완전 독립된 소프트웨어 IC가 된다. 이러한 객체의 특성으로 인해 객체 직원이란 클래스를 C++로 작성한 것이다. 이 클래스에 속하는 각 객체는 name, title, dept, salary등의 변수를 가지며 promote, changeSalary등의 함수를 수행할 수 있다.class Employee {char* name;titleType title;// titleType defined elsewheredeptType dept;// deptType defined elsewhere int salary;...public:void promote (titleType newTitle);// updates titlevoid changeSalary (int newSalary);// updates salary ...};■ 인스턴스 (Instance)그림 7. 'Employee' 클래스와 생성된 인스턴스들클래스가 유사한 여러 객체들을 집약적으로 묘사하고 있는데, 이 클래스에서 각 객체를 생성해 내는 과정을 객체 생성이라고 부르며 생성된 각 객체를 인스턴스(Instance)라 부른다. 실제로 객체지향 프로그램에서 모든 객체는 어떤 클래스로부터 생성된 인스턴스들이다. 즉, 객체나 인스턴스는 같은 것인데 인스턴스라는 용어는 어떤 클래스로부터 생성됐다는 의미를 강조한 것으로, 클래스와 대조적인 개념이다. 위에서 예를든 직원 클래스의 경우 클래스와 인스턴스의 관계를 나타내면 그림 7 과 같다. Employee 클래스에서 생성된 인스턴스의 이름은 Bob, Susan인데, 이렇게 클래스를 한번 정의해 놓고 간단히 인스턴스를 만들 수 있어 매우 편리하다.그림 8. 인스턴스내의 고유의 변수들어떤 클래스에서 하나의 인스턴스가 생성될 때, 그 인스턴스가 속해 있는 클래스에 정의되어 있는 모든 변수들의 장소가 만들어진다. 예를들어 Employee 클래스에서 Bob과 Susan이란 객체, 즉 인스턴스가 만들어 질 때, 이 클래스에 정의된 name, title, dept, salary의 네 개의 변수가 각 인스턴스에 생성된다. Bob이라는 인스턴스는 그 고유의 name다.
일본의 음식문화차 례-------------일본의 음식문화개 요.........7 - 1일본요리의 특징.........7 - 1일본요리의 지역적 특색.........7 - 2. 관동요리.........7 - 2. 관서요리.........7 - 2일본요리의 형식.........7 - 2. 본선요리(혼젠요리).........7 - 2. 회석요리(가이세끼요리).........7 - 3여러가지 일본음식.........7 - 4일본식 식사예절.........7 - 5# 첨 부 #일본의 라면 문화.........7 - 67 -일본음식문화-------------개 요중국 음식점과 더불어 일본 음식점은 우리의 일상 생활에도 밀접한 관계를 맺고 있다. 일반 음식점으로서 뿐만 아니라 우동, 라면 등 우리와도 친근한 메뉴를 갖고 있는 일본 음식은 국내에서도 인기를 끌고 있다. 과거의 암울한 역사를 안겨 주었던 일본의 음식문화에 대해 알아보는 것도 일본을 바로 알 수 있는 기회가 될 것이다.일본 요리의 특징. 일본요리는 '보면서 즐기는' 요리다. 그만큼 일본 요리는 맛 뿐만 아니라 색깔이나 모양에서 색다른 즐거움을 준다. 일본요리는 서양 요리나 다른 동양권의 요리에 비해 향신료의 사용이 적어 식품 고유의 맛을 최대한으로 살린다.. 4개의 섬으로 이루어진 일본은 지리적 특성으로 인해 생선류의 음식이 많다. 섬이라는 지리적 특성은 요리의 주 재료를 육류보다는 생선류로 사용하게 되었고 특히 어패류를 날로 먹는 회(사시미) 요리가 발달하게 되었다. 이러한 일식의 경향은 재료의 담백한 맛을 최대한 살려 '먹는 즐거움'을 제공한다. 시각적인 일식 요리의 매력은 식재의 풍부한 계절 감각 때문이라 할 수 있다. 사계가 분명한 일본에서는 식생활 또한 계절에 민감해 싱그러운 느낌을 주고 있다. 또 다른 시각적인 즐거움은 식기와 공간미에 있다. 일본 식기는 재질도 다양하고 형태도 다양해 음식을 연출하는데 있어 장점을 갖고 있다. 담을 때도 공간의 미를 충분히 고려한다. 무조건 많이 담는 게 아니라 색과 모양을 보기 좋게 다소곳이 담는 것이 일본 요리의 특징이다.일본요리의 지역적 특성. 관동요리에도요리라고도 하며 에도마에, 동경만과 우전천등에서 잡은 어패류를 사용한 요리 생선초밥, 덴뿌라, 민물장어, 메밀국수등이 대표적인 것이다. 관서요리와 비교하면 맛이 농후한 것이 특징이고 조미료는 진한 간장이 사용되어 왔다. 관동, 관서 두 지역요리의 맛의 차이는 수질의 양부, 동경만에서 잡힌 생선과 관서지방 주변에서 잡힌 생선의 맛, 어종의 차, 토질에 의한 야채류의 맛이 차이 때문이며, 이러한 차이가 요리의 지역분할에 일역을 하였다.. 관서요리가미가다요리라고도 하며 에도시대 들어와서 발달된 에도요리와 비교하면 역사가 길고, 주로 교토, 오사카의 요리를 가리킨다.같은 관서요리이지만 교토요리와 오사카요리는 다른점이 있다.즉 바다로부터 멀리 떨어져 있으며 물이 좋은 교토에서는 야채와 건어물을 사용한 요리가 발달했으며, 바다가 가깝고 어패류를 많이 접할수 있는 오사카에서는 생선요리가 발달했다. 그러나 간을 하는데는 그렇게 많이 다르지 않았다.관서요리는 소재의 맛을 최대한으로 살리는 연한 맛이 특징이며 색, 형태도 그대로 살리며 어느정도의 국물도 많은게 특징이라고 할수 있다.※ 결론적으로 관서요리의 맛은 연하면서 국물이 많고 재료의 색과 형태를 살릴수 있는 반면 관동요리는 간이 세게되어 국물이 작고 또 형태의 보존도 어렵다.일본요리의 형식일본의 정찬요리는 관혼상제 요리인 혼젠요리, 다도에서 내놓는 가이세키 요리, 혼젠요리를 간소화한 가이세키요리로 나뉜다. 이 외에 채식요리인 쇼진요리 등이 있다.. 본선요리(혼젠요리). 일본의 정식 관혼성제 요리인 혼젠요리는 일본 안토, 도산시대에서부터 전해 내려온 요리법이다. 혼젠요리는 에도시대로 내려오면서 상차림이 다채로워지고 예술적으로 발전했다. 전래되어 오는 정식 잔치 요리이긴 하나, 매우 중요한 연회 이외에는 별로 이용하지 않는 상차림이다.. 상은 다섯개를 차리는 것이 정식이다. 다섯개의 상은 각각 이름이 붙어 있는 제1상을 혼젠이라 하며 그 다음부터의 상을 각각 제 2젠, 3젠, 4젠, 5젠이라고 한다. 차림(곤다테)은 국물의 숫자와 요리의 숫자에 따라 구분하는데, 국물이 한 가지에 요리가 세 가지면 일집삼채, 국물이 한 가지에 요리가 다섯가지면 일집오채라고 불리운다. 메뉴의 기본은 일즙삼채, 이즙오채, 삼즙칠채로 여기에 약간의 응용을 한 일즙오채, 이즙칠채, 삼즙구채, 삼즙십일채등이 있다.. 혼센요리는 상을 내는 방법, 먹는 방법에 형식이 있으며 그의 예절과 방법을 가장 중요시 했으나 그후 어려운 예절과 방식을 멀리하게 됨에 따라 새로운 스타일의 회석요리를 생각하게 되었다. 그것이 곧 가이세끼로 변화되어 현재에 이르렀다. 교토의 대덕사, 복정의 영평사, 요코하마의 총지사 등에서 혼센식 정진요리로 본래의 형식을 지금까지 전하고 있다.. 회석요리(가이세끼요리). 다도에서 내놓는 가이세키 요리. 다도에서 나온 요리로 오차를 들기 전에 내는 요리를 말한다. 차를 마시기 전에 적당히 배를 채워 차의 맛을 돋우는 요리이다. 간단하고 양은 적지만 요리를 만드는 방법을 까다롭다.. 가이세키란 말은 불교 선종의 한 종파에서 유래하는데 율법에 하루에 두끼 식사만이 허용되었다. 그래서 배고픔을 참기 위해 뜨거운 돌을 안고 자는 것이었다. 여기에서 품속의 돌이라는 말이 생겼다고 한다. 에도시대 이전에는 일반 다인의 가이세키는 비교적 간소했지만 에도시대 이후 식습관이 세끼로 정착되면서 자연히 내용과 형식이 현재처럼 자리잡게 되었다.. 지금의 가이세키 요리는 서양요리의 영향을 받았다고 한다. 당시의 개항 도시 사카이에서는 서양의 문화를 접하는 기회가 많았기 때문에 기존의 선종의 식사법과 어우러져 가이세키요리의 기본 상차림이 되었다.. 가이세키 요리의 기본 코스는 일집삼채로 국물 1가지에 사시미(회)와 니모노(찜), 야키모노(구이)의 요리 3종류에 하시아라이(맑은 국)와 핫슨(농산물과 해산물의 2∼3가지 요리)으로 끝난다. 더불어 삼품을 담은 요리나 술을 더 내놓을 수가 있다.. 혼젠요리를 간소화한 가이세키요리. 복잡한 혼젠 요리를 간소화한 것이 가이세키 요리이다. 일반적으로 결혼식, 연회 등에 가장 많이 이용된다. 국내의 대부분의 일식 요리가 대부분 이 요리방식을 쓰고 있다. 가이세키 요리는 혼젠 요리처럼 맑은 국과 생선회 등을 먼저 내고 요리를 내는 것이 특징이다.. 지역에 따라 차이는 있지만 혼젠 요리의 상차림을 응용하고 있다. 구성을 보면 쓰케다시, 젠사이(전채), 스이모노(맑은 국), 사시미, 조림, 구이, 튀김, 초회 등으로 꾸며지는데 덴푸라가 추가되기도 한다. 주객의 상차림과 부인용 상차림이 다른 것이 특색이라고 할 수 있다.여러가지 일본음식일본의 전통 요리는 적은 양의 요리를 한 가지씩 차례로 내는 것이 특징인데,먼저 곁들인 안주, 전채가 나오고 이어서 국, 회, 구이, 조림, 초무침의 순서로 진행되며 다음으로 밥, 된장국, 김치가 나온다.. 쓰끼다시. 식욕을 촉진하도록 하는 간단한 요리로 죽순두부, 달걀두부, 생선, 미역, 해삼등이 쓰인다. 가벼운 술 안주로 좋다.. 젠사이. 해산물과 산이나 들에서 나는 3가지 재료로 다양하게 조리한 가벼운 요리이다.. 스이모노. 맑은 장국과 탁한 국이 있는데, 젓가락으로 가볍게 저어 그릇을 입에 대고 마신다.. 사시미. 비스듬히 포를 뜨는 가쓰꾸리, 두꺼운 생선을 써는 가도쓰꾸리, 흰살 생선에 소금을 뿌리고 다시마에 싸서 써는 시메쓰꾸리, 살짝 데쳐서 써는 유비끼쓰꾸리 등이 있다.. 야끼모노. 꼬챙이나 석쇠를 이용하여 굽는 직접 구이와 철판을 이용하여 굽는 간접 구이가 있다.. 니모노. 간을 맞춘 다시마난 가다랭이포 국물에 육류, 어패류, 야채류 등을 넣고 조린 요리이다.. 스노모노. 재료에 설탕, 식초 간장을 넣고 새콤하게 무치는 요리로, 서양 요리의 샐러드와 비슷하다.※ 이 밖에 스시(초밥), 소바(메밀국수), 라멘(라면), 스끼야끼(전골)등이 있다.일본식 식사예절. 일식에서는 일식 벽장 앞 중앙이 상석이며, 밥상 앞에서는 언제나 똑바른 자세로 앉아야 한다.. 일본 요리는 보통 소반 위에 얹혀져 나오는데, 젓가락은 자기 앞쪽으로 옆으로, 음료용 컵들은 바깥쪽에 엎어서 놓는다. 밥이나 국을 받으면, 밥은 왼쪽에 국은 오른쪽에 놓았다가 들고 먹는데, 그릇을 받을 때나 들 때는 반드시 두 손을 사용하게 되어 있다. 밥을 먹을 때에는 반찬을 밥 위에 얹어 먹어서는 안되고, 추가를 원한다면 공기에 한술정도의 밥을 남기고 청하는 것이 예의이다. 국은 그릇을 들고, 한 모금 마신 후 건더기를 한 젓가락 건져 먹은 다음, 상위에 놓는 식으로 여러 번 들고 마시며, 밥그릇에 국물을 부어 먹어서는 안된다.
41 -R e p o r t---------------컴퓨터수리정보학과-------------------1997214197홍 영 호운영체계의 종류와 특징----------------------차 례--------------OS (Operating System) : 운영체계........41 - 01VM (virtual machine) : 가상머신........41 - 02UNIX : 유닉스........41 - 03Solaris : 솔라리스........41 - 06AIX & POSIX........41 - 10FreeBSD........41 - 11MVS (Multiple Virtual Storage)........41 - 12※ OS/390........41 - 14OS/2 & VMS........41 - 15DOS & MS-DOS........41 - 16Microsoft Windows........41 - 18Ⅰ) Windows 98........41 - 18Ⅱ) Windows Me........41 - 19Ⅲ) Windows CE........41 - 19Ⅳ) Windows NT........41 - 20Ⅴ) Windows 2000........41 - 21Ⅵ) Windows XP........41 - 22Linux : 리눅스........41 - 25MAC OS........41 - 26BE OS........41 - 30추가사항........41 - 34. 운영체제........41 - 34. LINUX........41 - 35OS (operating system) : 운영체계. 운영체계는 부트스트랩 프로그램에 의해 컴퓨터 내에 최초로 적재된 후에, 컴퓨터 내의 다른 프로그램들을 관리하는 프로그램이다. 여기서 다른 프로그램이란 응용프로그램들을 말한다. 응용프로그램들은 정의되어 있는 응용프로그램 인터페이스(API)를 통해 서비스를 요청함으로써 운영체계를 이용한다. 그 외에도, 사용자들은 명령어와 같은 인터페이스를 통하여 운영체계와 직접 대화한다..할 수 있었다.. 솔라리스 7 발표당시 한국 썬은 "솔라리스 7은 스팍(SPARC) 프로세서와 인텔 프로세서를 위해 단일 코드를 제공한다. 즉, 인텔 플랫폼 상에서도 스팍 기반의 시스템에서와 동일한 성능을 제공한다"고 하였다. 그러나 솔라리스 8이 발표된 현재까지 각 플랫폼은 다음과 같은 차이가 존재한다.. 우선, 스팍 플랫폼이 CPU에 따라 32비트 혹은 64비트 커널 운영체제로 동작하는데 비하여 인텔플랫폼은 당연히 32비트커널 운영체제이다.(차기 인텔 플랫폼에서는 64비트 운영체제로 개발할 것이라고 한다). 또 한가지, 제공되는 소프트웨어 및 솔라리스에서 사용할 수 있는 유틸리티를 비교해보면 스팍 플랫폼이 인텔플랫폼에 비하여 훨씬 다양하다. 어찌보면 당연하겠지만 응용 프로그램은 스팍서버용과 인텔용으로 따로이 구성되어 있다.. Solaris 운영체제에는 주요한 세 가지 영역이 있다.. Kernel : OS의 핵심을 이룬다.. device, memory, process와 daemon을 관리한다.. 시스템 프로그램(utility)과 시스템 하드웨어 사이의 정보 교환을 제어한다.. 모든 명령을 스케줄링하고 실행한다.. 다음과 같은 기능을 관리한다.· Swap space : Kernel 이 processing 동안 사용하기 위하여 배정된 disk의 일부· Daemon : 특정한 시스템 작업을 수행하는 process로 printer server에는 printing daemon, ftp server는 ftp daemon, telnet daemon 등이 있다.· File system : 계층적인 구조로 이루어져 있다.. 프로세스 관리 : 프로세스 시작, 프로세스 스케줄링, 프로세스 스와핑, 메모리 등의 자원 할당, 프로세스 스와핑, 메모리 등의 자원 할당, 프로세스의 서비스 요구 수용. 장치관리 : 메모리와 주변 장치 간의 데이터 전송 감시. 파일 관리 : 디스크 상의 파일 정렬. 네트워킹 : Berkeley Unix에서 처음 지원, 컴퓨터간 통신을 위한 프로토콜 구현. 프로그램들도 아직 운영되고 있다. 구형 애플리케이션들은 파일관리는 VSAM 액세스 방식을, 사용자와의 통신을 위해서는 VTAM을 사용한다. 최근의 가장 일반적인 프로그램 환경에는 C와 C++ 언어를 사용한다. DB2는 IBM의 주요 관계형 데이터베이스이다. 자바 애플리케이션들은 OS/390의 유닉스 환경에서 개발되고 운영될 수 있다.. MVS는 MVS / SP (MVS / System Product), MVS / XA (MVS / Extended Architecture), 그리고 MVS / ESA (MVS / Enterprise Systems Architecture) 등이 포함된 특정 제품을 지칭하는 포괄적인 명칭이다. 역사적으로, MVS는 System/360의 운영체계였던 OS/360으로부터 진화하였으며, 1964년에 발표되었다. 그것은 후에 OS/370과 System/370이 되었다. OS/370은 OS/VS, OS/MFT, OS/MVT, OS/MVS, MVS/SP, MVS/XA, MVS/ESA 등으로 진화하였으며, 마지막에는 OS/390이 되었다. 이러한 진화과정 동안, 특정 운영체계에 맞게 작성된 응용 프로그램들은 항상 뒤에 나온 어떠한 운영체계에서도 동작될 수 있었다(이것을 상향 호환성이라고 한다).. MVS 시스템은 일련의 기본적인 제품과 선택적인 제품들로 구성된다. 이것은 고객에게 자신들에게 필요한 일련의 기능들만을 선택하고 나머지는 제외할 수 있게 해준다. 실제로, 대부분의 고객들이 거의 모든 기능들을 사용한다. MVS 시스템의 주요 사용자 인터페이스는 TSO (Time Sharing Option)이다. ISPF (Interactive System Productivity Facility)는 프로그램을 컴파일 하거나 관리하고, 시스템을 구성하는데 사용되는 일련의 메뉴이다. 주요 작업관리 시스템은 JES2 (Job Entry Subsystem 2) 이거나 또는 JES3 이다. 저장장치(DASD) 관리는 DFSMS (Distributed File SMillenium Edition). 윈도우2000이 업무용으로 개발된 데 반하여, 윈도우미는 특히 가정용 PC의 운영체계로 개발되었다. 마이크로소프트는 윈도우98의 수정판이라고 할 수 있는 윈도우미가 신규 사용자들에게는 보다 직관적인 인터페이스를 제공하며, 경험이 있는 사용자들을 위해서는 기능성을 부가하였다고 말하고 있다.. 윈도우미는 윈도우98과 호환성을 가지도록 설계됨으로써, 그 이전 버전의 응용프로그램들과 드라이버들을 그대로 사용할 수 있을 것이다. 윈도우98에 비해 개선된 점으로는, 시스템의 안정성과 에러수정 기능이 강화되었으며 (마이크로소프트는 이것을 "PC의 건전성"이라고 부르고 있다), 디지털 매체나 홈 네트워킹, 그리고 온라인 등을 위해 설계된 특색 등이 포함된다.Ⅲ) Windows CE. Windows CE는 마이크로소프트 윈도우 운영체계에 기반을 두고 있지만, 이동을 하는 등 장소에 제약을 받는 장치에 내장하기 위한 목적으로 설계되었다. "CE"가 무슨 뜻인지에 대해 마이크로소프트에서는 명확히 설명하고 있지 않지만, 대개 "Consumer Electronics"의 약자라고들 알려져 있다. Windows CE는 여러 회사의 포켓용 컴퓨터에 사용되었으며, TCI를 위해 만들어진 케이블TV 셋톱박스의 한 일부로도 사용되었다. Windows CE는 EPOC 그리고 3Com 이나 기타 다른 회사에서 나온 비슷한 운영체계들과 경쟁하고 있다. 정상적인 윈도우 시스템처럼 Windows CE도 32 비트 멀티태스킹, 멀티스레드 운영체계이다. 마이크로소프트는 이 시스템이 윈도우의 아키텍처 개념과 인터페이스의 장점을 취하고 있지만, 완전히 새로운 출발선으로부터 만들어진 시스템이라고 강조한다. 마이크로소프트는 윈도우를 사용하는 데스크탑 사용자들이 Windows CE가 장착된 제품들에서 익숙한 사용자 인터페이스를 발견하게 될 것이라고 주장한다.. 포켓용 컴퓨터나 케이블 TV의 셋톱박스 외에도 Windows CE는 운전 중에 사용하는 오토PC의 운영체계로도 사용될 전파워 매킨토시 계열의 컴퓨터에 딸려 나온다.. 주요특징(최신버젼인 9.0을 가지고 분석한 자료임). 셜록2. 맥 OS 8.5에서부터 도입된 셜록기능은 퀵타임 타입의 인터페이스를 갖추고 있습니다. 여러개의 창으로 나뉘어져 있던 것을 하나의 창으로 합친 것이 눈에 띄입니다. 각 채널별로 검색이 가능합니다. 특히 쇼핑채널은 관련품목의 가격이 나열되기때문에, 가격비교를 손쉽게 할 수 있도록 되어있습니다.셜록2에 포함된 검색채널은 파일, 인터넷, 인명, 쇼핑, 뉴스, 참고자료, 애플, 금융, 그리고 기타채널입니다. 애플사는 사용자들이 손쉽게 셜록2의 기능을 사용할 수 있도록 간단한 키조합( 커맨드키 + H )으로 프로그램을 실행할 수 있도록 했습니다.. Multiple Users ( 복수 사용자 기능 ). 멀티유저기능은 하나의 맥킨토시를 여러명이 공유할 수 있도록 해주는 기능입니다. 최고 40명까지 같이 사용할 수 있습니다. 애플사에서 오래전부터 개발하여 따로 판매하고 있던 'At Ease'를 맥 OS에 기본으로 포함시킨 것입니다.각 사용자별로 별도의 Preference폴더와 데스크탑환경을 구축할 수 있도록 해줍니다. 시스템관리자는 또한 사용자에 따라서, CD / DVD-ROM과 저장장치, 그리고 컨트롤 패널등을 사용하지 못하도록 할 수도 있습니다.. Voiceprint Password (음성 암호). 멀티유저기능을 사용하여 로긴할때, 맥 OS 9.0부터는 자신의 음성을 암호로 사용할 수 있습니다. 최소 3개이상의 단어로 만들어진 문장을 읽으면, 사람 목소리의 biometrics를 분석하여 본인인지 아닌지 확인한 다음, 로긴할 수 있도록 해줍니다.. Keychain ( 열쇠고리 ). 전자편지, 웹사이트, 파일서버를 사용할때마다 입력해야하는 사용자이름과 비밀번호를 모두 한 곳에 저장해 두었다가, 단 하나의 비밀번호를 입력함으로써 모든 비밀번호를 풀 수 있는 기능입니다.128 비트로 암호화하는 것이 가능하며, 로긴하자마자 모든 비밀번호를 푸는 기능이 있으며, 또 일정시간동