목록전체 글 (409)
이야기박스
두 정렬 알고리즘 모두 Priority Queue의 개념을 이용합니다. § Priority Queue ADT란?데이터 항목이 자유롭게 삽입될 수 있는 저장소, 삭제는 키 값에 의해 결정된다.여기서 키란 가장 작은것 혹은 큰것 과 같이 기준을 제시해줌. 두 정렬을 요약하자면 아래와 같습니다.- 삽입 정렬은 리스트의 값이 자신의 위치를 찾아서 들어가는 것.- 선택 정렬은 주어진 위치에 알맞은 값을 찾아서 넣는 것. § 분석- 두 정렬 모두 O()의 전체적인 수행시간을 갖는다.- 기존의 리스트를 제외하면 O(1)의 추가 상수공간만 있으면 된다. § 간단한 C 구현 코드 #include #include #include #define SIZE100 void selection(int *arr); void inser..
시험도 다 끝났다.엄청 열심히 하진 않았고 적당히 열심히 했다. 마지막에 허리가 너무 아파서 책상에 앉을 수 없어서 기말 공부를 많이 못함.너무 아프다.지금도 기사시험 공부해야하는데의자에 앉을 수가 없다.빠이 내 인생
▣ TCP와 UDP의 차이1. TCP는 연결형 프로토콜 / UDP는 비연결형 프로토콜: UDP는 연결 설정을 하지 않으므로 connect() 함수를 사용하지 않는다. ( 사용할 수는 있지만, 함수를 호출하더라도 특별한 패킷 교환이 일어나지 않는다. )2. TCP - 신뢰성 있는 데이터 전송 ; 데이터 재전송 / UDP - 신뢰성 없는 데이터 전송 ; 재전송 하지 않는다: 프로토콜 수준에서 신뢰성 있는 데이터 전송을 보장하지 않음. 필요하다면 응용 프로그램 수준에서 신뢰성 있는 데이터 전송 기능을 구현해야 한다.3. TCP - 일대일 통신(unicast) / UDP - 일대일 통신(unicast), 일대다 통신(broadcast, multicast) : 간단한 소켓 함수 호출 절차만 따르면 다자 간 통신 ..
▣ 자원 (Resource)- 접근이 허용되는 객체- 한 순간에 오직 한 프로세스만 사용할 수 있는 유일한 것 ▣ 자원의 유형- preemptable resource ; 언제든지 회수 가능- nonpreemptable resources ; I/O와 같이 회수 불가능한 것들 § 교착상태 (Deadlock); 프로세스 집합에 있는 각 프로세스가, 모두 같은 집합에 있는 다른 프로세스만이 일으킬 수 있는 이벤트를 기다리고 있다면 이 집합 안에 있는 프로세스들은 교착상태에 있다. ▣ 교착상태의 조건- 상호배제(mutual exclusion) - 보유와 대기(hold and wait)- 비선점(nonpreemption)- 순환대기(circular wait)==> 4가지 조건 모두 충족해야 함 ▣ Holt 모델링 ..
§ 세그먼테이션- 1차원적 가상 메모리에서 서로 분리된 가상 주소 공간을 제공하기 위해▣ 세그먼트 (Segment)- 여러 개의 서로 완전히 독립된 주소 공간들- 0부터 시스템에서 허용된 최대 크기까지 값을 갖는 선형 구조로 구성- 서로 다른 세그먼트는 다른 크기를 갖음- 가변 크기 ( 실행 중 변할 수 있음 )- 주소 표현 ; 세그먼트 번호 + 세그먼트 내부 주소- 장점a. 증가하거나 감소하는 자료 구조의 관리를 간단하게 함b. 서로 분리되어 컴파일된 함수들의 링킹 작업의 단순화c. 함수나 데이터를 여러 프로세스들이 공유하기 쉬움d. 1차원적인 페이징 시스템에 비해 보호 모드에 더 적합 - 페이징과 세그먼테이션의 차이 고려사항 페이징 세그먼테이션 프로그래머가 이 기술이 사용되는 것을 아는가? 아니오 예..
§ 페이징 시스템의 설계▣ 지역 / 전역 할당 정책 - 각 프로세스의 실행에 따라 작업 크기가 변하는 경우, 전역 알고리즘이 효율적- 지역 알고리즘; 작업 집합이 커지면 --> 다른 가용 페이지 존재하더라도 해당 프로세스 스래싱 발생- 전역 알고리즘; 히스토리 정보에 근거, 프로세스 시작 초기에 운영체제가 페이지 프레임 할당을 결정; 실행된 후, 동적으로 추가 할당/반납 --> PFF 알고리즘- PFF (Page Fault Frequency); 페이지 할당 세트의 크기만을 제어 ▣ 부하 제어 (Load Control)- 최선의 교체 알고리즘 / 최선의 전역 페이지 할당 알고리즘 사용해도 스래싱 발생할 수 있다--> 서로 경쟁하는 프로세스 수 줄임--> "스와핑"--> 메모리의 부하를 줄이는 효과- 단, ..
§ 페이지 교체 알고리즘▣ 페이지 폴트 발생시--> 새로운 페이지를 위한 공간 확보--> 제거해야 할 페이지 결정 - 최적의 페이지 교체 기법 (Optimal page replacement algorithm); 참조되지 않는 페이지를 교체하는 방법. 최근에 참조된 페이지를 구별하기 위해, 주기적으로 R비트 클리어 해준다.- M (Modified bit) : 페이지가 수정될 때마다 표시- 초기값 : 0, 0- 페이지 폴트 발생시 --> R, M비트를 4개의 클래스로 (11, 10, 01, 00) ~ 우선순위 순 (11이 가장 높고 00이 낮음)--> 가장 하위 순위의 페이지 클래스부터 임의의 한 페이지 제거 ( 00이 먼저 제거 )- 이해 및 구현 용이, 최적은 아니지만 합당한 성능을 제공- R, M 비트..
§ 페이징 (Paging) - 가상주소 (Virtual Address) ; 프로그램 주소, 프로세스가 생성하는 주소- 사상 (Mapping) ; 가상 주소를 물리주소로 매핑- MMU ; Memory Management Unit ; 이를 관리해 주는 것 ▣ MMU ( Memory Management Unit )- 매핑을 관리 - page : 가상주소 공간의 단위- page frame : 물리 메모리에 대응되는 단위- page fault : page frame에 없고 page에 있음, 접근할 메모리가 Virtual Memory에 있는 경우- 페이지 테이블 (Page table) ; 페이지의 정보를 갖고 있음 --> 페이지 수가 많아진다면, 페이지 테이블도 커짐; 페이지 번호 -> 페이지 테이블의 인덱스-->..