본문 바로가기

공부 : 금융공학, 금융, 통계, 공학, 경제 등

소프트웨어 중심사회의 컴퓨터개론 - 중간고사 대비 Problem set 2.

난 중간고사 잘 봤다.

수고하세요~

 

[1장 제4차 산업혁명 시대의 스마트한 생활]

  • [T/F]MOOC(Massive Open Online Course)는 수강자의 수에 제한이 없으며 자격조건 없이 누구나 무료로 수강할 수 있는 온라인 교육과정이다. - T
  • [T/F] 에덱스(edx), 코세라(coursera), 유다시티(udacity)는 모두 MOOC 사이트의 일종이다. - T
  • MOOC 과정 중 아이버서티(iversity), 펀(fun-mooc), 퓨처런(futurerun)은 각각 어떤 나라의 주도로 세워졌는가? - 독일, 프랑스, 영국
  • 나노디그리(Nanodegree)와 유다시티(Udacity)는 어떤 관계인가? - 나노디그리는 유다시티가 2014년부터 유료로 운영해온 취업 연계 단기직무 교육과정. 나노디그리는 현재 유다시티의 핵심 교육 서비스 모델로 성장했음.
  • MOOC는 기본적으로 유료인가? - F(당연히.)
  • '독일에서 진행되고 있는, 전통적 제조업 공장을 첨단 ICT 기술을 결합한 스마트 공장으로 진화시키자는 산업 정책'의 명칭 - industry 4.0
  • 정보화 혁명은 몇 차 산업혁명인가? - 제3 차?
  • 하이퍼텍스트의 정의 : 하이퍼텍스트(Hypertext)는 참조(하이퍼링크)를 통해 독자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트이다. [위키백과 한국어]
  • 하이퍼미디어의 정의 : 하이퍼텍스트 중에 단지 문서만 연결되지 않고 각종 그림이나 소리, 동영상 등이 한꺼번에 연결된 개념
  • HTTP의 정의 : 하이퍼텍스트를 빠르게 교환하기 위한 프로토콜의 일종. WWW 상에서 주로 HTML 문서를 주고 받는 데에 쓰임. (cf. 프로토콜protocol : 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계)
  • 웹브라우저의 정의 : HTML 문서와 그림, 멀티미디어 파일등 월드 와이드 을 기반으로 한 인터넷의 컨텐츠를 검색 및 열람하기 위한 응용 프로그램의 총칭. [꺼라위키]

