도스 명령어* 도스- MSDOS.SYS, IO.SYS, COMMAND.COM 파일로 구성된 시스템 소프트웨어로, 시스템을 제어/관리하며 다양한 소프트웨어를 실행하여 작업을 처리한다.- 도스는 윈도우와 달리 텍스트로 구성된 명령어를 이용하여 컴퓨터를 운영한다.- 멀티테스킹을 지원하지 않는다.- Plug & Play를 지원하지 않는다.- 16 bit 운영체제 이다.- 도스의 명령어가 적용되기 위해서는 컴퓨터가 부팅되는 과정에서 command.com이라는 명 령어 해석기가 로드 되어야 하면 정상적으로 부팅된 컴퓨터는 당연히 commamd.com 이 로드 되어 있어야 한다.- 부팅이 완료가 되면 프롬프트와 커서가 깜빡인다.1. 도스의 기초* 컴퓨터를 켜면?1 자기 진단부터 합니다. 컴퓨터에 전원을 넣으면 롬바이오스라 불리는 장치의 도움을 받아 컴퓨터 내부의 장치 곳곳에 전기 신호를 보내 제대로 작동하는지 부터 점검 합니다. 이를 자기 진단이라고 합니다.전원ON→ROM-BIOS에 의한 자체진단 →부스트랩 RAM 적재 →O/S적재→프롬프트2 부팅(booting)?자기 진단이 끝나면 도스를 중앙 처리 장치에 올립니다. 즉 이제부터 일을 시작할 준비가 되었다는 것입니다. 준비가 되었다는 표시로 자 명령을 내리시오. 라는 뜻 의 C : > 가 표시됩니다. 그러면 컴퓨터로 작업을 할 수 있습니다.3 이 부팅이 되기 위해서는 msdos.sys, io.sys, command.com라는 세개의 화일이 꼭 있어야 합니다.* C :(땡땡) (백슬레시) 〉(프롬프트)는 무엇?1 우선 C 란?컴퓨터의 저장 장치인 하드디스크를 가리키는 말입니다. 보통 5.25인치 플로피디스 크가 들어가는 곳을 A, 3.5인치 플로피디스크가 들어가는 곳을 B라 합니다. 하드디 스크에 msdos.sys, io.sys, command.com 화일이 있어 하드디스크로 부팅을 하면 하드 디스크에서 작업을 할 것이기 때문에 C 가 표시되는 것입니다. 만약 A 드라 이브에 있는 플로피디스크에 msdos.sys, i에 디렉토리가 출력된다)2) COPY - 파일을 다른 디스크에 복사하는 기능을 가진다.C:>COPY [파일이름1][파일이름2][/V] 복사과정에서 에러가 발생했는지 점검해준다.디렉토리 디렉토리 단,수행능력이 느려진다.드라이브3) TYPE - 문장파일의 내용을 화면에 출력한다.C:>TYPE autoexec.old AUTOEXEC.OLD 파일의 내용을 화면에 출력한다.4) DELERASE명령처럼 디스크 내의 필요없는 파일을 지울 때 사용한다. 대표문자를 사용할수 있다.DEL명령으로 삭제된 파일은 UNDELETE 명령으로 복구 할수 있다.C:>DEL [d:][파일이름][/P] 지우려는 각 파일의 이름을 출력하고 사용자의 확인을 기다린 다.5) REN(RENAME) - 파일의 이름을 변경한다.C:>REN 기존의 을 로 바꾼다. 과는 모두 같은 디렉토 리에 있어야 한다. 파일이름을 지정할 때는 대표문자를 사용할 수 있다.6) TIME시스템에서 관리하는 시간을 표시하거나 설정한다. 내부에 시계를 가진 컴퓨터에서는이때 기억시킨 시각을 CMOS기억소자에 기억시켜두고 DOS가 부팅될 때 꺼내어 사용하 게 사용하게 된다. 내부의 전자시계가 작동하기 때문에 시간은 자동적으로 변한다. 내부시 계가 없는 시스템에서는 부팅될 때 DOS가 기억하고 있는 시각, 즉 DOS가 작성될때의 시각으로 설정된다.시스템의 시각은 24시간제를 사용하며, 파일이 새로 작성되거나 변경될 때 자동적으로 날 짜와 시간이 기록되므로 TIME의 관리는 매우 중요하다.C:>TIME ::.hh: 시간을 지정한다mm: 분을 지정한다.SS: 초를 지정한다.CC: 1/100초를 지정한다.7) CLS - 화면을 지우고 프롬프트와 커서를 화면 첫 줄 첫 부분으로 이동시킨다.C:>CLS8) DATE시스템에서 사용하는 날짜를 표시하고, 새로 입력하거나 변경할 수 있게 한다. 한글 DOS 사용시에는 연-월-일 의 형식으로 사용된다.C:>DATE --9) VER - 현재 사용중인 DOS의 버전번호를 표시한다C>VER명을 설정한다.[명령Parameters] 메모리 상주 프로그램이 필요로 하는 파라메터를 설정한다.22) INTERLNKINTERLNK [클라이언트[:]=서버[:]]INTERLNK 명령은 병렬 케이블을 이용하여 2대의 PC를 연결하거나 현재 상태를 출력한다. INTERLNK 명령을 사용하기 위해서는 CONFIG.SYS 파일안에서 DEVICE 또는 DEVICEHIGH 명령으로 INTERLNK.EXE가 설치되어야 한다.[클라이언트[:]=서버[:]] 연결하는 클라이언트와 연결되는 서버를 설정한다.23) LOADHIGH(LH)LOADHIGH(LH) [경로명] [인자]UMBs(Upper Memory Blacks)에 램상주 프로그램을 설치한다. 특히, 윈도우즈 9x에서는 COUNTRY.SYS에 포함되어 있는 국가 정보를 이용하도록 AUTOEXEC.BAT내에 NLSFUNC.EXE 램상주 프로그램을 LOADHIGH명령으로 설치하여 UMBs에 설치한다. 만약 LOADHIGH명령을 사용하지 않고 램상주 프로그램을 실행하면 기본 메모리(Base Memory)가 줄어든다.[경로명] 램상주 프로그램의 경로명과 파일명을 설정한다.[인자] 램상주 프로그램이 메모리에 설치될 때 필요한 인자(Parameter)를 설정한다.24) MDMD [경로명]서브 디렉토리를 생성한다.[경로명] 생성할 디렉토리명을 설정한다.25) MENUCOLORMENUCOLOR=x[,y]시작 메뉴의 문자열과 배경 색깔을 설정한다.[x] 메뉴 문자열의 색깔을 설정한다. x는 0에서 15까지 사용할 수 있다.[y] 화면의 배경 색깔을 설정한다. y는 0에서 15까지 사용할 수 있다. 시작 메뉴에 사용되는 x, y값에 해당하는 색깔은 다음과 같다.값 색깔 값 색깔 값 색깔 값 색깔0 검정색 4 빨간색 8 회색 12 밝은 빨간색1 파랑색 5 보라색 9 밝은 파랑색 13 밝은 보라색2 녹색 6 갈색 10 밝은 녹색 14 노란색3 하늘색 7 흰색 11 밝은 하늘색 15 밝은 흰색26) MENUDEFAULTMENUDEFAULT=블럭작 초기에 출력되는 "Starting MS-DOS ..." 메시지 이후에 2초간 대기하는 시 간을 없앤다.(6) 외부 명령어* 도스용 디스크 만들기1FORMAT: 디스크의 초기화2SYS: 부팅 섹터에 시스템 파일 복사*디스크의용량 : sides, tracks, sectors, bytes/sector* 디스크의 복사1DISKCOPY:원본과 대상이 동일할 때 복사2XCOPY:원본과 대상이 다를 때 복사* 디TM크 상태의 점검과 수리1CHKDSK:지정 디스크의 오류 검사*/F: 오류 수정 /V:검사할 파일 목록 표시2RECOVER:불량(결함) 파일의 복구* 일괄 처리1일괄 처리 명령어ㄱECHO: 처리되는 명령을 화면에 표시/은페ㄴPAUSE: 일괄 처리 잠시 멈춤ㄷREM: 주석을 달 때 사용ㄹIF: 조건부 명령 수행ㅁCALL: 다른 일괄 처리 파일을 실행할 때2일괄 처리 파일의 작성 : 에디터에서 작성* 환경 설정 파일1환경 설정 파일의 역할ㄱ도스의 기본 상태 설정ㄴ주변 장치들의 사용 환경 구성ㄷ메모리 관리 및 최적화2장치 제어기ㄱHIMEM.SYS: XMS 사용 관리ㄴHBIOS.SYS: 도스6.0의 한글 입출력ㄷEMM386.EXE: EMS 실행 및 상위 접근ㄹSETVER.EXE: 도스 버전표 호출* 외부 명령어 소개1) ATTRIB.EXE각 파일의 네가지 특성(읽기만 할수 있음, 복사할수 있음, 보이지 않음,시스템 파일임)을 설정하거나 제거하는 역할을 한다.이것을 파일속성(ATTRIButes)이라고하며, 읽기 속성(read-only attribute) 을 붙여주면 우발적으로 파일을 지우거나 변경하는 등의 사고를 막을 수 있다. 저장속성(archive) 을 이용하면 XCOPY, BACKUP, RESTORE 명령의 수행에 영향을 준다. 숨김화일 속성으로 하면 일반적인 파일 목록 출력시에 나타나지 않기 때문에 데이터 파일 등의 보호 목적으로 활용할 수 있다.ATTRIB[+-R] 파일이름 [/S]:파일에 읽기 전용속성을 갖게 한다없앤다.[+-A] 파일이름 [/S]:파일 있다.[/S] 이 스위치는 CHOICE.COM가 대문자, 소문자를 구별하도록 한다.[/T[:]c,nn] 기본적으로 선택되는 키를 사용하기 전에 대기하는 시간을지정한다. 명령은 nn초가 경과된 후에 c에 지정된 문자를기본적으로 사용한다. nn에 허용되는 값은 0에서 99까지이다.12) APPEND.EXE응용프로그램들이 사용하는 데이터 파일들이 현재 경로명에 존재하지 않을 경우, 응용 프로그램이 그 데이터를 검색하기 위한 경로명을 설정한다.C:>APPEND [/X[:ON|:OFF]] [/PATH[:ON|:OFF]] [/E][/X[:ON|:OFF]] 프로그램을 실행할 때 APPEND.EXE로 설정된 경로명을 찾거나 찾지 않도록 설정한다.[/PATH[:ON|:OFF]] 프로그램이 찾는 파일명이 이미 경로로 설정되어 있을 때 데이터 파일을 APPEND.EXE로 연결된 디렉토리에서 찾 을 것인지를 설정한다.[/E] APPEND라는 환경 변수에 APPEND.EXE로 설정된 경로 명을 설정한다. 이 스위치는 시스템이 시작한 후에 단 한 번만 사용될 수 있다.13) COMMAND.COMCOMMAND.COM [경로명1] [장치명] [/C 문자열] [/E:숫자] [/K 파일명] [/P [/MSG]] SHELL=[경로명2]COMMAND.COM [경로명1] [/E:숫자] [/P [/MSG]]COMMAND.COM은 내부 명령어가 포함되어 있는 명령처리기로써 SHELL명령으로 다른 명령처리기를 사용할 수 있다. MS-DOS는 COMMAND.COM을 읽어들일 때 RESIDENT부분과 TRANSIENT부분으로 나누어서 읽어들인다. RESIDENT부분은 항상 메모리에 남아 있는 부분으로써 가능하다면 HMA에 위치하고, TRANSIENT부분은 기본 메모리의 가장 윗부분에 위치한다. 어떤 프로그램은 실행될 때 메모리의 TRANSIENT부분을 사용하는데, 이 경우에 TRANSIENT부분을 다시 읽어들이기 위해서 MS-DOS는 COMSPEC 환경 변수에 설정되어 있는 COMMAND.COM의 경로.
OS [ operating system ]컴퓨터 시스템의 전반적인 동작을 제어하고 조정하는 시스템 프로그램들의 집합.운영체제라고도 한다. 이 프로그램들은 하드웨어와 응용프로그램간의 인터페이스 역할을 하면서 CPU, 주기억장치, 입출력장치 등의 컴퓨터 자원을 관리한다. 즉, 인간과 컴퓨터간의 상호작용을 제공함과 동시에 컴퓨터의 동작을 구동(booting)하고 작업의 순서를 정하며 입출력 연산을 제어한다. 또 프로그램의 실행을 제어하며 데이터와 파일의 저장을 관리하는 등의 기능을 한다.현재와는 의미가 다르지만 최초의 운영체제는 IBM-701 컴퓨터의 사용을 위하여 제너럴 모터스(General Motors;GM) 연구소에서 1950년 초반 처음 개발되었다. 그 후 1955년에는 IBM-704의 운영체제가 NAA(North American Aviation)와 GM의 합작으로 개발되었다. 1959년 노스아메리카 항공사에서 개발한 Fortran Ⅱ 모니터는 오퍼레이터의 개입을 최소화하여 컴퓨터 시스템 조작의 자동화를 목표로 한 최초의 현대적 의미의 운영체제이다. 또 저속의 주변 입출력장치 때문에 주컴퓨터의 이용효율이 저하하는 것을 피하기 위하여 위성 컴퓨터를 배치하여 주컴퓨터의 입출력은 고속의 자기 테이프 장치를 이용하도록 시스템을 구성하였다. 이들 시스템에서 입출력은 입출력제어 프로그램으로서 개발한 입출력제어 시스템(IOCS;input/output control system)이 쓰였다.1964년 IBM사는 시스템/360을 발표하고, 1966년에는 OS/360 최초의 판이 사용 가능하였다. OS/360은 시스템/360 계열 전체에 이용하려 한 일괄처리용 운영체제로서 운영체제 개념의 명확화, 기능의 체계화가 이루어졌다. 그 이후 세그먼트 기법, 페이징에 의한 가상기억방식의 도입, 계층적 디렉터리를 갖는 파일링 시스템 등의 개념이 도입되면서 운영체제 개발이 급속히 진전되었다. 1980년대에는 개인용 컴퓨터가 보급되면서 개인용 컴퓨터 운영체제로 CP/M, MS-DOS, WinM : 32비트용)- V60(NEC : 32비트용)- WINDOWS(MS : 32비트 멀티미디어용)- WINDOWS 95(MS : 32비트용 차세대용)3. 운영체제의 종류1) No Operating System- 운영 체제 부재에 의한 프로그램 실행 과정{- 문제점 : 수작업으로 일의 처리가 이루어지는 것으로 컴퓨터의사용 예약 시간을 정확하게 예측할 수 없으며, 전체 작업 시간에서실행보다 작업 준비 시간이 대부분을 차지함2) 일괄 처리 시스템(Batch Processing System)- 일정 시간 동안 수집된 변동 자료(Transaction Data)를 컴퓨터의 입력 자료로 만들었다가 필요한 시점 에서 이 자료들을 입력하여 실행한 후 그 결과를 출력시켜 주는 방식{예) 초기 Punch Card 처리 시스템- 장점 : 컴퓨터 시스템을 효율적으로 사용할 수 있음- 단점 :1 작업 시간이 길어 반환 시간(Turn Around Time)이 늦음2 적절한 작업 제어 카드(Job Control Card)를 제공해야 함3 프로그램의 오류 수정 작업이 어려움4 CPU가 종종 유휴 시간(Idle Time)을 가짐- CPU 유휴 시간에 대한 해결책 :1 상주 모니터(Resident Monitor) : CPU의 유휴 시간을 극복하기 위해 하나의 작업에서 다음 작업으 로 진행하기 위해 제어를 자동적으로 이동하기 위한 절차· 상주 모니터의 구성{· 상주 모니터의 작업 과정ㄱ) 프로그래머는 상주 모니터에게 전달될 정보를 작업 제어 카드에 의해 전달함ㄴ) 상주 모니터는 제어 카드에 의한 지시대로 자동 작업 순서를 제공함ㄷ) 제어 카드가 하나의 프로그램이 실행될 것이라는 것을 나타내면 상주 모니터는 프로그램을 기억 장치에 적재하고 제어를 프로그램으로 넘김ㄹ) 프로그램이 수행을 완료하면 제어는 모니터로 복귀함ㅁ) 모니터는 다음 제어 카드를 읽고 적합한 프로그램을 적재하는 일등을 수행함ㅂ) 모든 제어 카드가 작업으로 번역될 때까지 이러한 일은 반복되며, 모니터는 자동적으로 다음 작업 을 계 작업만을 처리한다UNIX9) 운영 체제의 계층1 운영 체제의 계층 구조{· 계층 1 : 동기화 및 프로세서의 스케줄링을 위한 프로세스 관리 담당· 계층 2 : 메모리의 할당 및 회수 기능을 실행하는 기억 장치 관리 담당· 계층 3 : 프로세스 관리 담당(프로세스의 생성, 제거, 프로세스간의메시지 전달, 프로세스의 시작과 정지)· 계층 4 : 주변 장치 관리 담당(주변 장치 상태 파악과 관리,입출력 장치의 스케줄링, 입출력에 대한 전반적인 사항을 지시)· 계층 5 : 정보가 저장되어 있는 파일의 생성 및 소멸, 열기 및 닫기,유지 및 관리 담당2 운영 체제의 구성{ㄱ) 제어 프로그램(Control Program)- 시스템 소프트웨어 또는 시스템 프로그램 중에서 컴퓨터 시스템자체를 제어, 운영, 감시하고 기타의 모든 프로그램에 대한 서비스를 실행시켜 주는 일을 하고 있음- 종류 : 감시 프로그램(Supervisor Program) 또는 수퍼바이저(Supervisor),작업 관리 프로그램(Job Management Program),자료 관리 프로그램(Data Management Program)ㄱ 감시 프로그램: 제어 프로그램의 중심이 되는 프로그램으로 컴퓨터시스템의 작동 상태와 처리 프로그램의 실행 과정을 끊임없이 감시하는 역할을 담당함ㄴ 작업 관리 프로그램: 컴퓨터가 처리하기 위한 하나의 일의 단위인 작업을 관리해 주는 프로그램으로 작업의 연속적인 처리를 위한 스케줄(Schedule)이나 입출력 장치의 할당들을 관리하는 역할을 담당함· 작업 스케줄러(Job Scheduler): 작업의 연속적인 처리를 위한 스케줄링이나 자원의 할당을 담당하는 역할을 하는 프로그램· 마스터 스케줄러(Master Scheduler): 시스템과 오퍼레이터 사이의 필요한 역할을 담당하는 프로그램ㄷ 자료 관리 프로그램 : 자료를 관리하는 프로그램으로 컴퓨터가 취급하는 여러 가지의 자료와 파일을 표준적으로 관리하는 프로그램ㄴ) 처리 프로그램(Process Program)ㄱ 언어 번역 프로그능이 추가되어 영어 전용 PC AT호환기상에서 일본어 표시를 실현하였다2) 유닉스(UNIX)- 1969년 미국의 전신전화회사 AT & T사의 벨연구소에서 개발한 오퍼레이팅시스템.내장된 네트워킹 기능과 모든 종류의 컴퓨터에서 실행될 수 있는 버전을갖춘 다수 사용자를 위한 다중 태스킹 운영체제.1969년 미국 AT & T사의 벨연구소 켄 톰슨(Ken Thompson)이 DEC사의 미니 컴퓨터 PDP-7에서 어셈블리언어로 단일 사용자용인 유닉스(Unix)의 제1버전을 개발하였으며, 1972년 데니스 리치(Dennis Ritchie)가 고급언어인 C언어로 다시 작성하였다.유닉스를 탑재한 워크스테이션의 발매와 함께 보급되어 현재는 개인용 컴퓨터, 대형 컴퓨터, 마이크로 컴퓨터에 이르기까지 많은 종류의 컴퓨터에서 사용되고 있으며, 거의 어떤 컴퓨터에도 이식이 가능하다. 유닉스는 멀티태스킹, 멀티유저를 지원하는 오퍼레이팅시스템(OS)으로 프로그램개발, 문서처리, 전자우편 등의 기능이 뛰어나다.지금까지의 유닉스 시스템은 크게 두 부류로 발전되어 왔다. 하나는 AT & T사가 상품화한 유닉스 시스템 시리즈이고, 다른 하나는 버클리대학에서 만든 BSD(Berkeley Software Distribution) 유닉스이다.이들은 각각 독자적인 기능을 부여하여, 같은 유닉스지만 호환성이 없고 이식성이 떨어지는 혼란을 가져왔다. 이러한 유닉스의 혼란을 방지하기 위하여 미국의 유닉스 사용자 모임은 1984년 표준화위원회를 설립하여 유닉스의 표준화를 시도하였다. 이러한 표준화작업으로 유닉스 사용자는 시스템마다 프로그램을 변경하지 않고 실행할 수 있으며, 사용자 인터페이스를 공유하여 공통된 환경을 사용할 수 있는 등 많은 이익을 얻게 되었다.* UNIX의 특징1 간결한 범용의 운영체제2 대화식 시분할 운영체제3 Multitasking(다중 처리)4 Multiuser(다중 사용자)5 계층적 파일 시스템6 네트워킹 시스템7 높은 이식성과 확장성 그리고 개발성8 주변기기를 하나의 파일로 간주하여indows 1.0Windows 3.1* 9X 커널Windows 95 - 96년Windows 95 OSR 1Windows 95 OSR 2Windows 98 - 98년Windows 98 SE (Second Edition) - 99년Windows Me (Millenium Edition) - 2001년* NT 커널Windows NT 2003 Web EditionWindows .NET 2003 Standard EditionWindows .NET 2003 Enterprise EditionWindows .NET 2003 Datacenter EditionWindows 2000 ProfessionalWindows 2000 ServerWindows 2000 Advanced ServerWindows 2000 Datacenter Server* 9X 커널 포기 NT커널과 통합Windows XP 2001년Windows XP Home EditionWindows XP Tablet PC EditionWindows XP Media Center EditionWindowsXP 64-BIT EditionWindows XP SP1 2002년1 Window 3.1- 도스와 윈도우95를 잇는 과도기에 생겨난 그래픽환경의 운영체제.(GUI방식을 제공)도스의 업데이트 버전처럼 사용되기 때문에 완전한 윈도우라 볼수 없어 지금은 거의 사라 져 버리기는 했지만 486DX-50 이하의 컴퓨터에서는 아직도 윈도우3.1을 사용하고 있는 편이다.9X 커널2 Window 95- 미국의 마이크로소프트가 1995년에 개발한 컴퓨터 운영체계.윈도3.0의 후속판으로 파일 시스템 이외에는 MS-DOS의 기능을 사용하지 않는 하나의 독립된 운영체계로 되어 있다. 윈도3.0에 비하여 시스템이 매우 안정적이며 처리속도도 향상되었을 뿐만 아니라 프로그램 간의 데이터 교환방법인 객체 연계 및 매입(OLE) 지원, 끌어놓기(drag-and-drop) 조작의 도입 등으로 새롭게 바뀌었다.윈도3.0에서는 도스 환경을 이용하여 명령을 문자로 다.
프로그래밍언어 [ programming language ]- 컴퓨터의 프로그램을 작성하기 위하여 고안된 언어(기계가 읽을 수 있고 사람이 읽을 수 있는 형식으로 계산을 기술하는 표현체계)가장 간단한 언어는 기계어를 영문자의 기호로 치환한 어셈블리어(assembly 語)이며, 어셈블리어 수준에서는 언어는 특정한 컴퓨터와 밀접하게 결부되어 있다. 또한 수준이 높은 언어는 컴퓨터와 독립적인 문법구조(文法構造)를 가지며, 이와 같은 처리프로그램을 갖추고 있기만 하면 어떠한 컴퓨터라도 실행할 수 있도록 되어 있다.이런 종류의 언어에는 포트란(FORTRAN:formula translation), 알골(ALGOL:algorithmic language), 코불(COBOL:common business oriented language)과 같은 일반적인 계산처리 또는 보고서작성용의 아르피지(RPG:report program generator)라든가 공학의 다이너모(DYNAMO:Dynamic model), MPS와 같은 응용문제의 언어, 또한 그래프표시(graphic display)용의 언어라든가 시분할계(time-sharing)용의 언어 등도 있다. 이와 같이 언어의 체계가 복잡하게 되고 컴퓨터가 취급하는 작업의 종류가 다양화됨에 따라서 컴퓨터의 운전을 관리하는 관리프로그램도 복잡하게 되어 관리프로그램 자체가 제어언어를 갖도록 되어 있다. IBM의 작업제어용언어(job-control language)가 하나의 예이다.* 코딩(coding) : 컴퓨터의 명령 코드를 쓰는 작업※ 언어- 음성, 문자를 수단으로 감정, 사상을 표현, 전달하는 활동과 방법※ 컴퓨터 언어- 컴퓨터에게 데이터와 명령을 전달하기 위해 사용하는 부호※ 프로그램 : 컴퓨터가 수행하는 계산의 명세서(specification)※프로그래밍 언어- 프로그램을 작성하기 위한 표기법- 컴퓨터를 통한 문제의 해결(계산, 처리)을 위해 컴퓨터가 해독할 수 있는 방법으로 표현하는 체계적인 표기법- 계산 과정(자료구조, 알고리즘)밀 한 프로그램을 효율적으로 작성하는 것이 가능하다고 주장하였다. FORTRAN은 이 언어 가 최초로 실행된 컴퓨터인 IBM 704 에 관련된 많은 특징들을 가지고 있다.1958년 FORTRAN Ⅱ가 이어서 개발되었다. 여기에는 서브루틴을 분리해서 컴파일하는 것이 포함되었다. FORTRAN Ⅲ 는 오래가지 못하였고, 1962년에 FORTRAN Ⅳ 가 그 다음으로 개발되었다. 이 언어는 1977년 ANSI FORTRAN이 개발될 때까지 표준으로 남 았었다. 최근에 개발된 것은 FORTRAN 90이고 ANSI X.3 198-1992에 요약되어 있다. 수 십년동안 FORTRAN은 컴퓨터 프로그래머들에게는 사실상의 표준으로 공통적으로 사용 되어 왔다.특 징 : 포트란은 일단 언어의 구성이 단순하고 효율성이 높아서 초보자가 배우기에는 매 우 편리하게 되어있으며 보급률 또한 무척 높다. 특히 컴파일 시간이 짧은 것이 특징이다. 구조가 단순성 때문에 과학 계산 같은 크기가 크지 않는 프로그램에게는 여러 면에서 장 점을 보유하고 있어 과학계산용이라는 이야기도 하고 있다. 포트란의 구조는 주프로그램 과 종프로그램으로 되어있고 이들의 구조는 각기 여러 가지 선언하는 선언부분과 이것에 이어서 실행부는 명령을 실행하는 여러 가지 문장의 나열로 구성되어있다.프로그램이 하나의 평면으로 되어있어 이 프로그램을 실행하기 위해서는 한번 컴파일을 하게되면 그 컴파일된 코드는 곧 적재가 되어 실행에 들어가게 된다. 컴파일 시기에 모든 변수들은 기억장소 배정을 받아야 하며 실행시간에는 기억장소 관리를 하지 않는다. 이러 한 방식을 정적 기억장소 배정(static memory allocation)이라고 하며 특히 정적 기억장소 배정을 정적바인딩(static binding)에 속한다고하며 정적바인딩은 컴파일 시기에 모든 바 인딩이 일어나는 것을 말하기도 한다.포트란은 일반적으로 프로그램 단위별로 컴파일 하기 때문에 주프로그램의 컴파일링이 끝나면 이어서 종프로그램들을 컴파일 하게 되는데 인자들간의 연INT 등)에 대하여 다시 모드를 선언할수 있는 것.3) SNOBOL 4(StriNg Oriented symBOlic Language)- 1960년 중반 벨연구소에서 개발.- 문자열 자료의 처리에 주안점.- 강력한 패턴 비교(Pattern- matching) 연산문들과 그 연산을 위한 문자열과 패턴 자료형 들을 제공.- 기계 독립적인 매크로 언어를 가지고 있다.4) APL (A Programming Language)- 배열에 관한 문제 해결시 배열 자체에 관한 연산 수행- 대화용 (Interactive) 언어- 다른 PL로 작성시 매우 복잡하고, 이해하기 어려우며, 효율이 나쁜프로그램을 한 줄로 코딩 가능5) BASIC(Beginner's All-purpose Symbolic Instruction Code)- 초보의 프로그래머가 배우기 쉬운 대화형 언어- 문법이 간단하고 수정이 용이6) PASCAL- 사용자가 정의할 수 있는 자료형의 제공- 컴파일 시간에 완벽한 자료형 검증 (type checking)이 불가능: 파스칼의 가변 레코드의 처리에 기인※ 원시 프로그램(source code)- 컴파일을 하기 위하여 입력되는 프로그램※ 목적 프로그램(object code)- 번역되어 출력되는 프로그램{※ 크로스 컴파일러(cross-compiler)- 원시 프로그램을 컴파일러가 수행되고 있는 컴퓨터의 기계어로 번역하는 것이 아니라, 다른 기종에 맞는 기계어로 번역하는 컴파일러※ 인터프리터(interpreter)- 중간 언어를 입력으로 받아 목적 언어로 변환하지 않고 직접 수행하는 프로그램※ Ada- 파스칼 언어에서 처음으로 사용된 구조적 개념을 기반으로 하여 만들어진범용 프로그래밍 언어.컴퓨터 내장 시스템(Embedded computer system) 프로그래밍 지원·특 징: 수치 계산, 비표준 입출력, 기계종속성, 예외 처리, 자료 추상화, 병렬 처리 개념을 위한 특성을 보유프로그램의·모듈화 (modularity) ·호환성 (portability)·확장성 (exten성하는 방법.※ 컴파일 방법의 가장 큰 장점 : 기계어로 번역된 것을 하드웨어 인터프리터가 디코드하여 실행하기 때문에 매우 빠르게 프로그램을 실행시킨 다는 것.. 컴파일 언어- FORTRAN, ALGOL, PL/I, PASCAL, COBOL, C, ADA 등- 고급언어를 번역하여 목적 모듈(Object Module)을 출력시켜서 그 목적 모듈을 링크, 로드하여 실행시키는 방법으로 구현하는 언어.. 인터프리터 언어- LISP, SNOBOL 4, APL, BASIC 등- 고급언어를 적당한 중간 코드까지만 번역해서 곧바로 실행시키는 방법으로 구현하는 언어.※ Compiler 단계의 도식화{원시 프로그램languagelexical analyzer(어휘 분석기)dependant(종속)token생성partsyntax analyzer(구문 분석기)(=front end)syntax tree생성(parse tree)semanticanalyzersymbol-table manager의미 분석(type 체킹)error 처리intermediate codegenerator중간코드생성기machine프로그램을 address code로 생성dependantcode optimizerpart불필요한 address code 제거(=back-end)code generator목적 프로그렘{6. 그밖의 언어들※ C출연연도 : 1971년개 발 자 : Dennis Ritchie출현배경 : programming 언어중의 하나인 C언어는 DEC PDP-11기종의 Unix 운영체제에서 Dennis Ritchie가 개발하여 처음으로 구현시킨 언어이다. C언어의 기초는 Martin Richards 가 1960년대에 개발한 BCPL이라는 system program 언어로 거슬러 올라간다. BCPL언어의 영향을 입은 B언어를 Ken Thompson이 실험적으로 개발하엿고, 이 후 이를 더욱 확장하 고 정리하는 과정을 거쳐 1973년도에 C언어라는 이름으로 완성되었다.C언어는 여러 hardware 기종간에서 양호한 호 것은 1995년 초부터 사용되어 Personal Home Page Tools라고 불리게 되었다. 이것은 몇 개의 특별한 매크로를 사용할 수 있는 단순한 파서 (명령 해석기) 엔진과 방명록이나 카운터 같이 홈페이지의 뒤에서 공통적으로 사용할 수 있는 몇 개의 간단한 유틸리티로 구성되었다. 이 파서가 1995년 중반에 재작성되어 PHP/FI Version 2라고 명명되었다. FI는 레도프가 작성한 html 형식의 데이터를 해석할 수 있는 별도의 패키지다. 그는 이 두 가지를 합치고 mSQL을 지원하도록 하여 PHP/FI를 탄 생시켰다. PHP/FI는 빠른 속도로 발전하였고, 많은 사람들이 이에 공헌하였다.1998년 중반인 현재 PHP/FI나 PHP3는 C2의 StrongHold web server나 RedHat Linux같은 여러 상업적인 제품과 함께 제공되고 있으며, 전세계적으로 최소한 150,000개의 웹사이트 가 사용하고 있을 정도로 PHP의 발전은 계속 이루어 질 것이다특징 : PHP의 가장 큰 특징이라 하면 다른 어떤 언어보다 빠르고 쉽게 웹 서버를 구축할 수 있다는 것이다. 기존의 C나 Perl로 어렵게 CGI프로그램을 하던 것들을 PHP는 너무도 쉽게 해결해 준다. 쉬운 DB연결, 빠른 실행속도, 멀티 플랫폼 지원 등의 장점을 PHP는 가 지고 있다. 한마디로 말하면 서버에서 해석되는 스크립트언어이며 MS사의 ASP와 같은 것이다. 이런 서버용 언어는 C나 Perl등으로 만들었던 CGI 프로그램과 마찬가지로 서버에 서 해석되고 그 결과만을 HTML형태로 만들어서 클라이언트로 보내주기 때문에 웹 브라 우저는 내부 소스 코드를 볼 수가 없다. 이것은 또한 보안상으로 상당히 중요한 장점이라 할 수 있다.PHP에서는 DB연결이 쉽다. 어떠한 초보자라 할지라도 쉽게 DB에 연결해서 테이터 관리 를 할 수 있도록 인터페이스가 깔끔하다. 실제 지원하는 DB는 Oracle, Sybase, mSQL, MySql, Solid, ODBC, PostgreSQL, Adab.
Ⅰ. CPU1. 마이크로 프로세서(CPU) 의 주요 기능CPU는 크게 계산, 입출력, 시스템 조정이라는 세 가지 역할을 수행한다. 마이크로 프로세서는 컴퓨터가 처리해야할 작업들을 2진수로 계산하는 기본적인 기능 이외에, HDD, RAM, 그래픽카드 등의 각종 주변장치와 자료를 주고받는 입출력 기능, 그리고 컴퓨터 전체가 정상적으로 작동하도록 각 주변장치와 부품들을 조정하는 역할을 맡는다.계산CPU의 가장 기본이 되는 기능은 역시 계산이다. CPU의 계산기능은 컴퓨터 전체의 처리속도에 직접적으로 영향을 미친다. 상식적으로 생각해도 1초에 100만회의 덧셈을 수행하는 CPU보다는 1초에 200만회의 덧셈을 수행하는 CPU를 사용한 컴퓨터의 처리속도가 빠르다. CPU의 계산기능은 1981년 IBM 오리지널 PC가 발표된 이후, 가장 많은 변화와 기술개발을 가져온 분야이기도 하다. 지금의 CPU들의 연산능력은 세계 최초의 컴퓨터인 애니악(ENIAC)의 연산능력을 훨씬 뛰어넘지만, 그 크기는 수천 분의 1에 불과하다.CPU의 계산기능은 보통 클록(clock)이란 단위에 의해서 표현되는데, 이 수치가 클수록 빠르다고 볼 수 있다. 1981년 발표된 IBM 오리지널 PC는 8MHz의 클록속도로 작동했지만, 요즘의 CPU들은 무려 1GHz의 속도로 동작한다. 다른 기술적인 성능향상은 차지하더라도, 단순한 클록속도만으로도 100배 이상의 성능향상을 가져온 것이다.입출력CPU의 또 다른 중요한 기능은 바로 자료를 읽고 쓰는 소위 입출력기능이다. 컴퓨터의 각 부품이 자료를 읽고 쓰는 통로를 버스(BUS)라고 부르는데, CPU는 이러한 버스를 통해서 RAM, HDD, 그래픽카드 등으로부터 자료를 주고 받는다. 원래 CPU는 기본적으로 RAM, 즉 메모리를 경유하여 자료를 주고받는다. 이 때문에 CPU는 RAM 등의 장치를 다루는 기능도 포함하고 있다.CPU는 내부버스와 내부버스, 두 개의 버스를 가지고 있다. 내부버스란 CPU를 구성하는 각 부위들이 CPU 내부에서 자료를 주고 받개 연결해서 병렬로 동작시키는 방법이 오히려 이 사용되고 있다. 한번에 64비트로 자료를 처리한다고 해서 많은 성능 개선이 이루어지는 것이 아니기 때문이다.1997년 3월 인텔과 HP(Hewlett-Packard)가 함께 개발할 이테니엄(Itatium) 프로세서는 PC용으로 사용될 최초의 64비트 프로세서로 알려져 있으며, 인텔이 지금까지 채택하던 CISC 방식이 아니라 VILW 방식을 사용한다.그러나, 이 제품이 일반 컴퓨터에서 사용되기까지는 상당한 시간이 필요할 것으로 생각된다. 기존의 프로세서와 명령어 구조가 다르고 하위 호환성을 가지만 느리게 동작하기 때문이다.2) CISC와 RISCCPU는 명령어의 구성 방식에 따라서 CISC와 RISC 방식으로 구분할 수 있다. 또한, 자료를 처리하는 방식에 따라서 SIMD, VLIW 방식으로 나눌 수 있다.CISC(Complex Instruction Set Computer)인텔의 8086은 16비트 프로세서로, 명령어의 길이가 1바이트에서 8바이트까지 가변적으로 구성되어 있다. 명령어가 가변적이고 복잡하므로 CISC 방식이라고 하는 것이다. 이 구조는 가능한 한 명령어의 길이를 줄여서 명령어의 디코딩(decoding, 해석) 속도를 높이고 최소의 메모리 구조를 갖도록 하기 위해서 정해진 것으로, 하나의 프로세서가 일련의 명령어를 순차적으로 처리하기에는 무척 유용한 방법이며, CPU의 동작 속도가 높아짐에 따라 성능이 비례로 증가한다. CISC 방식은 32비트 프로세서인 80386까지도 아무런 문제없이 적용된 기술이므로 완벽한 하위 호환성을 유지할 수 있었다.그러나, 80486이 등장하면서 단순히 CPU의 클록(clock, 동작 속도)을 높이는 방식으로 성능 향상을 기대할 수 없으므로 CISC 방식의 문제점이 드러나기 시작했다. 클록에는 한계가 있기 때문이다. 그래서, 한번에 여러 개의 명령어를 동시에 수행할 수 있는 기술이 필요하게 되었다. 즉, 동일한 클록에서 두 개의 명령어를 한번에 처리하게 되면 두 배의 성능 있었다. 리얼 모드에서 80286은 8086과 같은 명령어를 읽어들이며 유사한 동작을 하는데 80286은 8086의 명령어 모드와 어드레싱 모드를 이어받음으로써 기존의 도스기반의 자원을 그대로 살릴 수 있었다.CPU의 구성도 고속화를 위해서 많이 바뀌었다. 8086은 실행 유니트와 BIU의 두가지 모듈로 구성되어 있는 반면 80286은 독립적으로 동작하는 4가지 모듈(버스유니트, 어드레스유니트, 명령유니트, 실행유니트)로 구성되어 있다. 버스 유니트는 외부 버스와의 인터페이스를 담당하며, 어드레스유니트는 어드레스 변환으로 물리 어드레스를 생성한다. 그리고 명령 유니트가 명령의 해석을, 실행 유니트가 명령의 실행을 담당하게 된다. 결국 CPU의 내부의 처리가 4단계로 확장되어서 강력한 병렬 처리를 가능하게 하여, 명령어간에 지연시간을 최소화 시켜 최상의 성능을 발휘할 수 있도록 설계되었다. 또 온칩(on-chip)메모리 관리 기술을 적용하고 한번에 여러 개의 작업을 할 수 있는 작업 환경을 만들었다. 80286에 와서 부각되는 것은 보조 프로세서(coprocessor) 개념의 확대이다. 수치 연산 보조프로세서 80287이라고도 하는데, 이 칩은 입출력 버스를 통해 CPU에 접속되는 것으로서, 독립된 하나의 입출력 디바이스처럼 동작한다. 80287은 IO 버스를 통해서 CPU에 연결되기 때문에 8087처럼 명령이 CPU용인지, NDP(Numerical Data Processor)용 인지를 조사할 필요가 없고, CPU가 읽어들여 해석한 명령이 부동 소수점연산 명령이었을 경우에만 80287에 그 명령을 넘기고, 연산의 실행을 요구한다. 또한 80287은 CPU와 병행하여 동작하기 때문에 CPU는 80287의 연산 종료를 기다리지 않고 다음 명령을 수행 할 수 있다. 80287은 실행중인 연산이 끝났을 때 CPU에 신호를 보내고, 연산 결과의 답을 요구하기 때문에 80287은 부동 소수점 연산을 실행하는 I/O 디바이스처럼 동작하는 것이다.*기본 동작 속도 향상808다. 따라서 외부 메모리로부터 입력된 데이터나 명령어들이 바로 처리되도록 구성되어 있으며, 캐쉬 메모리 및 그 컨트롤러를 내장하고 있다.write-through 방식은 쓰기 메모리에도 같이 쓰기 때문에 느린 메모리에 쓰기가 완료되어야 하므로 속도가 느리다.* 와이어드 로직(wired logic) 사용80386까지는 명령 해석, 실행에 마이크로프로그램을 사용했지만, 80486에서는 이를 와이어드 로직으로 수행한다. 이 때문에 복잡한 명령 실행에도 불구하고 내부적인 실행 사이클 수가 줄어 빠른 속도를 낼 수 있다. 내부적으로는 385캐쉬 컨트롤러와 387코프로세서를 합친 것으로서 이전의 386보다는 훨씬 더 효율적인 마이크로 코드와 빠른 속도를 낼 수 있게 되었다. 내부의 트랜지스터는 386의 5배에 해당하는 12,500,000개가 집적이 되어 있다.80486sx486SX는 인텔의 정책상 나온 칩으로 초기의 486DX 가격이 고가였기 때문에 초기의 판매량은 미비했다. 따라서 좀더 저렴한 시스템이 필요하게 되었는데, 486SX는 486DX에서 코프로세서 기능을 뺀 것이다. 코프로세서의 기능을 삭제했기 때문에 가격면에서 상당히 저렴했다. 따라서 많은 사용자층을 확보하게 되었으므로 인텔에서는 다시 487SX라는 칩을 사용해서 코프로세서의 기능을 추가하기로 했다. 그러나 487SX는 완전한 486DX의 기능을 가지고 있기 때문에 487SX를 장착하게 되면 486SX의 기능을 정지시키고 혼자서 486DX의 일을 하게 된다. 80486SX에서 보여준 인텔의 마케팅 전략이 적중했기 때문에 인텔은 그러한 정책을 계속적으로 밀고 나가게 되었다. 487SX는 부동소수점을 보조해주는 프로세서가 아니고 그자체적으로 완전한 CPU이다. 비록 핀 배열이 다른 방식으로 되어있었기 때문에 487SX 프로세서를 소켓에 바로 장착할 수가 없었다. 코프로세서들은 원칙적으로 메인프로세서와 유기적으로 동작하게끔 되어 있었지만, 487SX는 CPU의 기능을 정지시킨 후에 자신이 모든 일을 처리했다. 인로세서는 보급형 혹은 저가형 PC에 사용되는 저렴한 프로세서라고 할 수 있다. 클래식 펜티엄 프로세서가 널리 사용될 때만 하더라도 중, 고가형 프로세서 시장은 인텔의 펜티엄 프로세서가 독점하고, 저가형 프로세서 시장은 AMD K6 시리즈나 Cyrix M 시리즈 프로세서가 널리 사용되는 상황이었다. 하지만 AMD 의 K6가 시리즈를 거듭하면서 점차 고성능화 되고 인텔의 주력 CPU들을 턱밑까지 쫓아오는 상황이 되자, 인텔은 저가형 프로세서 시장 공략에 나섰다. 이를 위해 출시한 프로세서가 바로 셀러론(Celelon) 프로세서이다.초기 셀러론 프로세서는 데슈츠 펜티엄 Ⅱ프로세서에서 L2 캐시를 없애고 클록 속도를 66MHz로 내려버린 프로세서였다. CPU가 비싸지는데 결정적인 역할을 하는 캐시가 완전히 없어지고 속도를 낮추었으니 프로세서의 가격이 저렴해졌다. 결국 셀러론은 인텔의 명성을 등에 업고 호환 칩셋 제조사들에게 내주었던 저가형 프로세서 시장을 어느 정도 회복하는 데 큰 공헌을 했다. 게다가 후에 128KB의 L2 캐시를 장착한 새로운 셀러론이 발표되고 이후 펜티엄Ⅲ 코퍼마인 코어 공정에 따른 100MHz 클촉의 코퍼마인 셀러론이 출시되면서 셀러론은 더 이상 저가형 CPU가 아닌 중, 저가형 프로세서로 새롭게 인식되었다. 게다가 셀러론 1.2GHz 프로세서부터는 펜티엄 Ⅲ의 초신 코어인 튜얼라틴 코어가 적용되어 펜티엄 Ⅲ프로세서와의 성능 격차를 조금 더 줄였다.한편 애슬론으로 인텔을 긴장하게 만든 AMD는 저가형 프로세서 시장에서도 K6 시리즈에 이은 새롭고 강력한 제품으로 출시했다. 스핏파이어(Spitfire)라는 코드명으로 개발된 이 새로운 프로세서는 후에 이름을 듀론(Duron)이라고 바꿨고, 셀러론의 강력한 경쟁 상대로 자리 매김함으로써 저가형 프로세서 시장을 상위 제품인 애슬론과 펜티엄 Ⅲ의 대치 상태와 비슷한 상황이 되었다. 듀론과 셀러론과 마찬가지로 현재 1GHz 제품이 판매되고 있다.노트북용 CPU노트북용 CPU는 기본적으로 데스크탑 CPU와