본문 바로가기

6. 컴퓨터 공학 공부

(334)
[107] 컴퓨터개론 06차시 컴퓨터의 주변기기 1. 입력장치 가. 키보드 PC의 가장 대표적인 입력 장치로서 글자판의 글쇠를 직접 눌러서 데이터를 입력하는 장치로 문자 키패드, 숫자 키패드, 특수키, 기능키 등으로 구성 나. 마우스 그래픽 사용자 환경으로 되어 있는 Windows의 대표적인 입력 장치로 마우스 포인터를 움직여 메뉴나 아이콘을 쉽게 선택하거나 실행할 수 있도록 하는 입력 장치 다. 스캐너 텍스트, 그림, 사진 등의 영상 자료를 컴퓨터로 읽어 들이는 입력 장치 라. 디지타이저 그림, 설계 도면, 필기체 문자 등의 아날로그 정보를 디지털 정보로 변환하여 입력하는 장치로서 평면 태블렛(tablet)과 전자펜으로 구성 마. 조이스틱 막대를 상하좌우로 움직여서 스크린 내의 커서의 위치를 조정하는 입력 장치로서 주로 게임용으로 사용 바. 디지털 ..
[106] 컴퓨터개론 05차시 컴퓨터 시스템의 구성 1. 컴퓨터 시스템의 기본 구조 가. 컴퓨터 1) 전자회로와 그 밖의 물리적인 장치들로 이루어진 하드웨어 2) 활용할 수 있는 기본적인 프로그램이나 이에 따르는 기술인 소프트웨어 나. 컴퓨터의 외부 구조 다. 컴퓨터의 내부 구조 1) 중앙처리장치 연산장치 사칙 연산 및 논리 연산을 프로그램의 명령을 실행하기 위한 장치로서 자료의 비교, 판단, 이동, 편집 등을 수행 제어장치 프로그램의 명령을 해석하고 명령에 따라 각 장치의 작업을 지시하고 감독 각종 입출력 장치, 기억 장치, 연산 장치 등의 동작을 제어하며 주기억 장치에 저장된 프로그램을 해독하고 해독된 명령들을 각 장치에 보내 처리하도록 지시하는 일을 담당 라. 컴퓨터 시스템의 구성 요소 1) 하드웨어 컴퓨터를 구성하는 물리적인 장치들의 집합체를 말하..
[105] 자료구조 06차시 구조체와 재귀호출 1. 구조체 개념 가. 구조체 개념 구조체도 배열처럼 여러 개의 데이터를 그룹으로 묶어서 하나의 자료형으로 정의하고 사용하는 자료형 배열은 같은 자료형 만을 그룹으로 묶을 수 있지만, 구조체는 서로 다른 자료형을 그룹으로 묶을 수 있으므로 복잡한 자료 형태를 정의하는데 유용하게 사용됨. 자료를 체계적으로 관리하려면 일정한 단위 형식으로 구성해야 하는데, 이러한 단위 형식을 레코드라고 함. 레코드를 구성하는 하위 항목을 필드라고 함. 레코드가 여러 개 모이면 파일이 됨. 여러 형태의 필드를 묶어 하나의 구성단위 역할을 하는 레코드는 구조체를 사용하여 정의할 수 있음. 즉, 여러 자료형의 필드를 가지고 있는 레코드를 만들 때 구조체를 사용함. 나. 구조체 선언 구조체는 여러 자료형의 변수들을 그룹으로 묶어서..
[104] 자료구조 05차시 포인터 1. 포인터 개념 가. 포인터란? 사용되는 모든 변수는 메모리의 특정 위치에 저장되는데 그 위치를 나타내는 메모리 주소 나. 포인터변수 메모리의 주소 값을 저장하는 특별한 변수 포인터 변수가 어떤 변수의 주소를 저장하고 있다는 것은 그 변수를 가리키고 있다는 의미 연결된 주소의 변수 영역 액세스 가능 포인터 변수를 간단히 포인터라고 함. 다. 포인터 엑세스 처리 편지봉투에 받는 사람의 집주소를 쓰면 그 주소로 편지가 전달되어 집주인이 편지를 받게 됨. 편지봉투를 포인터라고 생각하면 편지봉투에 쓰는 "받는 사람 주소"는 포인터에 저장된 변수의 메모리 주소가 되고, 주소에 해당하는 집주인이 편지를 받은 것은 포인터를 통한 엑세스 처리로 생각할 수 있음. 라. 포인터 사용 예시 1) 포인터를 사용해 다른 변수..
[103] 운영체제 06차시 스케쥴링 알고리즘 1. 선입 선출, 최소 작업 우선 스케쥴링 가. 선입선출(FCFS, First Com First Served) 스케쥴링의 개념 비선점 방법으로 프로세서 스케쥴링 알고리즘 중 가장 단순 프로세서 요청하는 순서대로 프로세서 할당, 선입 선출 FIFO 큐로 구현 일괄 처리 시스템에서는 매우 효율적이나 빠른 응답을 요청하는 대화식 시스템에는 적합하지 않음. 도착하는 프로세스의 순서에 따라 평균 대기 시간과 평균 반환 시간에 차이가 있음. 나. FCFS 스케쥴링의 장점 스케쥴링의 이해와 구현이 단순함. 준비 큐에 있는 모든 프로세스가 결국 실행되므로 기아 없는 공정한 정책임. 프로세서가 지속적으로 유용한 프로세스를 수행하여 처리율이 높음. 다. FCFS 스케쥴링의 단점 비선점식이므로 대화식 프로세스에는 부적합함...
[102] 운영체제 05차시 프로세서 스케쥴링 1. 스케쥴링의 개념과 목적 가. 개념 여러 프로세스가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정 자원이 프로세서인 경우를 프로세서 스케쥴링이라고 하고, 대부분의 스케쥴링이 프로세서 스케쥴링을 의미 스케쥴링 방법에 따라 프로세서를 할당 받을 프로세스를 결정하므로 스케쥴링이 시스템의 성능에 영향을 미침. 좋은 스케쥴링은 프로세서 효율성을 높이고, 작업(프로세스)의 응답시간을 최소화하여 시스템의 작업 처리 능력을 향상 시킴. 나. 목적 1) 자원 할당의 공정성 보장 2) 단위 시간 당 처리량 최대화 3) 적절한 반환 시간 보장 4) 예측 가능성 보장 5) 오버헤드 최소화 6) 자원 사용의 균형 유지 7) 반환 시간과 자원의 활동 간에 균형 유지 8) 실행 대기 방지 9) 우선순위 10..
[101] 알고리즘 06차시 특수한 정렬 알고리즘 1. 힙 정렬(Heap Sort) 가. 개념 힙이라는 특수한 자료구조를 사용하는 정렬 알고리즘 주어진 배열을 힙으로 만든 다음 차례로 하나씩 힙에서 제거함으로써 정렬함. 나. 힙(Heap) 맨 아래 층을 제외하고는 완전히 채워져 있고, 맨 아래층은 왼쪽부터 꽉 채워져 있음.(완전 이진 트리) 각 노드의 값은 자식의 값보다 작거나 같음.(최소힙) 최대힙과 최소힙이 있음. https://ko.wikipedia.org/wiki/힙_(자료_구조) 힙 (자료 구조) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 1부터 100까지의 정수를 저장한 최대 힙의 예시. 모든 부모노드들이 그 자식노드들보다 큰 값을 가진다. 힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 ko.wikipe..
[100] 알고리즘 05차시 효율적인 정렬 알고리즘 1. 쉘 정렬(Shell Sort) 가. 개념 주어진 입력 데이터를 적당한 매개 변수의 값만큼 서로 떨어진 데이터들과 비교하여 교환하는 과정을 매개 변수의 값을 바꾸어가며 되풀이하는 것 영역을 나눈 후 삽입하는 보완된 삽입 정렬 개념 입력 파일을 어떤 매개변수의 값으로 서브파일을 구성하고, 각 서브파일을 삽입 정렬 방식으로 배열하는 과정을 반복하는 정렬 방식 이때 서로 떨어져 있는 데이터들은 하나의 부분 리스트를 구성하며 삽입 정렬에 의해 개별적으로 정렬됨. 먼저 적절한 매개 변수의 값을 선택한 후 점차 감소시켜 가면서 쉘 정렬을 수행하고 매개 변수의 값이 1이 될 때 종료함. 나. 쉘 정렬 복잡도 쉘 정렬은 최악 경우(Worst Case)의 시간복잡도가 \(O(n^{2})\) 쉘 정렬의 수행 속도는 간..