[2장 컴퓨터 개요]

  • OS는 특정 업무에 필요한 소프트웨어를 일컫는다. - F
  • DIMM이란? - Dual In-line Memory Module, RAM의 일종으로서 여러 개의 메모리 칩을 회로 기판 위에 탑재한 메모리 모듈. 주기억장치로 쓰임.
  • 플로터(plotter)는 뭐 하는 데 쓰는 출력장치인가? - 대형 그림의 출력.
  • CPU는 입력 데이터를 정보로 변환하기 위하여 소프트웨어로부터 받은 명령어를 실행한다. - T. 프로그램 내장 방식이면 그렇겠구나.
  • 컴퓨터가 작동되도독 도와주는 소프트웨어와, 특정 작업에 활용되는 소프트웨어 각각의 명칭 - 시스템 소프트웨어, 응용 소프트웨어
  • 최초의 전자식 진공관 컴퓨터는? - ENIAC, Electronic Numerical Integrator And Computer
  • 에니악, 에드박, 에니삭, 유니박이 나온 순서를 차례대로 서술해라. - 에니악, 에드삭, 에드박, 유니박
  • 최초의 자동 전자식 디지털 컴퓨터의 명칭 - ABC(Atanasoff-Berry Computer)
  • 최소의 전기 기계식 자동 계산기의 명칭 - Harvard MARK-I
  • 다중프로그래밍 기술이 적용되기 시각한 컴퓨터 세대는? - 3세대.
  • 소프트웨어의 체계가 확립된 컴퓨터 세대는? - 3세대. 제3세대 시키에 소프트웨어의 체계가 확립됨. 또한 운영체제의 다양한 기술 또한 실현됨.
  • 시분할 시스템 기술이 적용되기 시작한 컴퓨터 세대는? - 3세대.
  • 컴퓨터를 대화식으로 사용할 수 있게 된 컴퓨터 세대는? - 3세대. 시분할 시스템의 적용으로 컴퓨터를 대화식으로 이용 가능해짐.
  • 고급 프로그래밍 언어가 등장한 시기는? - 2세대. 이때 FORTRAN과 COBOL이 만들어짐.
  • SQL이 응용 소프트웨어인가? - T. 데이터베이스, 사무용 소프트웨어, 프로그램 개발 소프트웨어 모두 응용 소프트웨어의 일종. SQL, Oracle은 대표적인 데이터베이스 프로그램임.
  • 트랜지스터가 적용되기 시작한 컴퓨터 세대는? - 2세대
  • 세계 최초 프로그램 내장 방식의 컴퓨터는? - EDSAC, Electronic Delay Storage Automatic Calculator
  • 폰노이만이 에드삭(EDSAC)을 만들었나? - F. 폰노이만은 '폰노이만 기계'의 이론만을 제시함. 만든 건 1949년 영국 케임브리지 대학. 얘들이 폰노이만의 '프로그램 내장 방식'을 최초로 적용함.
  • 에드삭이 이진법을 썼는가? - F. 이진법은 에드박(EDVAC, Electronic Discrete Variable Automatic Computer).
  • 미니컴퓨터란? - 메인프레임과 워크스테이션/마이크로컴퓨터 사이의 컴퓨터. 그 시절 기준으로 '미니'임.
  • 2세대 컴퓨터는 진공관을 이용하였는가? - F. 2세대부터 트랜지스터가 진공관을 대체.
  • 3세대 컴퓨터는 집적회로를 이용하였는가? - T. 3세대부터 트랜지스터 등등을 다 때려박은 집적회로(IC, intergrated chip)가 이용되기 시작.
  • 고밀도 집적회로(LSI) 등이 탑재되기 시작한 컴퓨터 세대는? - 4세대. cf. 지금 세대가 4세대임. 5세대는 먼 미래.
  • 천공카드기계(PCS: Punch Card System)가 현재의 일괄처리 방식이랑 유사한가? - T. 구멍 다 뚫어놓고 한꺼번에 돌림. 이게 1980년까지 이용되던 일괄처리(Batch Processing)방식의 효시.
  • 폰 노이만이 '내장 프로그램 방식'을 고안했는가? - T. 이건 맞지.
  • 컴퓨터의 구성요소 5가지. - 중앙처리장치 주기억장치 보조기억장치 입력장치 출력장치
  • 컴퓨터의 정의 - 전자적으로 계산을 수행하는 장치 = 전자계산기.
  • RAM(Random Access Memory)의 함의 - 임의의 위치에 데이터를 읽어나 쓸 수 있는 메모리.
  • 보조기억장치(=저장장치, storage)의 정의 - 프로그램이나 데이터를 저장하기 위한 저장 공간.

[3장 정보의 표현] 미완.

  • 4비트의 2의 보수에서 +8을 표현할 수 있다 - F
  • 엡시딕(EBCDIC)은 국제 표준인 문자 코드인가? - T
  • 부동소수는 소수 부분과 지수 부분으로 구성할 수 있다. - F
  • 논리연산 중 1 and x = 1은 옳은 식인가? - F
  • AND, OR, NOT, NAND, NOR, XOR 게이트 각각에 해당하는 논리게이트의 기호를 그리시오.
  • 논리 연산 법칙 각각(9가지)에 대한 설명.
  • 단정도형식에서 -1 0111 1110 0000 1001 1000 0000 0000 000 = (-1) * (2^126_10) * (1.0000 1001 1 _(2) ) - T
  • 배정도형식의 지수부는 11자리, 가수부는 52자리 - T.
  • 127 편향지수, 1023 편향지수

