본문 바로가기

전체 글

(35)
운영체제 3강 (프로세스 스케줄링) 학습개요 운영체제는 실행할 준비가 된 프로세스들이 CPU를 적절히 배정받아 작업을 효율적으로 처리할 수 있도록 관리해야 하고, 이를 위해 다양한 스케줄링 알고리즘을 활용합니다. 이번 강의에서는 프로세스 스케줄링의 개요와 정책에 대해 살펴보고, 스케줄링 알고리즘의 성능평가 기준과 함께 여러 가지 스케줄링 기법에 대해 학습합니다. 학습목표 프로세스 스케줄링의 개요와 정책을 설명할 수 있다. 스케줄링 성능평가 기준을 설명할 수 있다. 다양한 스케줄링 기법을 설명할 수 있다. 정리하기 프로세스의 스케줄링을 위해 상위단계, 하위단계 및 중간단계 스케줄링이 사용된다. 선점 스케줄링 정책은 실행 중인 프로세스에 인터럽트를 걸고 다른 프로세스에 CPU를 할당할 수 있는 스케줄링 방식이고, 비선점 스케줄링 정책은 실행 ..
인공지능 3강 (탐색에 의한 문제풀이) 학습개요 경험적 탐색은 경험적 지식을 활용하여 문제의 해를 보다 효과적으로 탐색하기 위한 기법이다. 이번 시간에는 경험적 지식을 탐색에 적용하는 방법 및 주요 경험적 탐색 방법에 대하여 학습한다. 또한 탐색을 통해 성공적으로 목표를 달성하는데 장애가 되는 요소와 이 문제를 개선하기 위한 탐색 기법을 모색해 볼 것이다. 학습목표 경험적 탐색의 기본적 아이디어를 설명할 수 있다. 각각의 경험적 탐색 방법에서 사용하는 평가함수의 형태를 설명할 수 있다. 언덕오르기 탐색 알고리즘을 설명할 수 있다. 계수최적화 문제에서 발생할 수 있는 문제점들을 이해한다. 모의담금질 알고리즘을 설명할 수 있다. A* 알고리즘으로 최적해를 구하는 방법을 설명할 수 있다. 주요용어 언덕오르기 탐색 : 임의의 상태에서 시작하여 가장 ..
알고리즘 3강 (정렬) 학습개요 이번 강의부터 앞으로 3번의 강의에 걸쳐서 다양한 정렬 알고리즘에 대해서 학습한다. 이번 시간은 정렬의 첫 번째 강의로서 정렬의 기본 개념과 관련 용어를 우선 살펴보고, 정렬할 데이터의 개수가 작을 때 간단히 사용될 수 있는 기초적인 성능의 비교 기반의 내부 정렬 알고리즘으로서 선택 정렬, 버블 정렬, 삽입 정렬, 셸 정렬에 대해서 살펴본다. 학습목표 정렬과 관련된 기본적인 개념과 용어들을 이해할 수 있다. 기초적인 성능의 내부 정렬 알고리즘으로서, 선택 정렬, 버블 정렬, 삽입 정렬 및 셸 정렬의 원리와 수행 과정을 이해할 수 있다. 기초적인 정렬 알고리즘의 성능을 분석하고 장단점을 이해할 수 있다. 주요용어 내부 정렬(internal sort) - 정렬할 모든 데이터를 주기억장치에 저장한 후..
운영체제 2강 (프로세서와 쓰레드) 학습개요 프로그램을 실행시키면 운영체제로부터 프로그램이 동작하는 데 필요한 자원을 할당받아 동작을 시작합니다. 이처럼 실행상태에 들어간 프로그램을 프로세스라고 합니다. 프로세스의 동작은 CPU가 그 프로세스의 명령들을 실행하는 것입니다. 이때 CPU도 기억장치나 입출력장치와 마찬가지로 프로세스가 동작하는데 필요한 자원입니다. 그리고 프로세스 내에서의 다중처리를 위해 한 프로세스 안에 여러 개의 쓰레드를 두기도 합니다. 이번 강의에서는 운영체제의 핵심적인 구성요소 중 하나인 프로세스에 대한 기본적인 이해와 함께 쓰레드의 개념을 학습합니다. 학습목표 프로세스의 개념을 설명할 수 있다. 쓰레드의 개념을 설명할 수 있다. 프로세스와 쓰레드의 관계를 설명할 수 있다. 정리하기 프로세스는 실행 중인 프로그램을 의미..
인공지능 2강 (탐색에 의한 문제풀이) 학습개요 인공지능의 초기 연구는 인간이 지능적으로 문제를 해결하는 과정을 어떻게 컴퓨터를 이용할 수 있을까에 집중된다. 이를 위해서는 우선 해결해야 할 문제를 컴퓨터를 통해 표현해야 한다. 이것은 외부 세계를 컴퓨터에 적절한 형식으로 모델링하는 것이며, 여기에는 문제를 풀이하는 과정에서 변화되는 상태를 표현하고, 이러한 상태를 변화시키는 적절한 수단을 정의하는 것을 포함한다. 알고리즘으로 해결하기 어려운 문제를 풀이하는 것은 이렇게 표현된 문제의 상태공간에서 어떻게 목표에 이르는 경로를 탐색하는 것으로 볼 수 있다. 목표상태를 탐색하는 것은 다양한 기준에 따라 순서를 정하여 탐색할 수 있다. 이번 시간에는 문제 풀이를 위한 문제표현 방법 및 문제풀이의 기본적 접근방법과 맹목적 탐색으로 분류되는 탐색 기법..
알고리즘 2강 (알고리즘 소개) 학습개요 이번 강의에서는 앞으로 다룰 다양한 알고리즘에 적용될 기본적이고 핵심적인 개념으로, 알고리즘의 성능을 분석하고 점근성능으로 표기하는 방법을 중심으로 학습한다. 또한 순환 알고리즘의 개념과 이를 위한 점화식에 대해서도 살펴본다. 학습목표 알고리즘의 시간 복잡도의 개념을 이해하고 적용할 수 있다. 점근성능의 표기법의 종류와 개념을 이해하고 적용할 수 있다. 순환 알고리즘과 점화식의 관계 및 기본 점화식의 의미를 이해할 수 있다. 주요용어 시간 복잡도(time complexity) -알고리즘을 실행시켜 완료할 때까지 걸리는 시간 -알고리즘에서 수행되는 단위 연산의 수행 횟수의 합으로 정의되며, 입력 크기의 함수와 최악의 수행시간으로 표현 공간 복잡도(space complexity) 알고리즘 수행에 필..
운영체제 1강 (운영체제 소개) 학습개요 운영체제는 컴퓨터를 사용하기 위해 반드시 필요한 소프트웨어 중 하나입니다. 컴퓨터가 사용자에게 제공하는 서비스가 다양해지고 편리해지는 만큼 사용자를 위해 컴퓨터 내에서 이루어져야 하는 자원의 관리나 활용이 효율적으로 동작해야 하는데, 운영체제는 그 근간을 이루는 핵심적인 시스템 소프트웨어입니다. 이번 강의에서는 운영체제에 대한 전반적인 개요에 대해 알아봅니다. 우선 운영체제의 정의와 역할을 살펴본 후, 운영체제를 구성하는 기본적 요소인 프로세스 관리자, 메모리 관리자, 장치 관리자, 파일 관리자의 역할에 대해 개략적으로 학습합니다. 그리고 운영체제의 유형에 대해 살펴봅니다. 학습목표 운영체제의 개념과 역할을 설명할 수 있다. 운영체제의 구성을 설명할 수 있다. 운영체제의 유형을 설명할 수 있다...
인공지능 1강 (인공지능개요) 학습개요 인공지능은 사람이 가지고 있는 고유한 능력인 지능을 컴퓨터를 통해 구현함으로써 인간의 사고과정에 대한 이해나 지능적인 도구를 만들어 내려고 하는 시도이다. 이번 강의에서는 컴퓨터를 이용한 문제풀이 방식이 지능적인 것이 되기 위해서는 어떠한 능력을 갖추고 있어야 할지에 대한 기본적인 이해를 해 보려고 한다. 학습목표 인공지능 시스템에서 필요한 ‘지능’의 의미를 설명할 수 있다. 인공지능을 구현하기 위한 접근방법의 종류를 설명할 수 있다. 지능형 에이전트의 기본적인 구조에 대해 설명할 수 있다. 주요용어 튜링 테스트 : Alan Turing이 컴퓨터의 지능적 행동 능력을 평가하기 위해 제안한 방법으로, 평가자가 가려진 사람과 컴퓨터를 대상으로 대화를 하는 과정에서 사람과 컴퓨터를 구분하는 검사 방법..