로더(Loader)

 

로더(loader)는 컴퓨터 운영 체제의 일부분으로, 하드디스크와 같은 오프라인 저장 장치에 있는 특정 프로그램을 - 대부분의 경우 응용 프로그램이지만, 경우에 따라서는 운영 체제 그 자신의 일부가 될 수도 있다. - 찾아서 주기억장치에 적재하고, 그 프로그램이 실행되도록 하는 역할을 담당한다.

 

적재되는 프로그램은 그 자체에 초기에는 주기억장치에 적재되지 않지만, 필요할 때 적재될 수 있는 요소들을 포함할 수 있다. 멀티태스킹이 지원되는 운영 체제에서, 디스패처(dispatcher)라는 프로그램은 서로 다른 태스크들 간에 컴퓨터 CPU의 할당시간을 조절하고, 특정 태스크와 관련된 프로그램이 주기억장치에 있지 않을 때에는 로더를 호출한다.

컴포넌트(Component)

: 컴포넌트는 각각 독립된 모듈을 뜻하며, 이는 흔히 JAVA와 같은 OOP언어 등의 Class 등의 개념과 다르다. 하나의 컴포넌트는 하나의 클래스로만 작성될 수 도, 여러 개의 클래스로도 작성될 수 있다. 컴포넌트 개념을 잘 적용한 소프트웨어란 부품(인터페이스를 구현받은 클래스)만 바꾸어 주었을 시, 오류 없이 잘 작동되는 것을 의미한다.

 

: 컴포넌트는 독립적인 단위모듈이다. 소프트웨어의 재사용을 쉽게하며, 유지보수 비용을 줄인다. 따라서 소프트웨어의 재사용의 중요성과 필용성에 필수적인 기술이다. (모듈, 라이브러리의 역할)

 

: 인터페이스는 사용자에게 해당 소프트웨어를 쓰기 위한 메서드(=장치)를 공개하고, 규격화된 메서드 환경에서 소프트웨어를 개발할 수 있는 환경을 제공해준다. 소프트웨어의 세부 내용은 인터페이스를 구현받은 클래스가 작성한다. 이렇게 함으로써 객체지향 개님은 정보은닉개념을 수행할 수 있을 뿐더러, 각각 독립된 모듈로 소프트웨어를 만들 수 있도록 크게 이바지 한다.

 

 

프로시저(Procedure)

: 프로시져는 프로그램에서 특정 동작을 수행하는 이름이 주어진 일정 부분이다. (함수의 역할)

 

: 프로시져는 특정 동작이나 연산을 위한 명령들을 별도로 마련하여 필요할 때마다 사용하는 것으로 프로그램에서 이름을 부를 때마다 실행이 된다. 이 때 프로시져에서 사용한 값을 매개변수를 통하여 전달하기도 한다.

 

: 프로시져는 컴퓨팅 사고의 요소 중의 하나의 추상화를 프로그램으로 만들 수 있는 방법을 제시하고 있으므로 컴퓨팅 사고에 의한 문제 해결 방법을 프로그래밍하는데 중요한 역할을 할 수 있다.

 

저장 프로시저(Stored procedure)

: 저장 프로시저 또는 스토어드 프로시저는 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. 데이터베이스에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한(지속성) 것으로, 영구저장모듈이라고도 불린다.

 

: 데이터베이스 언어 표준 SQL에서는 SQL / PSM 기준으로 책정되어 있다. 벤터(제조사) 각사 모두 정적, 동적 SQL에 커서 처리 및 제어 구문, 예외 처리 등을 포함한 사양의 확장 언어로 절차를 설명할 수 있는 DBMS를 제공하는 경우가 많다. 또한 C 언어로 작성된 컴파일한 외부 모듈(공유 라이브러리) 및 Java 클래스 라이브러리에서 함수나 클래스 메소드를 호출하는 것으로 실현하는 '외부 프로시저' 기능을 구현하는 것도 있다. 저장프로시저를 사용하여 다음과 같은 장점이 있다.

 

1. 하나의 요청으로 여러 SQL문을 실행할 수 있다. (네트워크에 대한 부하를 줄일 수 있다.)

2. 미리 구문 분석 및 내부 중간 코드로 변환을 끝내야 하므로 처리 시간이 줄어든다.

3. 데이터베이스 트리거와 결합하여 복잡한 규칙에 의한 데이터의 참조무결성 유지가 가능하게 된다. 간단히 말하면 응용 프로그램 측 로직을 가지지 않고도 데이터베이스의 데이터 앞뒤가 맞게 될 수 있다.

4. Java 등의 호스트 언어와 SQL 문장이 확실하게 분리된 소스 코드의 전망이 좋아지는 것, 또한 웹사이트 등 운용 중에도 저장 프로시저의 고체에 의한 수정이 가능하기 때문에 보수성이 뛰어나다

 

저장 프로시저를 많이 사용하면 다음과 같은 단점이 있다.

