1 Describe the difference between system software and application software and provide examples of each
• System software provides the services that the computer requires, including operating system and utility software • Application software provides the services that the user requires
2 Describe the role and basic functions of an operating system
• Including: – managing files – handling interrupts – providing an interface – managing peripherals and drivers – managing memory – managing multitasking – providing a platform for running applications – providing system security – managing user accounts
3 Understand how hardware, firmware and an operating system are required to run applications software
• Applications are run on the operating system • The operating system is run on the firmware • The bootloader (firmware) is run on the hardware
4 Describe the role and operation of interrupts
• Including: – how an interrupt is generated – how it is handled using an interrupt service routine – what happens as a result of the interrupts • Software interrupts include division by zero and two processes trying to access the same memory location • Hardware interrupts include pressing a key on the keyboard and moving the mouse
Source: Cambridge International syllabus · 출처: Cambridge International syllabus
English
Software is split into two types.
System software
System software 系统软件 controls the computer itself and gives a base for other programs to run on. Examples:
operating system 操作系统 (see below);
compiler 编译器 and linker 链接器 (tools that turn programs into a form the computer can run);
device driver 设备驱动程序 — software that lets the operating system control a piece of hardware;
utility software 实用程序 — small tools that look after the computer (for example anti-virus, backup, disk clean-up).
Below the operating system sits firmware 固件 – software stored permanently on ROM or flash that runs the moment the computer is switched on. The BIOS and the bootloader 引导程序 are firmware: they test the hardware and then load the operating system. So the layers stack up hardware → firmware → operating system → application software, each running on the layer below.
Application software
Application software 应用软件 lets the user do a useful task. Examples:
word processing 文字处理 software (writing documents);
spreadsheet 电子表格 software (working with numbers in a grid);
database management system 数据库管理系统 (storing and searching data);
web browser 网页浏览器 (viewing web pages).
System software
Application software
Job
runs and manages the computer
helps the user do a task
Used by
the computer (in the background)
the user (directly)
Examples
operating system, drivers, utilities
word processor, browser, games
한국어
소프트웨어는 두 가지 유형으로 나뉩니다.
소프트웨어는 컴퓨터를 구동하는 시스템 소프트웨어와 사용자가 작업을 수행할 수 있게 하는 애플리케이션 소프트웨어로 나뉩니다
시스템 소프트웨어
시스템 소프트웨어는 컴퓨터 자체를 제어하고 다른 프로그램들이 실행될 수 있는 기반을 제공합니다. 예시:
운영 체제 (아래 참조);
컴파일러 및 링크러(프로그램을 컴퓨터가 실행 가능한 형태로 변환하는 도구);
디바이스 드라이버—운영 체제가 하드웨어를 제어할 수 있게 해주는 소프트웨어;
유틸리티 소프트웨어—컴퓨터를 관리하는 작은 도구들(예: 안티바이러스, 백업, 디스크 클린업).
운영 체제 아래에는 펌웨어가 위치합니다. 펌웨어는 ROM이나 플래시에 영구적으로 저장되어 있어 컴퓨터 전원이 켜지는 즉시 실행됩니다. BIOS와 부팅 로더는 펌웨어로, 하드웨어를 테스트한 후 운영 체제를 로드합니다. 따라서 계층은 하드웨어 → 펌웨어 → 운영 체제 → 애플리케이션 소프트웨어로 쌓이며, 각 층은 아래 층 위에서 실행됩니다.
애플리케이션 소프트웨어
애플리케이션 소프트웨어는 사용자가 유용한 작업을 수행할 수 있게 합니다. 예시:
워드 프로세싱 소프트웨어(문서 작성);
스프레드시트 소프트웨어(표 그리기 형식의 숫자 작업);
데이터베이스 관리 시스템(데이터 저장 및 검색);
웹 브라우저(웹 페이지 보기).
시스템 소프트웨어
애플리케이션 소프트웨어
역할
컴퓨터를 실행하고 관리함
사용자의 작업 수행 지원
사용 대상
컴퓨터(백그라운드에서)
사용자(직접)
예시
운영 체제, 드라이버, 유틸리티
워드 프로세서, 브라우저, 게임
4.1
The operating system · 운영 체제
English
An operating system (OS) is the main system software. It controls the whole computer and lets the hardware, the application software and the user work together. Without an OS the computer is very hard to use.
The OS has many roles:
managing files — saving, opening, naming, moving and deleting files;
handling interrupts (see below);
providing a user interface 用户界面 so the user can control the computer;
managing memory — deciding what is kept in RAM and where;
managing peripherals 外围设备 and their drivers — controlling devices like printers;
managing multitasking 多任务处理 — letting several programs run at once;
providing a platform 平台 for running application software;
managing security — user accounts, passwords and access rights.
한국어
운영 체제(OS)는 주요 시스템 소프트웨어입니다. 전체 컴퓨터를 제어하고 하드웨어, 애플리케이션 소프트웨어, 사용자가 협력하도록 돕습니다. OS가 없으면 컴퓨터 사용이 매우 어렵습니다.
운영 체제는 하드웨어와 애플리케이션 소프트웨어 및 사용자 사이에 위치하여 그들이 협력할 수 있도록 합니다
OS는 다양한 역할을 수행합니다:
파일 관리—파일 저장, 열기, 이름 지정, 이동 및 삭제;
인터럽트 처리(아래 참조)
사용자 인터페이스 제공 — 사용자가 컴퓨터를 제어할 수 있도록 함;
메모리 관리 — RAM에 무엇을 저장하고 어디에 배치할지 결정함;
주변기기 및 드라이버 관리 — 프린터 등의 장치를 제어함;
멀티태스킹 관리 — 여러 프로그램을 동시에 실 가능하게 함;
응용 프로그램 실행 플랫폼 제공;
보안 관리 — 사용자 계정, 비밀번호 및 접근 권한을 관리함.
4.1
Interrupts · 인터럽트
English
An interrupt 中断 is a signal sent to the processor 处理器 to tell it that something needs attention now.
An interrupt can come from three sources:
hardware — for example a key is pressed, or a printer runs out of paper;
software — for example a program tries to divide by zero;
the user — for example the user presses a "cancel" key.
When an interrupt arrives, the processor stops what it is doing, saves its place, and services (deals with) the interrupt. When that is done, it goes back to what it was doing before. This lets the computer react quickly to important events.
한국어
**중단(interrupt)**은 프로세서에 현재 주의를 요하는 일이 발생했음을 알리는 신호입니다.
중단은 세 가지 출처에서 발생할 수 있습니다:
하드웨어 — 예를 들어 키를 누르거나 프린터 용지가 소진된 경우;
소프트웨어 — 예를 들어 프로그램이 0으로 나누기를 시도한 경우;
사용자 — 예를 들어 사용자가 "취소" 버튼을 누른 경우.
중단이 발생하면 프로세서는 현재 수행 중인 작업을 정지하고 위치를 저장한 뒤, 해당 중단을 **처리(services)**합니다. 처리가 완료되면 다시 이전 작업으로 돌아갑니다. 이를 통해 컴퓨터는 중요한 사건에 빠르게 대응할 수 있습니다.
중단 시 CPU는 위치를 저장하고 중단 처리 routine을 실행한 후, 위치를 복원하여 계속 진행함
Explore · 탐색하기
How the CPU handles an interrupt · CPU가 인터럽트를 처리하는 방법
Step through an interrupt. The CPU pauses what it's doing, deals with the urgent event, then carries on exactly where it left off — which is how one processor juggles the keyboard, printer and timer at once. · 인터럽트 단계를 확인하세요. CPU가 현재 작업을 일시 중지하고緊急 이벤트를 처리한 후, 정확히中断之前의 지점으로 다시 진행합니다 — 이것이 하나의 프로세서가 키보드, 프린터, 타이머를 동시에 처리하는 방법입니다.
central processing unit/ˈsentrəl ˈprəʊsesɪŋ ˈjuːnɪt/
중앙 처리 장치(central processing unit)
programming language/ˈprəʊɡræmɪŋ ˈlæŋɡwɪdʒ/
프로그래밍 언어
high-level language/haɪ ˈlevl ˈlæŋɡwɪdʒ/
고수준 언어(high-level language)
low-level language/ləʊ ˈlevl ˈlæŋɡwɪdʒ/
저수준 언어
4.2
Programming languages · 프로그래밍 언어
Syllabus
English
Candidates should be able to:
Notes and guidance
1 Explain what is meant by a high-level language and a low-level language, including the advantages and disadvantages of each
• Advantages and disadvantages include: – ease of reading and writing code, e.g. low-level is hard to read – ease of debugging code – machine independence – direct manipulation of hardware
2 Understand that assembly language is a form of low-level language that uses mnemonics, and that an assembler is needed to translate an assembly language program into machine code
3 Describe the operation of a compiler and an interpreter, including how high-level language is translated by each and how errors are reported
• A compiler translates the whole code at once before executing it, producing an executable file • An interpreter translates and executes the code line-by-line • A compiler provides an error report for the whole code if errors are detected • An interpreter stops execution when an error is found
4 Explain the advantages and disadvantages of a compiler and an interpreter
• Including an understanding that an interpreter is mostly used when developing a program and a compiler is used to translate the final program
5 Explain the role of an IDE in writing program code and the common functions IDEs provide
• 장단점 예시: – 코드 읽기 및 작성 용이성(예: 저수준 언어는 읽기 어려움), – 디버깅 용이성, – 기계 독립성, – 하드웨어 직접 조작
2 어셈블리 언어가(elemics)를 사용하는 저수준 언어의 일종이며, 어셈블러를 사용하여 어셈블리 언어 프로그램을 머신 코드로 변환해야 함을 이해
3 컴파일러와 인터프리터의 작동 원리를 설명하며, 고수준 언어가 각각 어떻게 번역되고 오류가 보고되는지도 포함
• 컴파일러는 실행 전에 전체 코드를 한 번에 번역하여 실행 가능한 파일을 생성함 • 인터프리터는 코드를 줄 단위로 번역하고 즉시 실행함 • 컴파일러는 오류가 감지될 경우 전체 코드에 대한 오류 보고서 제공 • 인터프리터는 오류 발견 시 즉시 실행 중단
4 컴파일러와 인터프리터의 장단점을 설명
• 인터프리터는 주로 프로그램 개발 과정에서 사용되며, 컴파일러는 최종 프로그램을 번역하는 데 사용된다는 이해 포함
5 IDE가 프로그래밍 코드 작성에서 담당하는 역할과 IDE가 제공하는 일반적인 기능을 설명
• 다음 포함: – 코드 에디터, – 실행 환경, – 번역기, – 오류 진단, – 자동 완성, – 자동 수정, –prettyprint
Source: Cambridge International syllabus · 출처: Cambridge International syllabus
English
All computers process data using the central processing unit 中央处理器 (CPU). To make the CPU do work, people write programs in a programming language 编程语言. There are two kinds.
High-level languages
A high-level language 高级语言 is written in words that look a bit like English (for example Python). It is:
easy for people to read, write and fix;
independent of the computer — the same program can run on different types of computer.
Low-level languages
A low-level language 低级语言 is close to what the hardware actually uses. It includes:
machine code 机器码 — instructions written in binary (0s and 1s), which the CPU runs directly;
assembly language 汇编语言 — machine code written with short word codes (mnemonics) instead of binary.
A low-level language relates to the specific 特定的 type of CPU, so a program written for one CPU may not run on another. It is used when the programmer needs full control of the hardware or very fast, small code.
한국어
모든 컴퓨터는 **중앙 처리 장치(CPU)**를 사용하여 데이터를 처리합니다. CPU에게 작업을 수행하게 하기 위해 사람들은 프로그래밍 언어로 프로그램을 작성합니다. 크게 두 가지 유형이 있습니다.
고수준 언어
고수준(high-level) 언어는 영어와 유사한 단어(예: Python)로 작성됩니다. 다음과 같은 특징이 있습니다:
사람들이 읽고, 쓰고, 수정하기 쉬움;
컴퓨터에 독립적임 — 동일한 프로그램이 다양한 유형의 컴퓨터에서 실행 가능함.
저수준 언어
저수준(low-level) 언어는 하드웨어가 실제로 사용하는 방식에 가깝습니다. 다음을 포함합니다:
머신 코드(machine code) — 이_Handle(0과 1)로 작성된 명령어로, CPU가 직접 실행함;
어셈블리 언어(assembly language) — 이_Handle 대신 짧은 단축 부호(mnemonic)로 작성된 머신 코드.
저수준 언어는 특정 CPU 유형과 관련되므로, 한 CPU용으로 작성된 프로그램이 다른 CPU에서는 실행되지 않을 수 있습니다. 프로그래머가 하드웨어에 대한 완전한 제어를 원하거나 매우 빠르고 작은 코드가 필요한 경우에 사용됩니다.
고수준 언어는 인간 언어에 가까워 어떤 컴퓨터에서도 실행되며, 저수준 언어(어셈블리 및 머신 코드)는 하드웨어에 가까워 특정 CPU 유형에만 종속됨
Explore · 탐색하기
Computing concept lab · 컴퓨팅 개념 실험실
Classify concrete examples by the computing idea they demonstrate. · 구체적인 예시를 그들이 시연하는 컴퓨팅 개념에 따라 분류하십시오.
The CPU can only run machine code. A high-level program must first be changed into machine code. The software that does this is a translator 翻译程序. There are three types: a compiler and an interpreter (for high-level code), and an assembler (for low-level code).
Compiler
A compiler translates the whole program into machine code before it is run. After translating, the machine code can be run many times without translating again.
translation happens once, in full;
it reports all the errors together, at the end of translating;
the finished program runs fast and does not need the compiler to run.
Interpreter
An interpreter 解释器 translates and runs the program one line at a time.
it stops at the first error it finds, which helps when testing;
the program runs more slowly, because it is translated each time it runs;
the interpreter must be present every time the program runs.
Compiler
Interpreter
Translates
the whole program at once
one line at a time
Errors
all reported at the end
stops at the first error
Speed of finished program
faster
slower
Needed to run later?
no
yes
Use a compiler when you want to share a fast, finished program. Use an interpreter when you are writing and testing a program and want to find errors easily.
Assembler
An assembler 汇编器 translates a low-level assembly-language program (written in mnemonics such as LDA, ADD) into machine code. Each mnemonic becomes one machine instruction – a direct one-to-one translation, unlike a compiler or interpreter, which work on high-level code.
Worked example. A team is writing a program. While developing it they want to find and fix errors quickly; when they ship it they want customers to run it fast without seeing the source code. Which translator suits each stage? While developing, use an interpreter: it translates and runs one line at a time and stops at the first error, so a mistake is easy to locate. To ship, use a compiler: it translates the whole program once into machine code, which then runs quickly with no translator present, and the customer receives only the executable rather than the source. The two are not rivals - name the stage and give the reason, because "a compiler is faster" on its own earns nothing.
한국어
CPU는 머신 코드만 행할 수 있습니다. 고수준 프로그램은 먼저 머신 코드로 변환되어야 합니다. 이를 수행하는 소프트웨어를 **번역기(translator)**라고 합니다. 세 가지 유형이 있습니다: 고수준 코드를 위한 컴파일러(compiler) 및 인터프리터(interpreter), 그리고 저수준 코드를 위한 어셈블러(assembler).
컴파일러
컴파일러는 실행 전에 전체 프로그램을 머신 코드로 번역합니다. 번역 후, 머신 코드는 다시 번역하지 않고 여러 번 실행할 수 있습니다.
번역이 한 번에 전체적으로 이루어짐;
번역이 끝난 후 모든 오류를 함께 보고함;
완성된 프로그램이 빠르게 실행되며, 실행 시 컴파일러가 필요하지 않음.
인터프리터
인터프리터는 프로그램을 한 줄씩 번역하여 실행합니다.
첫 번째 오류를 발견하면 즉시 정지하므로, 테스트 시 유용함;
매 실행 시 번역되므로 프로그램 실행 속도가 느림;
프로그램 실행 시마다 인터프리터가 반드시 존재해야 함.
컴파일러
인터프리터
변환
전체 프로그램을 한 번에
줄 단위로
오류
모두 끝난 후 보고됨
첫 번째 오류에서 중단됨
완성된 프로그램의 속도
빠름
느림
추후 실행에 필요?
아님
있음
빠르고 완성된 프로그램을 공유하려면 컴파일러를 사용하십시오. 프로그램을 작성하고 테스트하며 오류를 쉽게查找하려면 인터프리터를 사용하십시오.
어셈블러
어셈블러는 단축 부호(예: LDA, ADD)로 작성된 저수준 어셈블리 언어 프로그램을 머신 코드로 번역합니다. 각 단축 부호는 하나의 머신 명령어로 변환되며, 이는 컴파일러나 인터프리터가 고수준 코드를 다루는 것과 달리 직접적인 일대일 번역입니다.
컴파일러는 전체 프로그램을 한 번에 머신 코드로 번역하고, 인터프리터는 한 줄씩 번역하여 실행함
풀이 예제. 팀이 프로그램을 작성하고 있습니다. 개발 중에는 오류를 빠르게查找하고 수정하고 싶으며, 출시 시에는 고객이 소스 코드를 보지 않고 빠르게 실행할 수 있게 하고 싶습니다. 각 단계에 적합한 번역기는 무엇인가? 개발 단계에서는 인터프리터를 사용하십시오: 한 줄씩 번역하여 실행하고 첫 번째 오류에서 정지하므로 실수를 쉽게 locating할 수 있습니다. 출시 단계에서는 컴파일러를 사용하십시오: 전체 프로그램을 한 번에 머신 코드로 번역하여, 번역기가 없어도 빠르게 실행되며, 고객은 소스가 아닌 실행 파일만 받습니다. 두 도구는 경쟁 관계가 아닙니다—단계를 명시하고 이유를 제시하십시오. 단순히 "컴파일러가 더 빠르다"라고만 답하면 채점되지 않습니다.
integrated development environment/ˈɪntɪɡreɪtɪd dɪˈveləpmənt enˈvaɪrənmənt/
통합 개발 환경
code editor/kəʊd ˈedɪtə/
코드 에디터(code editor)
run time environment/rʌn taɪm enˈvaɪrənmənt/
런타임 환경(run time environment)
error diagnostics/ˈerə ˌdaɪəɡˈnɒstɪks/
에러 진단(error diagnostics)
auto-completion/ˈɔːtəʊ kəmˈpliːʃn/
자동 완성(auto-completion)
auto-correction/ˈɔːtəʊ kəˈrekʃn/
자동 수정(auto-correction)
prettyprinting/ˈpretɪprɪntɪŋ/
예쁜 출력(prettyprinting)
user interface/ˈjuːzə ˈɪntəfeɪs/
사용자 인터페이스(user interface)
peripherals/pəˈrɪfərəlz/
주변 기기(peripherals)
multitasking/ˈmʌltitæskɪŋ/
멀티태스킹
platform/ˈplætfɔːm/
플랫폼(platform)
4.2
Exam tips · 시험 팁
English
Hardware is the physical parts; software is the programs. System software runs the computer (OS, drivers, utilities); application software does a task for the user.
A compiler translates the whole program at once (the finished program runs fast, and all errors are reported at the end); an interpreter translates line by line (it stops at the first error, runs slower, and is needed every time).
High-level languages are close to English and run on any computer; low-level languages (assembly, machine code) are tied to one type of CPU.
An interrupt is a signal that makes the CPU stop, save its place, service the event, then carry on where it left off.
Learn the operating system's roles: managing files, memory, peripherals, multitasking, security and the user interface.
한국어
하드웨어는 물리적인 부품이며, 소프트웨어는 프로그램입니다. 시스템 소프트웨어는 컴퓨터를 구동하며(OS, 드라이버, 유틸리티), 응용 소프트웨어는 사용자를 위해 특정 작업을 수행합니다.
컴파일러는 전체 프로그램을 한 번에 번역합니다(완성된 프로그램은 빠르게 실행되며, 모든 오류는最後に 보고됩니다). 인터프리터는 줄 단위로 번역합니다(첫 번째 오류에서 멈추고, 속도가 느리며, 매번 필요합니다).
고수준(high-level) 언어는 영어에 가깝고 모든 컴퓨터에서 실행되며, 저수준(low-level) 언어(어셈블리, 머신 코드)는 특정 CPU 유형에 종속됩니다.
**interrupt(이벤트)**는 CPU가 정지하여 현재 위치를 저장하고 이벤트를 처리한 후, 다시 중단되었던 지점으로 계속하도록 하는 신호입니다.
운영체제의 역할: 파일 관리, 메모리 관리, 주변기기 제어, 멀티태스킹, 보안 및 사용자 인터페이스를 이해한다.
Interactive lessons on this topic · 이 주제에 대한 인터랙티브 수업
Work through it step by step, with instant-check exercises. · 즉시 체크 기능 exercises를 통해 단계별로 진행하세요.