개발환경을 갖춘다는 것은 프로그램을 작성하고 실행하는 데 필요한 소프트웨어와 하드웨어의 역할을 이해하는 일에서 시작한다. 하드웨어를 제어하는 운영체제, 객체 파일을 메모리에 올리는 로더, 여러 프로세스에 CPU 시간을 배분하는 스케줄링이 각각 어디에 속하는지를 구분해야 한다.
운영체제는 하드웨어 장치와 사용자 또는 응용 프로그램 사이에서 하드웨어와 소프트웨어 자원을 총괄하는 프로그램이다. 복잡한 하드웨어 제어를 사용자가 직접 다루지 않아도 되도록 중개자 역할을 하며, 여러 프로그램이 충돌 없이 실행되도록 자원을 배분한다. 컴파일러, DBMS, 디버거는 모두 운영체제 위에서 작동하는 특수 목적의 도구이지 시스템 전체를 제어하는 중개자는 아니다.
로더는 컴파일된 객체 파일을 메모리에 올려 실행 가능하게 만드는 시스템 소프트웨어다. 링킹, 재배치, 할당이 로더의 대표 기능이다. 링킹은 여러 객체 파일을 하나의 실행 파일로 연결하는 작업이고, 재배치는 프로그램이 메모리의 어느 위치에 올라가든 정상 동작하도록 주소 정보를 수정하는 작업이며, 할당은 메모리 공간을 프로그램에 배정하는 작업이다. 반면 스케줄링은 운영체제가 프로세스에 CPU를 사용할 순서를 결정하는 기능이므로 로더의 범위를 벗어난다.
스케줄링은 수행·대기·준비 상태를 반복하는 여러 프로세스에 중앙처리장치 사용 시간을 할당하는 것이다. CPU라는 한정된 자원을 어떻게 배분하느냐가 시스템의 성능과 응답 속도를 결정한다. 파티션은 메모리를 나누는 개념, 프래그멘테이션은 조각남, 옵티마이즈는 최적화를 뜻하므로 시간 할당과는 구분된다.
명령어는 무엇을 할지를 나타내는 명령 코드부(Op Code)와 어디서 할지를 나타내는 번지부(Address)로 구성된다. 명령어 종류의 수는 오퍼 코드 비트 수 n에 대해 2의 n제곱으로 결정되며, 나머지 비트는 주소 등에 할당되어도 종류 수에는 영향을 주지 않는다.
윈도 환경에서는 시작 메뉴의 문서 목록이 최근 작업 파일의 바로가기나 레지스트리 기록을 관리한다. 이 목록을 지우는 것은 메타데이터를 제거하는 일이지 실제 파일을 삭제하는 일이 아니다. 보조 프로그램 폴더에는 메모장·그림판·계산기 같은 실행 프로그램이 들어 있고, 프린터는 제어판에서 관리하는 외부 장치 항목이다. 현재 창을 종료하는 표준 단축키는 Alt+F4다.
예제
로더의 기능을 묻는 문항은 링킹·재배치·할당을 로더의 기능으로 제시하고 스케줄링을 섞어 넣는다. 스케줄링은 CPU 자원 할당을 담당하는 운영체제의 기능이므로 로더의 기능이 아니라는 점을 가려내야 한다.
명령어 종류 수를 묻는 계산은 오퍼 코드 비트 수만 본다. 8비트를 1워드로 쓰는 컴퓨터에서 오퍼 코드가 3비트라면 종류는 2의 3제곱인 8가지다. 나머지 5비트는 주소 등에 쓰이므로 종류 수 계산에 넣지 않는다.
대표 기출 3문항
"윈도 98"에서 시작 메뉴의 문서 부분에는 최근에 작업한 파일들의 목록을 가지고 있어 쉽게 작업을 재개할 수 있도록 하고 있다. 이 문서 부분에 등록된 최근 작업 파일 목록을 지우는 방법에 관한 설명으로 옳지 않은 것은?
시작 메뉴 → 설정 → 작업 표시줄 및 시작 메뉴 → 시작 메뉴 프로그램 → 문서 지우기를 선택하면 전체 내용을 한번에 지울 수 있다.
윈도 98에서는 문서 부분에 나타난 해당 문서를 우측 마우스를 이용하여 선택하고 서브 메뉴가 나타나면 삭제를 선택하여 지울 수 있다.
문서 메뉴의 최근 작업 파일 목록을 지우면 그 파일 자체가 삭제된다.
정답과 해설 보기
정답 ④ · 문제는 윈도 98의 시작 메뉴 문서 목록에 저장된 최근 작업 파일 목록을 제거하는 방법들 중 옳지 않은 설명을 찾으라고 묻고 있다. 최근 문서 목록은 실제 파일이 아니라 바로가기나 레지스트리의 메타데이터를 지우는 것이므로 목록을 삭제해도 원본 파일은 그대로 남는다.
최근 문서 목록은 레지스트리나 폴더의 바로가기만 관리하므로, 목록을 지워도 실제 파일은 삭제되지 않는다.
컴퓨터 시스템을 구성하고 있는 하드웨어 장치와 일반 컴퓨터 사용자 또는 컴퓨터에서 실행되는 응용 프로그램의 중간에 위치하여 사용자들이 보다 쉽고 간편하게 컴퓨터 시스템을 이용할 수 있도록 컴퓨터 시스템을 제어하고 관리하는 프로그램은?
컴파일러
운영체제
DBMS
디버거
정답과 해설 보기
정답 ② · 문항은 하드웨어와 응용 프로그램 사용자 사이에서 시스템을 제어·관리하며 자원 관리를 제공하는 프로그램이 무엇인지 묻고 있다. 하드웨어 추상화와 CPU·메모리·입출력 자원 스케줄링 등을 담당하는 시스템 소프트웨어는 운영체제이며 사용자에게 편리한 인터페이스를 제공한다.
운영체제는 하드웨어와 사용자 간 중개자 역할을 하여 자원 관리와 편의성을 제공하는 핵심 시스템 소프트웨어입니다.
"윈도 98"에서 현재 선택된 프로그램 창을 종료하는 단축키는?
Alt + F4
Alt + F1
Shift + ESC
Ctrl + ESC
정답과 해설 보기
정답 ① · 문제는 윈도 98에서 현재 선택된 프로그램 창을 종료하는 단축키를 묻고 있다. 윈도 환경에서 활성 창을 닫는 표준 단축키는 Alt+F4로, 이를 누르면 해당 창이 종료된다.