[4장 컴퓨터 구조]

  • 명령어의 피연산자는 꼭 있어야 한다. - F. 없을수도 있다(ex.HLT). 2개 또는 3개일 수도 있다. + 피연산자는 메모리 주소 또는 레지스터가 될 수 있다.
  • 일반인은 기계어를 다루기 힘들다. - T
  • 버스는 주소 버스, 자료 버스, 제어 버스가 있다. - T
  • ROM은 크게 Dynamic ROM과 Static ROM으로 나눌 수 있다. - F. Dynamic과 Static으로 나누는 것은 RAM에 대한 설명이다.
  • Mask ROM의 정의 - 기억된 데이터를 지우거나 변경 불가능한 ROM(Read only memory).
  • PROM의 정의 - 임의의 프로그램을 기억시킬 수 있는 ROM.
  • EPROM의 정의 - 자외선 또는 X선 등을 이용하여 데이터를 지우거나 입력할 수 있는 ROM.
  • DRAM의 정의 - 전원이 연결된 상태에서 일정한 주기마다 refrech(재충전)을 해 주어야만 정보가 지워지지 않는 RAM.
  • SDRAM의 정의 - Syncronous RAM, 시스템 클럭과 동기화를 맞춘 DRAM.
  • SRAM의 정의 - 전원만 연결되어 있으면 정보가 지워지지 않는 RAM.
  • 기계 주기에서는 동시에 여러 개의 명령어를 인출, 해독, 실행한다.
  • AC는 연산장치의 입출력 데이터를 임시적으로 기억하는 레지스터이다. - T. 누산 레지스터의 역할 맞음.
  • DR은 연산에 필요한 피연산자를 저장하는 레지스터이다. - T.
  • STA X는 레지스터의 내용을 주소 X에 저장하는 명령어이다. - T
  • 일반적으로 CISC는 RISC보다 수행 속도가 빠르다고 알려져 있다. - F. 전체적으로 RISC 프로세서가 CISC 프로세서보다 수행 속도가 빠르다.
  • 한 문장에 연산 부분이 두 개인 경우 연산을 좀더 효율적으로 할 수 있다. - F. 근데 이유를 모르게숭..
  • 제어장치의 구성 요소 크게 두 가지 - 해독기, 제어기
  • 레지스터 PC의 역할은? - 다음에 실행될 명령어의 주소를 저장. Program Counter
  • 레지스터 IR은 무엇의 약자인가? - IR
  • 피연산부분의 정의 - 명령어의 연산에 참여하는 자료를 의미하는 코드
  • 연산부분의 정의 - 명령어가 수행해야 할 기능을 의미하는 코드이다.
  • 명령어에 피연산자 수가 많으면 적은 수의 명령어로 많은 작업을 수행할 수 있다. - T
  • 애플의 매킨토시가 CISC 계열이다. - F. 맥은 RISC 프로세서를 사용한다.
  • CISC는 복잡한 연산을 하나의 명령어로 처리하려는 의도에서 시작되었다. - T
  • 프로그램 내장 방식에서 메모리에 저장되는 것은? -
  • 개인용 컴퓨터의 ROM은 어디에 이용되는가?
  • 캐시 메모리의 종류는? - L1 캐시(CPU내장), L2 캐시(CPU-주기억장치 사이), 디스크 캐시(주-보조기억 사이)
  • LDA A의 실행 과정을 설명하라 - AR의 주소값의 메모리 자료 M[AR]를 불러오고 DR에 저장. DR을 다시 누산 레지스터 AC에 저장.
  • 마이크로프로세서의 성능을 결정하는 여러 요인을 열거하고 설명하라. - 자료 버스 폭, 레지스터의 수와 크기, 캐시 메모리의 크기, 클럭 속도,

