본문 바로가기

전체보기

(448)
[72] 자료구조 02차시 자료의 표현 1. 문자 자료의 표현 컴퓨터 내부에서는 문자 자료도 1과 0의 2진수 조합으로 표현 문자의 표현을 위해 문자에 대한 이진수 코드를 정의하여 사용 가. BCD코드(Binary Coded Decimal Code) 6비트를 사용하여 문자 표현 상위 2비트는 존 비트, 하위 4비트는 숫자 비트로 사용 존 비트와 숫자 비트를 조합하여 10진수와 영어 대문자, 특수 문자를 표현 나. EBCDIC코드(Extended Binary Coded Decimal Interchange Code) 8비트를 사용하여 문자 표현 상위 4비트는 존 비트, 하위 4비트는 숫자 비트로 사용 존 비트와 숫자 비트를 조합하여 10진수와 영어 대소문자, 특수 문자를 표현 다. ASCII코드(American Standard Code for I..
[71] 자료구조 01차시 자료구조와 분류 1. 자료구조의 개요와 정의 가. 자료구조란? 자료를 효율적으로 표현하고 저장하고 처리할수 있도록 정리하는 것 컴퓨터에 자료를 효과적으로 표현하고 표현한 자료를 좀 더 효율적으로 저장하고 처리할 수 있도록 논리적인 구조를 만들어 프로그램적으로 처리하는 것 정보의 홍수로 부를 만큼 자료가 방대해 지면서 "자료를 얼마나 많이 가지고 있느냐?" 보다 "얼마나 효율적으로 잘 사용하는지가?" 중요함. 나. 자료구조를 배워야하는 이유 컴퓨터가 자료를 효율적으로 처리하려면 문제도출과 문제 변환 단계에서 문제를 자료구조 측면에서 분석하고 구성해야 함. 프로그래머는 문제를 더 효율적이고 효과적으로 해결하기 위해 문제를 정의하고 분석하여 효율적으로 문제를 처리하기 위해 처리방식을 결정하여 알고리즘을 작성하고 자료를 정의해..
[70] 운영체제 02차시 운영체제의 기능과 서비스 1. 운영체제의 기능 가. 자원 관리 기능 1) 메모리 관리 메인 메모리 관리 프로세서가 직접 주소로 지정할 수 있는 유일한 메모리 메모리의 어느 부분을 사용하고, 누가 사용하는지 점검 메모리에 저장할 프로세스 결정 메모리를 할당하고 회수하는 방법 결정 보조기억장치 관리 메인 메모리는 공간이 제한되어 데이터와 프로그램을 계속 저장할 수 없어 보조기억장치 이용 빈 여유 공간 관리 새로운 파일 작성 시 저장 장소 할당 메모리 접근 요청 스케줄링 파일 생성하고 삭제 2) 프로세스 관리 하나의 프로세스는 프로세서, 메모리, 파일, 입출력 장치와 같은 자원으로 구성 자원은 프로세스 생성할 때 제공하거나 실행 중에도 할당 가능 프로세스와 스레드 스케줄링 사용자 프로세스와 시스템 프로세스 생성, 제거 프로세스 중지,..
[69] 운영체제 01차시 운영체제 개요 1. 운영체제의 개념과 목적 가. 운영체제의 개념 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어 1) 하드웨어 기본 연산 자원을 제공하는 프로세서(CPU, 중앙처리장치), 메모리, 주변 장치 등 2) 사용자 컴퓨터를 사용하는 사람이나 장치, 다른 컴퓨터 등을 의미 3) 소프트웨어 컴퓨터의 기능 수행에 필요한 모든 프로그램 나. 운영체제의 역할 1) 조정자 운영 요소 사용을 제어하면서 사용자와 응용 프로그램 간에 통신할 수 있게 함. 작업을 할 수 있는 환경만 제공함. 하드웨어 및 사용자, 응용 프로그램, 시스템 프로그램 사이에서 인터페이스를 제공 2) 자원 할당자나 관리자 각 응용 프로그램에 필요한 자원 할당, 자원 할당 방법을 결정 프로세서, 메모리, 입출력장치, 통신장치 ..
[68] 알고리즘 02차시 알고리즘의 효율성 1. 알고리즘의 수행시간 가. 알고리즘을 통한 문제 해결 수학에서는 문제를 풀기 위해 정의나 정리들을 활용 컴퓨터에서는 문제 해결을 위해 알고리즘 이용 문제를 철저하게 분석한 후 알고리즘을 거쳐 프로그램 작성 나. 바람직한 알고리즘 1) 명확성 이해하기 쉽고 가능하면 간명하도록 해야 함. 지나친 기호적 표현은 오히려 명확성을 떨어뜨림. 명확성을 해치지 않으면 일반 언어의 사용도 무방 2) 효율성 같은 문제를 해결하는 서로 다른 알고리즘들의 수행 시간이 수백만 배 이상 차이날 수 있음. 다. 알고리즘 공부의 목적 알고리즘은 문제 해결 절차를 체계적으로 기술한 것 알고리즘 공부의 목적은 특정한 문제를 위한 알고리즘의 습득, 체계적으로 생각하는 훈련, 지적 추상화의 레벨 상승을 위함. 같은 문제에서도 효율이 ..
[67] 알고리즘 01차시 알고리즘 개요 1. 알고리즘의 개념 가. 알고리즘이란? 어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것 어떤 일을 수행할 수 있는 일련의 명령어 또는 규칙의 집합 알고리즘을 설계하기 위해서는 해야 할 작업을 명확하게 명시해야 함 문제해결이나 처리 과정에서의 순서를 단계적으로 서술 나. 문제해결을 위한 알고리즘(예시) 1) 자동차 네비게이션 두 지점 간의 최단 경로나 최단 시간이 걸리는 경로 -> 최단 경로 알고리즘 2) 현금자동인출기(ATM) 여러 지역의 수많은 ATM의 잔고를 유지하며 자금을 운용하는 방법 -> 스케줄링 알고리즘 등 3) 인간 게놈 프로젝트 방대한 DNA 데이터 간의 관계 파악 -> 게놈 서열 간의 유사성을 파악하는 알고리즘 등 4) 인터넷 검색 수 조 페이지 이상의..
[66] 소프트웨어공학 02차시 소프트웨어 프로세스와 생명주기 1. 소프트웨어 개발 프로세스의 중요성 가. 소프트웨어 개발의 목표 정해진 기한 내에, 주어진 예산을 이용해 사용자가 원하는 좋은 품질로 개발하는 것 나. 소프트웨어 프로젝트 실패의 원인 소프트웨어의 요구사항이 복잡해지고 규모가 점점 커짐. 정해진 기간 내에 고품질의 소프트웨어를 개발하는 것이 점점 더 어려워짐. 다. 소프트웨어 개발 프로세스의 중요성 소프트웨어 제품의 품질은 그 제품을 만들기 위해 사용된 프로세스의 품질에 의해 결정됨.(Watts S. Humphrey) 2. 소프트웨어 개발 생명주기 가. 소프트웨어 개발 생명주기란? 소프트웨어를 어떻게 개발할 것인가에 대한 전체적인 큰 흐름을 나타내는 추상적 표현으로, 순차적 또는 방법적인 단계로 구성됨. 개발 생명주기의 각 단계에는 관련된 여러 활동들..
[65] 소프트웨어공학 01차시 소프트웨어공학과 소프트웨어 1. 소프트웨어공학의 정의 가. 소프트웨어의 위기(Software Crisis) 1960년대 소프트웨어의 폭발적인 수요에 공급이 따라가지 못하면서 많은 수의 프로젝트가 실패함. 1968년 NATO 컨퍼런스에서 의장이었던 프리드리히 바우어에 의해 "Software Engineering"이라는 용어가 처음 제시됨. https://ko.wikipedia.org/wiki/소프트웨어_위기 소프트웨어 위기 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 소프트웨어 위기(영어: software crisis)란 소프트웨어 공학 초기에 사용되던 용어로 정돈된 주제가 되기 이전에 사용되었다. 이 용어는 급격한 컴퓨터 계산 용량과 ko.wikipedia.org 나. 소프트웨어공학의 정의 1) 바우어 기..