본문 바로가기

전체보기

(448)
[88] 자료구조 03차시 추상 자료형과 알고리즘 1. 추상 자료형 가. 뇌의 추상화 기능 기억할 대상의 구별되는 특징만을 단순화하여 기억하는 기능 철수를 기억하기 위해 철수에 대한 모든 정보를 구체적이고 세세하게 저장하기는 어려움. 그 대신 철수를 다른 사람과 구별할 수 있는 철수만의 특징을 찾아서 기억함. 자세하고 복잡한 것 대신 필수적이고 중요한 특징만 골라서 단순화시키는 작업이 추상화 작업임. 나. 컴퓨터를 이용한 문제해결에서의 추상화 크고 복잡한 문제를 단순화시켜 쉽게 해결하기 위한 방법 1) 자료 추상화(Data Abstraction) 처리할 자료, 연산, 자료형에 대한 추상화 표현 2) 자료 프로그램의 처리 대상이 되는 모든 것을 의미 어떤 값(Value) 자체를 의미하기도 함. 3) 연산 어떤 일을 처리하는 과정으로 연산자를 사용하여 수행..
[87] 운영체제 04차시 스레드의 개념 1. 스레드의 개념 가. 개념 프로세스의 특성인 자원과 제어에서 제어만 분리한 실행 단위 프로세스 하나는 스레드 한 개 이상으로 나눌 수 있음. 프로세스의 직접 실행 정보를 제외한 나머지 프로세스 관리 정보 공유 다른 프로시저 호출, 다른 실행 기록(별도 스택 필요) 관련 자원과 함께 메모리 공유 가능하므로 손상된 데이터나 스레드의 이상 동작 고려 같은 프로세스의 스레드들은 동일한 주소 공간 공유 동일 프로세스의 여러 스레드는 코드 영역, 데이터 영역, 운영체제 자원(예: 열린 파일, 시그널)을 공유 프로세스가 다수의 제어 스레드를 가진다면, 프로세스는 동시에 하나 이상의 작업을 실행할 수 있음. 1) 경량 프로세스(LWP, Light Weight Process) 프로세스의 속성 중 일부가 들어있는 것 ..
[86] 운영체제 03차시 프로세스의 개념 1. 프로세스의 개념 가. 개념 1) 작업(Job) 실행 프로프로그램과 이에 필요한 입력 데이터의 묶음 컴퓨터에 실행 의뢰되기 전의 상태 2) 프로세스(Process) 커널에 등록된 작업 커널에 등록되어 커널의 관리 하에 들어간 작업 https://ko.wikipedia.org/wiki/프로세스 프로세스 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. htop을 통해 보이는 프로세스들의 목록. 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작 ko.wikipedia.org 3) 작업과 프로세스의 개념 비교 나. 프로세스 정의 실행중인 프로그램(작업) 운영체제에 들어있는 프로세스 제어 블록 PCB 커널에 등록되고 ..
[85] 알고리즘 04차시 기본적인 정렬 알고리즘 1. 선택 정렬 가. 정렬(Sorting) 데이터의 순서를 결정하는 것 데이터를 저장하는 위치에 따라 내부 정렬(Internal Sort)과 외부 정렬(External Sort)로 구분 나. 내부 정렬 데이터 양이 적을 때 주기억장치 내에 저장한 자료를 대상으로 정렬하는 방법 정렬할 자료의 양이 적어서 자료 전체가 주기억장치에 저장될 수 있는 경우에는 내부 정렬을 사용하여 자료를 정렬 선택 정렬, 버블 정렬, 삽입 정렬, 쉘 정렬, 퀵 정렬 등 다. 외부 정렬 입력의 크기가 주기억 장치 공간보다 큰 경우 보조 기억 장치에 있는 입력을 여러 번에 나누어 주기억 장치에 읽어 들인 후 정렬하여 보조 기억 장치에 다시 저장하는 과정을 반복 라. 정렬 알고리즘의 복잡도 대부분 \(O(n^{2})\)과 \(O(n\..
[84] 알고리즘 03차시 점화식과 점화식의 점근적 분석 1. 알고리즘과 문제 해결 가. 문제해결 전략 주어진 조건에 맞추어 다각도로 문제에 접근 문제를 철저히 분석 그림을 그리거나, 식을 만들거나, 또는 규칙 찾기 조건에 따라 거꾸로 생각해보기 단계적으로 생각하기(알고리즘) 2. 점화식 가. 점화식(Recurrence Relation) 어떤 함수를 자신보다 더 작은 변수에 대한 함수와의 관계로 표현한 것 자기호출을 사용하는 함수(재귀)의 복잡도를 구하는데 유용함. 수열은 원소들을 일정한 순서로 나열한 형태로 표현하는데 이러한 원소들 사이에는 일정한 규칙이 있을 수 있고 원소들의 나열 대신 이 규칙으로 표현하는 것도 점화식임 https://ko.wikipedia.org/wiki/점화식 점화식 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전...
[83] 소프트웨어공학 04차시 프로젝트 관리 1. 프로젝트 관리의 단계 가. 프로젝트란? 1) 프로젝트는 실패하기 쉬운 작업 프로젝트를 어떻게 수행하는 것이 성공의 가능성을 높일 것인가? 2) 프로젝트 관리의 정의 프로젝트의 요구사항을 만족시키기 위하여 지식, 스킬, 도구 및 기법을 프로젝트 활동에 적용하는 것 "The application of knowledge, skills, tools, and techniques to project activities to meet project requirements"(PMI) 나. 프로젝트 관리의 단계 1) 착수(Initiating) 새로운 프로젝트의 시작을 공식적으로 승인 입안, 발주, 제안, 평가, 협상, 계약으로 이어지는 프로젝트 추진 절차 2) 계획(Planning) 프로젝트에서 수행해야 할 목표 ..
[82] 소프트웨어공학 03차시 소프트웨어 개발 프로젝트 1. 소프트웨어 개발 프로젝트의 중요성 가. 소프트웨어 개발 프로젝트의 목표 1) 실패에 대한 위험 감소 소프트웨어 개발을 프로젝트로 관리하여 성공의 가능성을 높임. 나. 프로젝트의 정의 프로젝트는 유일한 제품이나 서비스를 만들기 위해 수행되어야 할 일시적인 활동과정 "A project is a temporary endeavor undertaken to create a unique product or service"(PMI) 1) PMI와 PMBOK PMI(Project Management Institute): 프로젝트 관련 국제적인 단체 PMBOK(Project Management Body Of Knowledge): PMI에서 4년마다 한 번씩 발간하는 책 PMP(Project Management Pr..
[81] 데이터베이스 04차시 데이터베이스 관리 시스템 구성 1. 데이터베이스 관리 시스템의 구성 가. DBMS 구성 모듈 1) 데이터 정의 언어 컴파일러(DDL Compiler) 데이터 정의 언어로 명시된 스키마 정의들을 처리 스키마들에 대한 정보(메타 데이터)를 DBMS 카탈로그 안에 저장함. 카탈로그는 파일의 이름과 크기, 데이터 항목의 이름과 데이터 타입, 각 파일의 저장 형태, 스키마 사이의 사상 정보, 제약 조건들에 대한 정보 등을 포함 다른 모듈들은 이런 정보가 필요할 때 마다 카탈로그에 접근 2) 질의 컴파일러(Query Compiler) 대화식으로 입력된 고수준 질의들을 파싱하여 연산과 데이터 요소들이 정확한가를 분석하고 내부 형태로 컴파일 함. 3) 질의 최적화기(Query Optimizer) 질의 컴파일러에 의해 생성된 내부 형태는 질의 최적화..