정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 쉘 스크립트 — 명령어 해석기와 파이프라인

쉘 스크립트 세트는 유닉스에서 사용자와 커널 사이를 잇는 셸의 역할을 묻는다. 셸이 명령어를 해석해 커널에 전달하는 인터페이스라는 점, 프로세스·메모리 관리는 커널의 몫이라는 점, 그리고 파이프라인·환경 변수·제어문 같은 스크립트 요소를 구분하는 문제가 중심이다.

2026-10-19 기준 · 정보처리기사 대시보드

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

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

시험에 이렇게 나온다

출제기준 단원 「쉘 스크립트」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
분류에서 아닌 것 고르기1운영체제 프로그램 분류에서 제어 프로그램이 아닌 보기 가리기
개념 설명 옳지 않은 것 고르기2프로세스 적재 정책과 프로세스 구조 설명 중 어긋나는 보기 가리기

가장 자주 묻는 것은 개념 설명 옳지 않은 것 고르기입니다.

뜻

셸(Shell)은 사용자와 시스템 사이의 인터페이스를 담당하는 명령어 해석기다. 사용자가 입력한 명령어를 해석해 커널에 전달하고 실행을 요청한다. 유닉스에서 도스의 command.com과 같은 역할을 하는 것이 셸이다.

셸과 커널의 역할은 나누어 기억한다. 셸은 명령 해석과 환경 설정을 담당하고, 프로세스 관리와 메모리 관리, 시스템 자원 관리는 커널의 고유 기능이다. 따라서 '셸이 프로세스와 메모리를 관리한다'는 설명은 틀린 선지가 된다.

한 프로세스의 출력을 다른 프로세스의 입력으로 넘겨 순차적으로 처리하는 것을 파이프라인이라고 한다. 표준 출력과 표준 입력을 연결해 여러 명령을 이어 붙이는 방식이다.

bash 셸 스크립트의 제어문은 if, for, while 같은 기본 키워드로 이루어진다. 'repeat_do'처럼 목록에 없는 이름은 가짜 키워드로 걸러 낸다. 환경 변수도 함께 다룬다. export는 환경 변수를 자식 프로세스에 전달하는 역할이고, 변수 값을 화면에 출력하는 명령은 echo다. 환경 변수를 출력하는 명령으로는 printenv, env, setenv가 있고, configenv는 그런 명령이 아니다.

예제

선지 판단은 셸을 명령어 해석기이자 사용자 인터페이스로 읽는지, 프로세스·메모리 관리를 커널의 기능으로 돌리는지, 출력을 다음 프로세스의 입력으로 넘기는 것을 파이프라인으로 보는지, bash 제어문에 없는 repeat_do를 가려내는지, export를 자식 프로세스로의 환경 변수 전달로 이해하는지에서 갈린다.

대표 기출 3문항

운영체제를 기능에 따라 분류할 경우 제어 프로그램이 아닌 것은?

  1. 데이터 관리 프로그램
  2. 서비스 프로그램
  3. 작업 제어 프로그램
  4. 감시 프로그램
정답과 해설 보기

정답 ② · 운영체제는 크게 제어 프로그램과 처리 프로그램으로 나뉩니다. 제어 프로그램에는 감시 프로그램(Supervisor), 작업 제어 프로그램(Job Control), 데이터 관리 프로그램(Data Management)이 속합니다.

운영체제 기능 분류에서 서비스 프로그램은 처리 프로그램에 속하므로 ②가 제어 프로그램이 아니다.

프로세스 적재 정책과 관련한 설명으로 틀린 것은?

  1. 반복, 스택, 부프로그램은 시간 지역성(Temporal Locality)과 관련이 있다.
  2. 공간 지역성(Spatial Locality)은 프로세스가 어떤 페이지를 참조했다면 이후 가상주소공간상 그 페이지와 인접한 페이지들을 참조할 가능성이 높음을 의미한다.
  3. 일반적으로 페이지 교환에 보내는 시간보다 프로세스 수행에 보내는 시간이 더 크면 스레싱(Thrashing)이 발생한다.
  4. 스레싱(Thrashing) 현상을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 한다.
정답과 해설 보기

정답 ③ · 프로세스 적재 정책과 스레싱 발생 조건에 대한 설명 중 틀린 것을 찾는 문제이다. 스레싱은 페이지 교환에 소요되는 시간이 프로세스 수행 시간보다 커질 때, 즉 페이지 부재가 과다하여 실질적인 작업이 거의 이루어지지 못할 때 발생한다.

프로세스 적재 정책과 스레싱 발생 원인을 정확히 구분하여 오답을 찾는다.

프로세스와 관련한 설명으로 틀린 것은?

  1. 프로세스가 준비 상태에서 프로세서가 배당되어 실행 상태로 변화하는 것을 디스패치(Dispatch)라고 한다.
  2. 프로세스 제어 블록(PCB, Process Control Block)은 프로세스 식별자, 프로세스 상태 등의 정보로 구성된다.
  3. 이전 프로세스의 상태 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정을 문맥 교환(Context Switching)이라고 한다.
  4. 프로세스는 스레드(Thread) 내에서 실행되는 흐름의 단위이며, 스레드와 달리 주소 공간에 실행 스택(Stack)이 없다.
정답과 해설 보기

정답 ④ · 프로세스에 대한 설명 중 틀린 것을 고르는 문제이다. 스레드는 프로세스 안에서 실행되는 흐름의 단위이지 그 반대가 아니며, 프로세스는 독립적인 주소 공간과 자신만의 실행 스택을 보유하므로 4번이 틀린 설명이다.

프로세스는 스레드의 상위 개념으로, 주소 공간과 실행 스택을 독립적으로 보유한다.

자주 묻는 물음

셸은 무엇을 하는가요?
사용자와 시스템 사이의 인터페이스를 담당하며, 사용자가 입력한 명령어를 해석해 커널에 전달하는 명령어 해석기입니다. 도스의 command.com과 같은 역할입니다.
파이프라인이란 무엇인가요?
한 프로세스의 출력을 다른 프로세스의 입력으로 사용하는 것입니다. 표준 출력과 표준 입력을 연결해 여러 명령을 순차적으로 처리합니다.
프로세스와 메모리 관리는 누가 하나요?
커널입니다. 셸은 명령 해석과 환경 설정을 담당하고, 프로세스·메모리 같은 시스템 자원 관리는 커널의 고유 기능입니다.
이 개념 문제 10개 풀기 회원용

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