해당 내용은 쉽게 배우는 운영체제을 기반으로 작성되었습니다.2. 스케줄링 시 고려 사항02(1) 선점형 스케줄링과 비선점형 스케줄링 선점형 스케줄링 (preemptive scheduling) - '선점' = 빼앗을 수 있음 - 어떤 프로세스가 CPU를 할당받아 실행 중이더라도 운영체제가 CPU를 강제로 빼앗은 수 있는 스케줄링 방식 - 운영체제가 필요하다고 판단 시, 실행 상태에 있는 프로세스의 작업을 중단시키고 새로운 작업 시작 - 하나의 프로세스가 CPU를 독점할 수 없기 때문에 빠른 응답 시간을 요구하는 대화형 시스템이나 시분한 시스템에 적합 - 대부분의 저수준 스케줄러는 선점형 스케줄링 방식을 사용 - 단점 : 문맥 교환같은 부가적인 작업으로 인해 낭비가 생김 - 선점형..
내부정렬모든 데이터를 하나의 배열로 저장 가능 알고리즘 외부정렬데이터가 너무 많아 하나의 배열에 저장 불가능 알고리즘 알고리즘의 핵심 요소교환 선택 삽입 버블 정렬 시간복잡도: O(n^2) 단순삽입정렬- 가장 작은 요소부터 정렬하는 알고리즘 장점정렬을 마친 상태에 가까우면 정렬속도가 매우 빨라진다. 단점삽입할 위치가 멀리 떨어져있으면 이동해야하는 횟수가 많아짐 단순삽입정렬시간복잡도: O(n^2) 셸 정렬시간복잡도: O(n^1.25 병합. 합병 정렬앞 배열, 뒤 배열 정리 후 합치기 크기 비교1
해당 내용은 Do it! 자료구조와 함께 배우는 알고리즘 입문 C 언어 편 (전면 개정판)을 기반으로 작성되었습니다.3-3장 검색 알고리즘 - 복잡도 (3/5)이진 검색의 시간 복잡도
해당 내용은 쉽게 배우는 운영체제을 기반으로 작성되었습니다.1. 스케줄링 개요01(3) 스케줄링 목적 CPU 스케줄링 본래 목적 - 모든 프로세스가 공평하게 작업하도록 - 특정 프로세스에 편중 X, 자원을 골구로(효율적으로) 배분 O, 공평성 유지, 안정적 작동 O -> 성능 높여야 함. - 특정 프로세스가 시스템 자원을 독점/파괴하는 것을 막기 위해 중요도에 따라 우선순위를 배정해야 함. CPU 스케줄링 목적공평성 : 모든 프로세스가 자원을 공평하게 배정받아야 하며, 그 과정에서 특정 프로세스가 배제되어서는 안 된다. 효율성 : 시스템 자원이 유후 시간 없이 사용되도록 스케줄링을 하고, 유휴 자원을 사용하려는 프로세스에는 우선권을 주어야 한다. *유휴 : 어떠한 프로그램에 의해서도 사..
해당 내용은 쉽게 배우는 운영체제을 기반으로 작성되었습니다.1. 스케줄링 개요1(2) CPU 스케줄링 스케줄링 단계 - 레스토랑 관리자는 주방 및 재료 상황, 레스토랑 규모 등을 파악하여 적당한 인원, 손님 배치하여함 (큰 틀) - 그 후, 손님들의 다양한 상황을 고려하여 요리 속도, 순서를 관리해야 함. (작은 틀) - 큰 틀 관리와 작은 틀 관리를 병행하듯이 CPU 스케줄러도 관리의 범주를 나누어 스케줄링한다. - [고수준 스케줄링] [저수준 스케줄링] [중간 수준 스케줄링] 고수준 스케줄링 high level scheduling(= 장기, 작업, 승인 스케줄링) - 시스템 내의 전체 작업 수 조절 - 운영체제에서 작업(일)의 가장 큰 단위 - 많은 작업을 동시에 하면 시스템 과부하로 작업 원활 x ..
해당 내용은 쉽게 배우는 운영체제을 기반으로 작성되었습니다.1. 스케줄링 개요01(1) 레스토랑 관리자의 스케줄링 레스토랑 관리자 = CPU(프로세서) 스케줄러 - 주방과 홀이 분리된 레스토랑에서는 요리사가 홀 상황을 알기 어렵기 때문에 레스토랑 관리자가 따로 존재한다. - 레스토랑 관리자는 [예약관리] [좌석 관리] [주문 관리] [조리 순서 관리] [손님 요청 관리] 등 다양한 일을 한다. - ex) 손님 小 -> 도착한 순으로 착석 / 손님 多 -> 대기, 순서대로 착석 예약 손님 노쇼 -> 연락, 다른 손님 착석 주문받을 때 -> 샐러드 소스, 고기 익힘 정도, 알레르기 여부 등 손님 식사 속도에 따라 조리 순서 조절 CPU 스케줄러 - 프로세스가 생성된 후 종료될 때까지 모든 상태의 변화를 조정..