[5장 운영체제와 활용]

  • 다음의 정의 : 기억장치 관리자, 프로세스 관리자, 장치 관리자, 파일 관리자 - 여러 프로그램을 실행하는 동안 주기억장치, 보조기억장치를 관리하는 프로그램, 프로세스의 생성/삭제/중지/계속/동기화 등의 기능을 수행하는 프로그램, 입출력 장치의 효과적인 할당과 회수 등의 기능을 관리하는 프로그램, 보조기억장치에 저장되는 파일을 관리하는 프로그램
  • 파일 관리자의 기능 - 파일의 접근 제어, 파일의 생성, 삭제, 수정을 감독, 파일을 디스크의 어디에 저장할지를 감독, 파일을 여러 사용자가 공유하는 기법을 제공, 폴더의 구조를 제공하고 관리.
  • 운영체제의 정의 - 컴퓨터 시스템의 전반적인 동작을 제어하고 조정하며 사용자에게 편리성을 제공하고 한정된 시스템 자원을 효율적으로 사용할 수 있도록 관리하는 시스템 프로그램의 집합
  • 배치처리 방식과 시분할 방식의 차이 - 배치처리는 처리할 데이터를 모아 두었다가 한꺼번에 처리, 시분할 시스템은 처리할 데이터를 시간을 나눠 조금씩 처리.
  • 시분할 시스템은 다중 프로그래밍 방식을 이용한다 - T, 그렇다네요.
  • 운영체제의 발전을 1세대부터 5세대까지 구분하여 그 특징을 설명하라 - 0세대 운영체제 없었음. 1세대 일괄처리 시스템. 2세대 다중프로그래밍/시분할시스템/실시간처리시스템. 3세대 다중모드시스템(일괄처리/시분할처리/다중처리를 하나의 시스템에서 제공). 4세대 GUI발전/분산처리시스템개념/개인용컴퓨터OS 등장. 5세대 분산처리시스템/지식기반시스템/인공지능시스템
  • GUI의 효시와 발전에 대해 설명하라 - Zerox의 Palo alto 연구소에서 1970년대에 처음 개발하여, Apple MacOS, Unix X window, MS window 등의 인터페이스 등으로 사용됨.
  • 한 사람의 사용자가 한 대의 컴퓨터로 2가지 이상의 작업을 동시에 처리하거나 프로그램들을 동시에 구동시키는 기능 - 다중작업(Multitasking)
  • 다중작업은 다중 프로그래밍 시스템, 다중 처리 시스템 등을 통해 구현 가능하다. - F. 다중작업Multitasking은 시분할시스템, 다중프로그래밍과 의미가 조금 다르다.
  • 다중 프로그래밍 시스템은 프로그램이 한 프로그램씩 순차적으로 돌아가면서 조금씩 실행된다. - T
  • 다중 프로그래밍 시스템은 작업을 우선순위에 따라 선정하여 실행한다. - T
  • 다중 프로그래밍과 다중작업의 차이점 - 다중프로그래밍은 여러 명의 사용자가 단말기를 통해 여러 프로그램을 실행, CPU는 이를 한 프로그램씩 순차적으로 돌아가면서 조금씩 수행, 이로 인해 여러 프로그램이 메모리에 존재. 다중작업은 한 사람의 사용자가 한 대의 컴퓨터로 2가지 이상의 작업을 동시에 처리하거나 프로그램을 동시에 구동.
  • 다중작업과 시분할시스템과의 차이점 - 시분할시스템은 여러 명의 사용자가 여러대의 단말기를 통해 동시에 작업, 다중작업의 정의은 윗 문항과 같음.
  • Unix는 벨 연구소의 데니스 리치와 켄 톰슨이 참여한 멀틱스(MULTICS) 운영체제 팀에서 개발한 운영체제이다. - T
  • 유닉스는 다른 시스템에 적용하기 어렵다 - F. 어셈블리어 + C언어로 만들어져 다른 시스템에도 적용하기 쉬움.
  • 윈도우 가상 데스크톱(virtual desktop)의 정의 - 한 사용자로 로그인하여 여러 개의 바탕화면을 독립적으로 사용할 수 있는 기능.
  •  
  • [6장 컴퓨팅 사고력과 문제해결]
  • 문제 분해(problem decomposition)의 정의 - 문제를 작은 부분으로 나누고, 나눠진 부분은 필요하다면 다시 해결 가능한 부분으로 잘게 나누는 과정.
  • 패턴 인식의 정의 - 복잡한 문제를 효율적으로 탐색하는 데 도움이 될 수 있도록 작게 분해된 문제들 사이의 유사성 또는 패턴을 탐색하는 과정
  • 추상화의 정의 - 문제를 단순화시켜 불필요한 부분은 제거하고 핵심 요소와 기능을 간추려 일반적인 모델을 만드는 과정
  • 알고리즘의 정의 - 문제를 해결하기 위해 추상화된 핵심 원리를 일련의 절차로 표현하는 과정

    [7장 프로그래밍 언어]
  • 프로그램을 개발하기 위하여, 프로그램에서 가장 중요한 부분은 기계어로 작성하는 게 좋다. - ?
  • 프로그램을 개발하기 위하여, 프로그래밍 언어를 선정하는 일이 개발도구를 결정하는 일에 앞서 수행되어야 한다. - T. 근데 물론 함께 선정하는 것이 일반적이다.?
  • 어떤 프로그래밍 언어를 사용하느냐에 따라 개발도구가 결정된다. -?
  • BASIC은 인터프리터를 이용한다. - T. BASIC은 인터프리터를 이용하는 대표적인 언어이다.
  • C는 인터프리터와 컴파일러의 중간 방식을 사용한다. - F. C#이랑 JAVA가 이런 느낌. 둘 다 컴파일러가 존재하며 컴파일 과정이 필요함. 그러나 컴파일된 실행 파일을 실행할 때는 인터프리터방식터럼 인터프리터가 필요함.
  • 포트란은 수학적 문제들을 해결하기 위해 고안되었다. - T
  • 베이직은 알고리즘 학습에 적합하도록 고안되었다. - F. 만들고 나니까 쉬운 느낌. 오히려 저 목적은 PASCAL이 더 부합함.
  • 프로그래밍 언어에서 일을 수행하는 최소 단위는 문장이다. - T
  • JAVA에서는 byte, short, int, long, float, double, boolean, char 등의 자료유형을 사용한다. - T
  • JAVA는 객체지향 언어이다. - T
  • C#은 객체지향 언어이다. - T
  • C++은 객체지향 언어이다. - T
  • JAVA는 C++에서 발전한 언어이다. - T
  • C#은 C++과 JAVA에 기본을 둔 언어이다. - T
  • JAVA의 기본 개발환경을 JDK라 한다. - T
  • 하나의 플랫폼에서 만들어진 자바 바이트코드가 모든 플랫폼에서 실행될 수 있도록 하는 것은? - 자바 가상 기계
  • 통합개발환경에 대한 간단한 정의 - 프로그램 개발에 필요한 편집기, 컴파일러, 링커, 디버거 등을 통합하여 편리하고 효율적으로 제공하는 개발환경
  • 1~3 세대별 컴퓨터 언어에 대한 특징 - 1세대 기계어 / 2세대 어셈블리어 / 3세대 고급언어 및 컴파일러
  • 절차지향과 객체지향 프로그래밍 방식에 대한 설명 - 절차지향 언어는 문제를 여러 개의 삼수로 나누어 그 문제를 해결, 객체지향 언어는 문제를 구성하는 객체를 만들어 이 객체들 간의 메시지 교환으로 문제를 해결.