Computer Science (7) 썸네일형 리스트형 [운영체제] RR(Round Robin) 스케줄링 RR 스케줄링 RR(Round Robin / 라운드 로빈) 스케줄링은 대화형 시스템에서 사용되는 선점 스케줄링 방식이다. 이 알고리즘은 프로세스가 도착한 순서대로 프로세스를 디스패치하지만 정해진 시간 할당량(또는 시간 간격)에 의해 실행을 제한한다. 즉, 시간 할당량을 매 프로세스에 주고 할당된 시간 안에 완료되지 못한 프로세스는 준비 큐의 맨 뒤에 배치되도록 하여 CPU를 독점하지 않고 공평하게 이용될 수 있게 한다. RR 스케줄링의 예 예를 들어, 아래와 같이 4개의 프로세스가 주어지고 시간 할당량은 3으로 가정하자. 도착시간 0 1 2 3 프로세스 A B C D CPU 사이클 6 3 1 4 처음에는 프로세스 A만 도착했으므로 바로 디스패치하여 실행시킨다. 시간 할당량 3이 지날 동안 프로세스 A는 .. [알고리즘] 1. 알고리즘의 기초 보호되어 있는 글입니다. 데이터베이스 시스템의 3단계 구조 데이터베이스 시스템 데이터베이스 시스템은 하나의 데이터베이스에 대해 서로 다른 관점을 가지고 있는 여러 사용자들에게 효율적으로 사용되기 위해 외부(external) 단계, 개념(conceptual) 단계, 내부(internal) 단계로 구성된 3단계 구조(3-level database architecture)로 되어있다. 이 단계 구조는 ANSI/SPARC 구조라고 한다. 3단계 데이터베이스 구조에서는 세 개의 서로 다른 스키마가 존재한다. 외부 단계(External Level) 추상화의 최상위 단계로서 뷰 단계라고도 한다. 뷰 단계에서의 스키마를 외부 스키마라고 하는데, 이 외부 스키마에서는 사용자나 응용 프로그래머가 관심있는 부분을 설명하고 나머지 세부사항은 숨긴다. 때문에 각 데이터베이스 대해 외부.. 정렬 알고리즘 정렬(sort) 정렬이란 컴퓨터 과학에서 가장 많이 사용되는 응용 중 하나로서, 주어진 데이터를 일정한 기준에 따라 재배열하는 연산이다. 정렬 방법은 정렬이 수행될 당시 데이터가 어디에 저장되어 있느냐에 따라 크게 내부 정렬(internal sort)과 외부 정렬(external sort)로 나눌 수 있다. 내부 정렬이란 정렬할 데이터의 양이 충분히 크지 않기 때문에 모든 데이터를 주기억장치에 적재해서 정렬하는 방법으로 선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬, 합병 정렬 등이 있다. 한편 데이터가 많은 경우 전체 데이터를 보조기억장치에 저장하고 그 중 일부 데이터를 번갈아가며 주기억장치에 적재해서 정렬을 수행하는 방법을 외부 정렬이라고 하며, 대치선택 방법, 다단계 합병 정렬 등이 있다. 선택 정.. 정수와 실수의 표현 방법 컴퓨터에서 수를 표현하는 방법에 대해서 살펴보고자 한다. 컴퓨터에서 사용하는 수는 크게 정수와 실수로 나뉜다. 정수 소수점 이하의 값을 갖지 않는 수이다. 정수를 표현하는 방식은 부호 없는 정수(unsigned integer)와 부호 있는 정수(signed integer)로 나눌 수 있다. 부호 없는 정수 부호 비트(+, -)가 존재하지 않는다. n비트로 나타낼 수 있는 정수의 범위는 0부터 2n -1까지이다. 예를 들어, 8비트에서 최대 숫자는 11111111, 즉 10진수로 255가 된다. 부호 없는 정수를 표현하기 위해서는 주어진 수를 2진수로 변환한 다음, 변환된 2진수를 주어진 n비트에 채우면 된다. 부호 있는 정수 부호(+, -)를 필요로 하는 정수를 표현할 수 있다. 부호 있는 정수를 표현하.. 폰 노이만 구조 폰 노이만 구조란? 폰 노이만 구조(Von Neumann architecture)는 에드박의 보고서 최초 초안(First Draft of a Report on the EDVAC)에서 수학자이자 물리학자 존 폰 노이만과 다른 사람들이 서술한 1945년 설명에 기반한 컴퓨터 아키텍처이다. 기억장치(Memory)는 주기억장치와 보조기억장치로 구성된다. 폰 노이만 모델에서의 기억장치는 데이터만 저장하는 것이 아니라, 프로그램도 저장한다. 프로그램은 데이터를 처리할 명령어의 조합이다. 산술논리연산장치(Arithmetic logic unit)는 자료에 대한 산술 연산과 논리 연산 수행을 통해 실제 데이터에 대한 연산 처리가 이루어지는 장치이다. 제어장치(Control Unit)는 컴퓨터가 명령어를 읽고 해석하여 지.. 함수의 매개변수 전달 방식 Call by Value, Call by Reference의 비교 함수의 매개변수 전달 방식 함수의 매개변수 전달 방식으로 Call by Value(값 호출 방식)과 Call by Reference(참조 호출 방식)이 있다. Call by Value(값 호출 방식) 함수에서 값을 복사해서 전달하는 방식으로, 인자로 전달되는 변수를 함수의 매개변수에 복사한다. 이렇게 복사되어 전달된 변수는 별개의 변수가 되며 프로그램 안에서의 실 매개변수 값에는 영향을 미치지 않는다. 따라서 원본 값을 바꿀 필요가 없는 경우 값 호출 방식을 이용한다. void swap(int a, int b){ int temp; temp = a; a = b; b = temp; } int main(){ int a, b; a = 1; b = 2; swap(a, b); // 결과: 1 2 return 0; .. 이전 1 다음