ㅍ
프로세스 [process]
컴퓨터 내에서 실행중인 프로그램을 일컫는 용어.
여러 분야에서 과정(過程) 또는 처리(處理)라는 뜻으로 사용되는 용어로, 컴퓨터 분야에서는 ‘실행중인 프로그램’이라는 뜻으로 쓰인다. 1960년대 중반 멀틱스(Multics:multiplexed information and computing service) 시스템을 설계한 벨전화연구소의 연구원들이 처음 사용했다고 알려져 있다. 프로그램 또는 그 일부를 뜻하기도 하고, 데이터의 입력이나 출력 등을 조작하거나 처리하는 것을 말하기도 한다.
부모프로세스(parent process)라는 상위계층과 자식프로세스(child process)라는 하위계층이 존재한다. 부모프로세스는 프로그램이나 명령어에 의해 시작되며, 자식프로세스는 부모프로세스에 의해 만들어지는 것을 말한다. 하나의 부모프로세스는 여러 개의 자식프로세스를 관리하는데, 여러 개의 자식프로세스가 하나의 CPU에서 동시에 처리되는 것처럼 보이는 것을 멀티태스킹(multitasking)이라고 한다.
리엔지니어링에서는 과업이 아닌 연속적 업무의 묶음을 말한다. 예를 들며, 주문프로세스는 소비자의 주문이 접수되는 단계에서 주문 품목이 소비자에게 전달되기까지의 모든 과정을 의미한다. ISO9000시리즈 개정2000판에서는 ‘입력을 출력으로 변환시키는, 상호관련되거나 상호작용하는 활동의 집합’이라고 정의하였다.
FTP [file transfer protocol]
인터넷을 통해 한 컴퓨터에서 다른 컴퓨터로 파일을 전송할 수 있도록 하는 방법과, 그런 프로그램을 모두 일컫는 말이다.인터넷을 통하여 어떤 한 컴퓨터에서 다른 컴퓨터로 파일을 송수신할 수 있도록 지원하는 방법과 그런 프로그램을 통칭하기도 한다. FTP를 이용하면 자신이 원하는 프로그램이나 각종 데이터를 무료나 저렴한 가격에 살 수 있다. 또 용량이 큰 파일도 빠르게 송수신할 수 있다. 파일을 송수신할 때에는 정당한 자격, 즉 원격 호스트 컴퓨터를 이용할 수 있는 사용자 ID와 패스워드(password)가 있어야 원하는 원격 호스트 컴퓨터에 접속할 수 있다.
그러나 인터넷상에는 패스워드가 없어도 접속할 수 있는 공개 FTP 호스트가 있다. 이러한 FTP 호스트를 Anonymous FTP라고 하는데 전세계적으로 이러한 Anonymous FTP는 수천 개에 이른다. 사용자로 등록하지 않고서도 anonymous라는 ID와 패스워드로 자신의 E-mail 주소를 설정하면 원격지 호스트에 접속하여 파일을 쉽게 송수신할 수 있다.
프로토콜 [protocol]
컴퓨터와 컴퓨터 사이, 또는 한 장치와 다른 장치 사이에서 데이터를 원활히 주고받기 위하여 약속한 통신규약.
컴퓨터 간에 서로 통하는 언어로 컴퓨터 간에 자료를 주고받을 때 사용되는 기본 언어다. 원래는 조약 원안ㆍ의정서 등을 뜻하는 외교용어지만 컴퓨터 용어로는 통신회선을 이용하여 컴퓨터와 컴퓨터, 컴퓨터와 단말기끼리 데이터를 주고받을 경우의 상호약속, 즉 통신규약을 뜻한다. 일반적으로 기종이 다른 컴퓨터는 통신규약도 다르므로 기종이 다른 컴퓨터 간에 정보통신을 하려면 표준 프로토콜을 설정하여 각각 이를 채택하여 통신망을 구축해야 한다. 인터넷에서 기본으로 사용되는 통신 규약은 TCP/IP 프로토콜이다. 프로토콜을 최초로 상용화한 것은 1974년 발표된 IBM사의 SNA(systems network architecture)다.
cf.) 인터넷 통신 프로토콜에는 TCP/IP, FTP, SMTP, HTTP 등 수없이 많은 종류의 프로토콜이 있다.
cp.) 사람들이 소식을 주고 받는 방법은 전화, 전보, 편지등 여러 가지가 있다. 마찬가지로 네트워크 상에서도 다양한 방법을 통해서 데이터를 주고 받을수 있다. 데이터를 주고 받으려먼 규칙이 존재해야 한다. 한 사람은 전화를 사용하고 또 한사람은 편지를 사용한다면 서로간에 원활한 소통을 할 수가 없기 때문이다. 따라서 기본적으로 두 사람이 데이터를 주고 받는 방법을 약속할 필요가 있는데, 이것이 바로 프로토콜이다. 한마디로 프로토콜이란 ‘컴퓨터 상호간의 대화에 필요한 통신 규약’을 의미한다.
포트 [port]
모뎀과 컴퓨터 사이에 데이터를 주고받을 수 있는 통로.컴퓨터에서 포트는 크게 두 가지 의미를 지닌다. 첫째는 컴퓨터의 주변장치를 접속하기 위해 사용되는 연결 부분을 의미한다. 대개 소켓이나 플러그 등의 형태로 되어 있다. 정보가 드나드는 출입구로, 주로 프린터를 접속하기 위한 센트로닉스 등의 병렬포트와 기타 주변장치를 접속하기 위한 RS-232C 등의 직렬포트가 있다.
둘째, 프로그래밍에서는 논리적인 접속장소를 뜻한다. 특히 TCP/IP를 사용할 때에는 클라이언트 프로그램이 네트워크 상의 특정 서버 프로그램을 지정하는 방법으로 사용된다. TCP/IP의 상위 프로토콜을 사용하는 응용프로그램에서는 인터넷번호 할당 허가위원회(IANA)에 의해 미리 지정된 포트번호들을 가지고 있다. 이런 포트번호들은 '잘 알려진 포트들'이라고 불린다. 다른 응용프로그램 프로세스들은 접속할 때마다 포트번호가 새로 부여된다. 포트번호는 0부터 65535까지이며, 0부터 1023까지는 어떤 특권을 가진 서비스에 의해 사용될 수 있도록 예약되어 있다. HTTP서비스를 위해서는 대개 80번 포트가 지정된다.
포트번호는 1) 잘 알려진 포트(Well known ports): 0~1023, 2) 등록된 포트(Registered ports): 1024~49151, 3) 다이나믹 포트(Dynamic or Private ports): 49152~65535 으로 지정되어 있다.
cf.) 80번 포트 [port]
웹 서버나 HTTPD(hypertext transport protocol daemon)에서, 80번 포트는(서버를 설치 할 때 기본 설정을 취했다고 가정하면) 웹 클라이언트로부터의 요구가 들어오기를 기대하는 포트이다. 이 포트는 NCSA 서버에서는 0~65536번의 범위 내에서 설정될 수 있다. 그러나 서버 관리자는 그 서버를 단 하나의 포트 번호만이 인식되도록 설정한다. 기본적으로 웹 서버의 포트 번호는 80번이다. 실험적으로 하는 서비스는 대개 8080번 포트에서 실행될 수 있다.
방화벽 [firewall]
기업이나 조직의 모든 정보가 컴퓨터에 저장되면서, 컴퓨터의 정보 보안을 위해 외부에서 내부, 내부에서 외부의 정보통신망에 불법으로 접근하는 것을 차단하는 시스템이다.기업이나 조직 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 능력을 가진 보안 시스템을 말한다. 외부 인터넷과 조직 내부의 전용통신망 경계에 건물의 방화벽과 같은 기능을 가진 시스템, 즉 라우터나 응용 게이트웨이 등을 설치하여 모든 정보의 흐름이 이들을 통해서만 이루어진다.
전용통신망에 불법 사용자들이 접근하여 컴퓨터 자원을 사용 또는 교란하거나 중요한 정보들을 불법으로 외부에 유출하는 행위를 방지하는 것이 목적이다. 모든 정보가 컴퓨터에 저장되고 컴퓨팅 환경 또한 다양하고 복잡해지면서 정보를 보호하는 일이 급선무로 떠오르자 이에 대한 대책으로 개발하였다.
원리는 허가된 사용자 외에는 접근자체를 차단하는 것으로, 현재까지 정보통신망의 불법접근을 차단할 수 있는 가장 효과적인 대책이다. 그것은 다양한 컴퓨터 시스템들이 각기 다른 운영체제에서 움직이며, 각 시스템이 안고 있는 보안의 문제점도 서로 다르기 때문에 호스트 컴퓨터마다 일정한 수준의 보안 능력을 부여하기는 어렵기 때문이다.
방화벽의 등장은 인트라넷과 긴밀히 관련되어 있다. 방화벽과 인트라넷의 관계를 흔히 공생관계라고 한다. 즉, 방화벽이 없는 인트라넷이란 대문없는 집과 같고, 인트라넷이 구현되지 않는 네트워크에서 방화벽의 존재 또한 의미가 없기 때문이다. 따라서 인트라넷의 열풍은 방화벽 시장을 활성화시키는 촉매제 역할을 하고 있다.
개념에 따른 종류로는 패킷 필터링 방화벽(packet filtering firewall), 이중 홈 게이트웨이 방화벽(dual-homed gateway firewall), 차폐 호스트 방화벽(screened host firewall) 등이 있다.
프록시 [proxy]
데이터를 가져올 때 해당 사이트에서 바로 자신의 PC로 가져오는 것이 아니라 임시 저장소를 거쳐서 가져오는 것. 프록시를 설정하면 수 초의 빠른 속도를 느낄 수 있다. 프록시 서버에는 다수의 사용자들이 들르는 사이트에 대한 데이터가 저장되어 있어 경우에 따라 해당 사이트에 들르지 않고 바로 이 서버에 있는 데이터를 이용하기도 한다. 하지만 프록시 서버에 문제가 생겼거나 과부하가 걸렸을 경우 오히려 더 느려지는 경우도 있다. (사이트 → 프록시 서버 → PC)
포팅 [poring]
이식(移植) 또는 포팅(porting)은 컴퓨터 과학에서 실행 가능한 프로그램이 원래 설계된 바와 다른 컴퓨팅 환경 (이를테면 CPU, 운영 체제, 서드 파티 라이브러리 등)에서 동작할 수 있도록 하는 과정을 가리킨다.
이 용어는 소프트웨어나 하드웨어가 다른 환경에서 사용할 수 있게 변경되는 것에도 해당한다.
소스 하나로 여러 플랫폼에서 사용할 수 있는 것을 크로스 플랫폼으로 부른다.
cf.) 포워드세팅의 줄임말입니다. 즉 다른곳에 맞게 설치하는 것을 의미하지요..
윈도우에서 돌아가는 프로그램을 리눅스에서도 돌아가게 만드는 일련의 작업을 포팅이라고 생각하시면 쉬우실 겁니다.
cf.) 프로그래머가 프로그램을 하면 어떠한 언어로 어떠한 플랫폼에 맞게 언어를 짜게 된다.
예를 들면 프로그래머가 윈도우용 플레이어를 만들때 C++로 윈도우 플랫폼에 맞게 프로그램을 짜게 되는데 이때 포팅을 한다는 말은 이 윈도우 플랫폼을 다른 것을로 바꾼다는 이야기이다.
윈도우에서 돌아가는 플래이어를 리눅스나, 다른 기타운영체제에 돌릴려면 기존의 프로그램을 변경해야 하는데 이것을 포팅이라고 한다.
플러그인 [plug-in]
어떤 프로그램에 없던 새 기능을 추가하기 위해 「끼워넣는」부가 프로그램. 자체적으로는 실행능력은 없지만 특정한 프로그램 속에서 함께 실행되어 기능을 발휘한다. 원래는 하드웨어 분야에서 컴퓨터가 기본적으로 제공하지 않거나 부족한 기능을 보강하기 위한 장치란 뜻으로 사용되었으나 요즘에는 부가 소프트웨어라는 뜻으로 주로 사용된다. 예를 들어 인터넷 브라우저인 「넷스케이프」의 플러그인 프로그램인「리얼오디오」나 「엑티브X」등을 사용하면 원래 넷스케이프에서 지원하지 않는 음성이나 동영상, 3차원 영상도 즐길 수 있다.
cf.) config
영어의 'configuration'에서 앞에 여섯개의 알파벳만을 따서 쓴 것 입니다.
컴퓨터에서 쓰일 때는 시스템의 환경설정을 해주는 파일을 말 합니다.
파라미터 [parameter]
서브루틴, 매크로 명령 등에 주어지는 변수이다. 파라미터를 변경하여 서브루틴 등의 처리를 반복함으로써 동일한 과정에서 여러 가지의 결과를 얻을 수 있다.
(1) 어떤 처리를 할 때 상수(constant)를 할당(assign)하는 변수(variable)의 의미가 있다. 예를 들면 y = ax2 + bx + c 라는 일반식의 a, b, c 에는 여러 가지 값이 할당되기 때문에 이것을 매개변수라고 한다.
(2) 프로그램에 있어서 절차의 내용을 정의하고 그것을 사용할 때 필요한 값을 부여하는 데 사용되는 문법 단위이다. 인수(argument)와 동의어로 사용되는 경우가 있다.
(3) 프로그램 언어에서 파라미터는 가인수(dummy argument)라고도 일컫 는다. 어느 프로그램에서 별도의 프로그램을 호출할(call) 때, 「인도되는 값」을 말한다. 명령의 세부 기능과 처리를 결정하는 정보로 콤마(,)로 구분하여 입력하는데, 보통 5개까지 입력할 수 있다. 그러나 증설시에 사용하는 국(局) 데이터 변경 명령(TCA)이나 SOD 명령 등은 동시에 다량의 파라미터를 필요로 하는데, 파라미터 수를 제한하지 않는다. 이 경우의 입력 형식은 Pt, Pt+1, ···Pt+n/···/PEND/로 파라미터군(群)을 「/」로 구분하고, 모든 파라미터의 종료시에는 PEND를 입력한다. 개개의 파라미터군 중의 파라미터는 콤마(,)로 구분하여 입력한다. 입력 방법은 플로피 디스크, 종이 테이프, MT로 가능하다. FORTRAN, PL/Ⅰ에서는 가인수(dummy argument)를 사용하고, ALGOL, BASIC, C 언어에서는 parameter를 사용한다. 이 용어는COBOL 에는 없다.
[주] 1. 특정 용도를 위해서 어느 일정한 값이 주어지는 변수이고, 또 그 용도를 나타낼 수 있는 것. 2. 절차 입구에 나타내는 식별자이고, 절차 실행을 일으키는 절차 호출 중에 대응하는 실인수와 결합된 것.
POJO [Plain Old Java Object]
Plain Old Java Object 혹은 POJO는 처음에 javax.ejb 인터페이스를 상속받지 않은, 무거운 EJB와는 반대로 경량의 자바 객체를 지칭하는 말로 소개되었다.
즉, POJO라는 이름은 특별하지도 않고, 특히 Enterprise JavaBean이 아닌 자바 객체를 강조한다. 이 이름은 Martin Fowler, Rebecca Parsons와 Josh MacKenzie에 의해 2000년 9월에 만들어졌다.
프레임워크에 종속된 복잡한 객체에 반대되는 간단한 객체를 설명하기 위한 용어의 필요성이 많아짐에 따라 POJO라는 이름은 점점 널리 쓰이게 되었다.
POJO 대표적인 예로, JavaBean을 들 수 있는데, JavaBean은 기본 생성자와 멤버 필드에 접근할 수 있는 getter/setter 메소드를 가진 serializable(직렬화가 가능한)한 객체를 의미한다.
POJO를 이용한 디자인이 널리 쓰임에 따라 POJO를 기본으로 하는 스프링이나 하이버네이트와 같은 프레임워크에서도 생겼다.
요즘에는 POJO는 (EJB 뿐만 아니라) 별도로 종속되지 않는 자바 객체를 통칭하여 의미한다.