본문 바로가기
728x90

study53

스케줄링의 개요 레스토랑 관리자의 스케줄링 프로세스는 생성, 준비, 실행, 대기와 같은 여러 상태를 거치며 작업이 이루어진다는 것을 앞에서 살펴보았다. CPU스케줄러는 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정한다. CPU스케줄러의 작업을 레스토랑 관리자의 역할에 빗대어 이해해 보자 레스토랑 관리자는 예약과 관리와 좌석 관리를 한다. 손님이 많지 않을 때는 도착한 순서대로 테이블을 안내하고 주문을 받는다. 수용 인원보다 많은 손님이 몰리면 기다리는 손님에게 대기표를 주고 순서대로 자리를 배정한다. 그리고 레스토랑 관리자는 주문을 받는다. 손님이 주문한 요리와 샐러드의 드레싱 종류, 고기의 익힘 정도, 알레르기 여부등을 주문서에 적어 주방으로 보낸다. 레스토랑 관리자는 순서를 바꿀 수도 있다. 또한 관리자.. 2023. 10. 18.
스레드 스레드의 개념 스레드의 정의 예를 들어 설명하자면 안심 스테이크를 만들기 위해 준비하는 과정을 프로세스 생성 과정으로 , 레시피의 정해진 절차에 따라 요리하는 것을 스레드로 볼 수 있다. 프로세스는 요리 작업 전체와 같고, 스레드는 요리를 완성하기 위해 수행하는 각각의 조리에 해당하는 것이다. 프로세스와 스레드의 차이 개개의 프로세스와 스레드는 서로서로 미치는 영향이 다르다. 프로세스끼리는 약하게 연결되어 있는 반면 스레드끼리는 강하게 연결되어 있다. 멀티태스크 워드프로세스와 프린트 스풀러는 서로 독립적으로 작동하다가 필요할 때 출력할 데이터를 주고받는다. 서로 독립적이라는 것은 워드프로세서가 비정상적으로 종료되어도 프린터 스풀러는 정상적으로 작동한다는 의미이다. 이렇게 서로 독립적인 프로세스는 데이터를.. 2023. 10. 17.
프로세스의 연산 프로세스의 구조 프로세스는 코드 영역, 데이터 영역, 스택 영역으로 구성되어 있다. 코드 영역 code area 코드 영역은 프로그램의 본문이 기술된 곳으로 텍스트 영역 이라고도 한다. 프로그래머가 작성한 프로그램은 코드 영역에 탑재되며 탑재된 코드는 읽기 전용으로 처리된다. 자기 자신을 수정하는 프로그램은 존재하지 않기 때문이다. 데이터 영역 data area 데이터 영역은 코드가 실행되면서 사용하는 변수나 파일 등의 각종 데이터를 모아놓은 곳이다. 본문에 사용되는 데이터가 저장되어 있다. 데이터는 변하는 값이기 때문에 이곳의 내용은 기본적으로 읽기와 쓰기가 가능하다. 스택 영역 stack area 스택 영역은 운영체제가 프로세스를 실행하기 위해 부수적으로 필요한 데이터를 모아놓은 곳이다. 예를 들어 .. 2023. 10. 17.
이진 트리의 표현 포화 이진 트리(perfect binary tree) - 전체의 노드의 개수 구하는 공식: 2^k -1 => 여기서 k은 트리의 높이를 대입하면 된다. - 노드에 번호를 부여하는 방법은 왼쪽에서 오른쪽으로 번호를 붙이면 된다. 완전 이진 트리(complete binary tree) - 완전 이진 트리는 높이가 k일 때 레벨 1부터 k-1까지는 노드가 모두 채워져 있고 마지막 레벨 k에서는 왼쪽에서 오른쪽으로 노드가 순서대로 채워져 있는 이진트리이다. 트리 표현 - 괄호 표현법 - 트리를 텍스트 상으로 표현하는 방법으로 괄호를 사용한 방법이다. *완전 이진 트리가 아님이라는 트리를 참고해서 괄호로 표현해 보자 (1(2(4)(5) 3()(6))) 트리 표현 - 배열 표현법 - 노드 i의 부모 노드 인덱스 =.. 2023. 10. 16.
다양한 포인트 처리 기법 명암 변환(Intensity Transfrom) - 밝기를 변경하는 것이 목표다. - 미리 지정된 변환 함수를 기반으로 입력 영상의 픽셀값을 새로운 값으로 변환하는 처리 기법 포인트 처리 기법 g(x, y) = T [f(x, y)] T : 변환 함수(transformation function) // 특정한 연산을 사용하는 함수 +, - , * , / g(x, y) = 값을 변환하여 얻는 출력 영상의 픽셀값(output) ex) 덧셈 연산: g(x, y) = f(x,y) + β 널 변환(Null Transfrom: 0~255안에 나옴, 글램핑을 사용할 일이 없) - 입력 영상을 출력 영상으로 변환해도 변화가 없는 것 - 단순히 입력 필셀값을 출력 픽셀값으로 바꾸는 변환 - 널 변환의 변환 함수 g(x,y).. 2023. 10. 16.
프로세스 제어 블록과 문맥 교환 프로세스 제어 블록 프로세스 제어 블록(PCB)은 프로세스를 실행하는데 필요한 중요한 정보를 보관하는 자료구조로 TCB(task control block)라고도 한다. 모든 프로세스에는 고유의 프로세스 제어 블록이 있으며, 프로세스가 생성될 때 만들어져 프로세스 실행이 완료되면 폐기된다. 포인터: 준비 상태나 대기 상태는 큐로 운영되는데 프로세스 제어블록을 연결하여 준비 상태나 대기 상태의 큐를 구현할 때 포인터를 사용한다. 프로세스 상세: 프로세스 상태에는 생성, 준비, 실행, 대기, 보류 준비, 보류 대기 등이 있다. 이는 프로세스가 현재 어떤 상태에 있는지를 나타내며, 프로세스 제어 블록의 두 번째 블록에 저장된다. 문맥교환 문맥교환의 예시를 들자면 13번 테이블의 파스타를 하고 14번 테이블의 등.. 2023. 10. 16.
728x90