1. 데이터베이스 제품에 대해 설명하는 구문 규칙이 SQL / PSM 표준과의 호환성이 낮기 때문에 코드 자산으로의 재사용성이 나쁘다.

2. 비즈니스 로직의 일부로 사용하는 경우 업무의 사양 변경 시 외부 응용 프로그램과 함께 저장프로시저의 정의를 변경할 필요가 있다. 이때 불필요한 수고와 변경 실수에 의한 장애를 발생시킬 가능성이 있다.

명령어(Commend)

 

: 전산학에서 명령어(Commend)는 셀 환경 등에서 프로그램 실행을 위해 일반 사용자가 입력하는 언어를 뜻함.

 

: 전산학에서 명령어(Instruction)은 컴퓨터 아키텍처 내부에서 중앙처리장치의 단일 동작(연산)을 뜻함.

 

: 프로그래밍에서 명령어는 명령문(Statement) 또는 함수를 뜻함.

프로세스(Process)

 

: 컴퓨터 내에서 실행중인 프로그램을 일컫는 용어

 

: 여러 분야에서 과정 또는 처리라는 뜻으로 사용되는 용어로, 컴퓨터 분야에서는 '실행 중인 프로그램'이라는 뜻으로 쓰인다. 1960년대 중반 멀틱스(Multics: multiplexed information and computing service) 시스템을 설계한 벨전화연구소의 연구원들이 처음 사용했다고 알려져 있다. 프로그램 또는 그 일부를 뜻하기도 하고, 데이터의 입력이나 출력 등을 조작하거나 처리하는 것을 말하기도 한다.

 

: 부모프로세스(parent process)라는 상위계층과 자식프로세스(child process)라는 하위계층이 존재한다. 부모프로세스는 프로그램이나 명령어에 의해 시작되며, 자식프로세스는 부모프로세스에 의해 만들어지는 것을 말한다. 하나의 부모프로세스는 여러 개의 자식프로세스를 관리하는데, 여러 개의 자식프로세스가 하나의 CPU에서 동시에 처리되는 것처럼 보이는 것을 멀티태스킹(multitasking)이라고 한다.

 

: 리엔지니어링에서는 과업이 아닌 연속적 업무의 묶음을 말한다. 예를 들어, 주문프로세스는 소비자의 주문이 접수되는 단계에서 주문 품목이 소비자에게 전달되기까지의 모든 과정을 의미한다. ISO9000시리즈 개정 2000판에서는 '입력을 출력으로 변환시키는, 상호관련되거나 상호작용하는 활동의 집합'이라고 정의하였다.

 

 

 

 

 

쓰레드(Thread) -- 프로그램을 실행할 때, 프로그램 안에 존재하는 실행 코드들

 

: 컴퓨터 프로그램 수행 시 프로세스 내부에 존재하는 수행 경로, 즉 일련의 실행 코드. 프로세스는 단순한 껍데기일 뿐, 실제 작업은 쓰레드가 담당한다. 프로세스 생성 시 하나의 주 쓰레드가 생성되어 대부분의 작업을 처리하고 주 쓰레드가 종료되면 프로세스도 종료된다. 하나의 운영 체계에서 여러 개의 프로세스가 동시에 실행되는 환경이 멀티태스킹이고, 하나의 프로세스 내에서 다수의 쓰레드가 동시에 수행되는 것이 멀티쓰레딩이다.

 

 

 

 

 

 

셸(Shell : 지령 해석 프로그램)

 

: 운영체제상에서 다양한 운영체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램

 

: 셸은 일반적으로 명령줄과 그래픽 형의 두 종류로 분류로,

 

: 명령줄 셸은 운영체제 상에서 명령줄 인터페이스(CLI)를 제공하는 반면에,

 

: 그래픽 셸은그래픽 사용자 인터페이스(GUI)를 제공.

피클모듈(Pickle module) -- "객체구조 직렬화 모듈"

 

: 파이썬 객체구조를 직렬화하고 역직렬화하기 위한 바이너리 프로토콜 구현

 

: 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러 올 수 있게 하는 모듈

 

 

직렬화(Serialization) -- "Byte 형태로 데이터 변환 기술"

 

: 객체(Object) 또는 데이터(Data)를 외부의 자바시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술 

 

: JAVA 기준, JVM(Java Virual Machine)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술

 

: 데이터스토리지문맥에서 데이터구조나 오브젝트 상태를 다른 컴퓨터 환경에 저장(이를테면, 버퍼에서 또는 메모리 버퍼 또는 네트워크 연결 링크 간 전송)하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정

 

: 객체직렬화란 객체를 일렬로 늘어선 바이너리 형태로 만들어 파일이나 네트워크를 통해 스트림(송수신)이 가능하도록 만드는 것을 직렬화를 통해 만들어진 바이트를 다시 객체를 변환하는 것을 역직렬화하고 한다.

+ Recent posts