정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 DB서버 — 쉘·커널·WAS·빌드 도구 구분

DB서버를 다루는 개발 환경 구축 단원에서는 운영체제의 쉘과 커널, 웹 애플리케이션 서버, 빌드 도구처럼 개발을 받쳐 주는 기반 요소를 구분해 묻는다. 각 요소가 어느 계층에서 무슨 일을 맡는지가 문제의 갈림길이 된다.

2026-11-08 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「DB서버」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
쉘과 커널 역할 경계 판단1쉘의 기능과 커널의 자원 관리 기능을 가리기
프로세스 생성 시스템 호출 식별1새 프로세스를 만드는 호출을 고르기
환경 변수 출력 명령어 식별1환경 변수 출력 명령어가 아닌 것을 가리기

뜻

UNIX 계열 시스템에서 쉘은 사용자와 커널 사이를 잇는 인터페이스이자 명령어 해석기이다. 사용자가 입력한 명령을 해석해 실행하고, 반복 작업을 위한 스크립트를 돌리고, 초기화 파일로 사용자 환경을 설정한다. Bash, Zsh, Csh처럼 여러 종류가 존재한다. 반면 프로세스 생성, 메모리 할당, 입출력 장치 제어 같은 자원 관리는 커널이 맡는다. 쉘은 이 서비스를 호출할 뿐 직접 관리하지 않는다.

변수의 범위도 구분해야 한다. 사용자가 만든 일반 변수는 export를 하지 않으면 현재 쉘에서만 통하고 자식 프로세스에는 전달되지 않는다. export는 변수를 자식 프로세스로 넘겨 전역처럼 쓰이게 하는 설정 명령어이고, 변수 값을 화면에 보는 일은 echo가 맡는다. export를 인자 없이 실행하면 현재 환경변수 목록을 출력한다.

환경 변수를 다루는 명령어로는 printenv와 env가 출력 쪽에, setenv가 설정 쪽에 있다. configenv는 UNIX 표준 환경 변수 출력 명령어가 아니다. 프로세스를 다루는 시스템 호출도 이름의 유래를 따라 구분한다. fork는 현재 프로세스를 복사해 자식 프로세스를 만들고, exec는 프로세스 이미지를 교체하며, exit은 수행을 종료한다. getpid는 자기 자신의 ID를, getppid는 부모 프로세스의 ID를 반환한다.

웹 애플리케이션 서버는 웹 서버가 받은 요청을 처리해 동적 페이지를 만드는 소프트웨어로, JEUS, Tomcat, WebSphere 등이 이에 해당한다. JVM은 자바 바이트코드를 실행하는 가상 머신으로 WAS의 실행 기반이지만 WAS 자체는 아니다. 빌드 도구는 소스의 컴파일과 테스트, 패키지 생성을 자동화하며 Ant, Maven, Gradle이 대표적이다. Kerberos는 네트워크 인증 프로토콜이므로 빌드 도구와 영역이 다르다.

메모리 적재와 관련해서는 지역성 원리를 적용한다. 시간 지역성은 같은 데이터를 자주 쓰는 성질, 공간 지역성은 인접한 데이터를 쓰는 성질이다. 스레싱은 페이지 교환에 드는 시간이 프로세스 수행 시간보다 길어지는 현상이며, 필요한 프레임이 부족할 때 발생하므로 프레임을 충분히 주는 것이 방지 대책이 된다.

예제

이 단원의 문제는 계층과 역할을 뒤섞어 함정을 만든다. 쉘이 프로세스나 기억장치를 직접 관리한다고 하거나, 프로세스와 메모리 관리를 쉘의 주요 기능으로 넣으면 틀리다. 변수 값을 보는 명령을 export로 바꾸거나, getppid가 자식 프로세스 ID를 얻는다고 하거나, RFC 2616을 HTTP 1.6의 명세서로 적는 선지도 함정이다. JVM을 WAS로, Kerberos를 빌드 도구로 분류하는 선지도 경계를 흐린다. 스레싱을 수행 시간이 교환 시간보다 클 때 발생한다고 뒤집는 서술 역시 정의와 어긋난다.

대표 기출 3문항

UNIX의 쉘(Shell)에 관한 설명으로 옳지 않은 것은?

  1. 명령어 해석기이다.
  2. 시스템과 사용자 간의 인터페이스를 담당한다.
  3. 여러 종류의 쉘이 있다.
  4. 프로세스, 기억장치, 입출력 관리를 수행한다.
정답과 해설 보기

정답 ④ · 유닉스 운영체제를 구성하는 쉘(Shell)의 기능과 역할을 파악하고 있는지 묻는 문제이다. 쉘은 사용자가 입력한 명령어를 해석하여 시스템에 전달하는 명령어 해석기이자 사용자와 커널 사이의 인터페이스 역할을 담당하며, 본 쉘, C 쉘, 배시 쉘 등 다양한 종류가 존재한다.

쉘은 명령어 해석기이자 사용자 인터페이스이나, 프로세스 및 자원 관리는 커널의 고유 기능이다.

UNIX에서 새로운 프로세스를 생성하는 명령어는?

  1. ls
  2. cat
  3. fork
  4. chmod
정답과 해설 보기

정답 ③ · 유닉스(UNIX) 운영체제에서 기존 프로세스로부터 새로운 프로세스를 복제하여 생성하는 시스템 호출을 묻고 있다. 유닉스 환경에서 fork는 부모 프로세스의 메모리와 실행 상태를 그대로 복제하여 새로운 자식 프로세스를 생성하는 시스템 호출이다.

UNIX에서 새로운 프로세스를 생성하는 시스템 호출은 fork이며, ls나 cat은 파일 관련 명령어이다.

UNIX SHELL 환경 변수를 출력하는 명령어가 아닌 것은?

  1. configenv
  2. printenv
  3. env
  4. setenv
정답과 해설 보기

정답 ① · UNIX 셸에서 환경 변수를 출력하는 명령어가 아닌 것을 고르는 문제이다. printenv와 env는 현재 설정된 환경 변수를 화면에 출력하는 표준 명령어이고, setenv도 환경 변수 관련 명령어로 쓰인다.

configenv는 UNIX 환경 변수 출력 명령어가 아니며 printenv, env, setenv는 관련 명령어이다.

자주 묻는 물음

쉘과 커널의 역할은 어떻게 다른가요?
쉘은 명령어 해석과 스크립트 실행, 환경 설정을 맡는 사용자 인터페이스이고, 프로세스와 메모리, 입출력 장치 같은 자원 관리는 커널이 맡는다.
export와 echo는 각각 무슨 일을 하나요?
echo는 변수 값을 화면에 출력하고, export는 변수를 자식 프로세스에 전달해 전역처럼 쓰이게 한다. export를 인자 없이 실행하면 현재 환경변수 목록을 출력한다.
WAS와 빌드 도구, 그리고 인증 프로토콜은 어떻게 구분하나요?
JEUS와 Tomcat, WebSphere는 웹 요청을 처리하는 WAS이고, Ant와 Maven, Gradle은 빌드를 자동화하는 도구이며, Kerberos는 네트워크 인증 프로토콜이다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.