본문 바로가기

전체보기

(462)
[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})\) 쉘 정렬의 수행 속도는 간..
[99] 소프트웨어공학 06차시 소프트웨어 개발방법론 1. 소프트웨어 개발방법론의 개요 가. 소프트웨어 개발방법론이란? 1) 의미 소프트웨어 개발 생명주기 내의 각 단계에서의 수행 방법과 활동들을 구체적으로 정의 2) 종류 UP(Unified Process) XP(eXtreme Programming) 마르미(MaRMI: Magic and Robust Methodology Integrated) 2. UP 방법론 가. 개요 Jacobson, Booch, Rumbaugh에 의해 개발된 객체지향 소프트웨어 개발 방법론 소프트웨어 개발 단계를 시간의 순서에 따라 네 개의 범주(Inception, Elaboration, Construction, Transition)로 나누고, 각 범주에는 요구사항 도출부터 평가까지 개발 생명주기가 포함되어 있음. 나. 특징 1) 반복..
[98] 소프트웨어공학 05차시 소프트웨어 프로젝트 계획 및 통제 1. 소프트웨어 프로젝트 계획서 및 팀 구성 가. 프로젝트 계획서 1) 의미 프로젝트 관리자 뿐만 아니라 프로젝트 참여자 모두가 프로젝트를 진행해 가면서 참조하는 프로젝트의 중심이 되는 문서 2) 포함내용 프로젝트 계획서 이전에 이미 제안서 요구사항 문서 작성을 통해 프로젝트의 범위를 파악함. 프로젝트 계획서에는 프로젝트 개발 생명주기에 맞추어 모든 작업을 태스크(Task)들과 액티비티(Activity)들로 나눔. 기간과 책임자를 분배하여 업무 및 일정 계획이 나타나 있어야 함. 3) 작성 순서 프로젝트 관리자는 프로젝트 태스크 파악, 각 태스크를 수행하기 위해 필요한 노력 예측, 인적 자원 및 기타 자원을 각 태스크에 할당, 일정 계획 수립을 함. 프로젝트 참여자의 검토를 거쳐 합의 하에 프로젝트 채택..
[97] 데이터베이스 06차시 엔티티-관계 데이터모델2 1. 약한 엔티티 타입 가. 약한 엔티티타입(Weak Entity Type) 1) 키 애트리뷰트가 없는 앤티티 존재가 다른 엔티티에 의존 하지만 존재 종속성이 있다고 해서 반드시 약한 엔티티는 아님. 2) 약한 엔티티는 식별 엔티티타입과 식별 관계타입에 참여해야 함. 3) 약한 엔티티들은 다음의 조합에 의해 식별됨. 약한 엔티티타입의 부분 키(Partial key) + 식별 엔티티타입의 키 2. ER 설계의 개선 가. 데이터베이스에 대한 ER 설계의 개선 초기 엔티티 설계에서 관계를 나타내는 애트리뷰트들을 관계 타입으로 변환하여 개선 각 관계타입의 카디낼러티와 참여 제약은 요구사항들로부터 결정됨. 카디낼러티와 참여 제약이 요구사항들로부터 결정될 수 없다면 데이터베이스 구축을 의뢰한 고객과 협의해야 함. ..
[96] 데이터베이스 05차시 엔티티-관계 데이터모델1 1. 관계 데이터베이스 개요와 설계 절차 가. 데이터 모델링 1) 데이터 모델 현실 세계의 정보들을 컴퓨터에 표현하기 위해 단순화, 추상화하여 체계적으로 표현한 모형 복잡한 실 세계를 단순화하여, 실 세계에 존재하는 개체들을 식별하고 개체와 개체 사이의 관계를 정의함으로써 컴퓨터 상의 데이터베이스를 추상화된 개념으로 이해하기 쉽게 할 뿐만 아니라 사용자들 사이의 의사소통을 원활히 할 수 있도록 도와주는 도구 2) 데이터 모델의 예 나. 데이터 모델의 분류 1) 물리적 데이터 모델(저수준 데이터 모델) 어떻게 데이터가 컴퓨터에 저장되는지의 세부 사항을 명시하는 개념을 제공 2) 개념적 데이터 모델(고수준 데이터 모델) 사용자들이 데이터를 인식하는 방식에 대한 개념을 제공 3) 표현적 데이터 모델(구현 데이..
[95] C언어 06차시 데이터형 자료형 저장하는 데이터의 크기에 따라 필요한 메모리 공간의 크기가 다름. 데이터의 종류에 따라 변수의 종류를 다르게 하는 것이 효율적임. 적절한 자료형을 사용하면 메모리를 절약하고, 실행 속도를 향상시킴. 가. 자료형의 종류 1) 정수형(Integer type): short, int, long 2) 실수형: double, float 3) 문자형(character type): char 나. 자료형의 크기 확인 sizeof() 연산자 사용 자료형의 크기를 반환하는 연산자 https://ko.wikipedia.org/wiki/자료형 자료형 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 파이썬 3의 표준 자료형 계층 자료형(資料型) 또는 데이터 타입(영어: data type)은 컴퓨터 과..