반응형 컴공과44 [심화]Ch03. 프로세스와 스레드 _05) 동적 할당 영역과 시스템 호출 교재를 참고하였습니다. 프로세스의 동적 할당 영역 프로세스의 구조 코드 영역 : 프로그램의 본체가 있는 곳 데이터 영역 : 프로그램이 사용하려고 정의한 변수와 데이터가 있는 곳 스택 영역과 힙 영역 : 프로세스가 실행되는 동안 만들어지는 영역으로, 그 크기가 늘어났다 줄어들기도 하는 동적 할당 영역 스택 영역 스레드가 작동하는 동안 추가되거나 삭제되는 동적 할당 영역 스레드가 진행됨에 따라 커지기도 하고 작아지기도 함 힙 영역 프로그램이 실행되는 동안 할당되는 변수 영역 포인터, malloc( ) 함수 등은 메모리를 효율적으로 사용하기 위해 만들어진 것으로 어쩌다 한 번 쓰는 큰 배열을 처음부터 선언하고 끝까지 놔두는 일이 없어야 함 2023. 3. 26. Ch03. 프로세스와 스레드 _04) 스레드 교재를 참고하였습니다. 스레드의 개념 스레드의 정의 CPU 스케줄러가 CPU에 전달하는 일 하나 CPU가 처리하는 작업의 단위는 프로세스로부터 전달받은 스레드 운영체제 입장에서의 작업 단위는 프로세스 CPU 입장에서의 작업 단위는 스레드 프로세스와 스레드의 차이 프로세스끼리는 약하게 연결되어 있는 반면 스레드끼리는 강하게 연결되어 있음 멀티태스크와 멀티스레드의 차이 멀티태스크 : 여러 개의 프로세스로 구성된 것 멀티스레드 : 하나의 프로세스에 여러 개의 스레드로 구성된 것 멀티스레드 프로세스 내 작업을 여러 개의 스레드로 분할함으로써 작업의 부담을 줄이는 프로세스 운영 기법 멀티태스킹 운영체제가 CPU에 작업을 줄 때 시간을 잘게 나누어 배분하는 기법 멀티프로세싱 CPU를 여러 개 사용하여 여러 개의 스.. 2023. 3. 26. Ch03. 프로세스와 스레드 _03) 프로세스의 연산 교재를 참고하였습니다. 더보기 앞에서는 프로세스의 상태 변호에 대해 이야기를 했는데, 이제 프로세스가 어떻게 생성되고 복사되는지 공부해보자. 프로세스 생성과 복사를 공부하기 전, 프로세스 구조에 대해 알아보자. 프로세스의 구조 프로세스의 구조 더보기 프로세스는 코드영역, 데이터 영역, 스택 영역으로 구성 예를 들어 워드프로세서 프로그램을 실행하면 이 프로그램은 코드 영역에 탑재되고, 워드프로세서로 편집 중인 문서는 데이터 영역에 탑재, 또한 운영체제가 워드프로세스를 작동하기 위해 사용하는 다양한 부가적인 데이터는 스택 영역에서 관리함 - 데이터 영역과 스택 영역 사이에 힙 영역 존재 - 코드 영역 : 정적인 영역 - 데이터 영역 : 동적인 영역 - 스택 영역 : Last in First out 코드 영역.. 2023. 3. 26. Ch03. 프로세스와 스레드 _02) 프로세스 제어 블록과 문맥 교환 교재를 참고하였습니다. 프로세스 제어 블록 프로세스 제어 블록 (PCB) 프로세스를 실행하는 데 필요한 중요한 정보를 보관하는 자료 구조 프로세스는 고유의 프로세스 제어 블록을 가짐 프로세스 생성 시 (동시에) 만들어져서 프로세스가 실행을 완료하면 폐기 프로세스 제어 블록의 구성 포인터 : 준비 상태나 대기 상태의 큐를 구현할 때 사용 프로세스 상태 : 프로세스가 현재 어떤 상태에 있는지를 나타내는 정보 프로세스 구분자 : 운영체제 내에 있는 여러 프로세스를 구현하기 위한 구분자 프로그램 카운터 : 다음에 실행될 명령어의 위치를 가리키는 프로그램 카운터의 값 프로세스 우선순위 : 프로세스의 실행 순서를 결정하는 우선순위 각종 레지스터 정보 : 프로세스가 실행되는 중에 사용하던 레지스터의 값 메모리 관리 .. 2023. 3. 26. Ch03. 프로세스와 스레드 _01) 프로세스의 개요 교재를 참고하였습니다. 프로세스의 개념 프로그램 : 저장장치에 저장되어 있는 정적인 상태 프로세스 : 실행을 위해 메모리에 올라온 동적인 상태 더보기 운영체제에서 프로세스는 하나의 작업단위임. 프로그램과 프로세스 : 자신만의 메모리 영역이 있음을 의미함. 따라서, 우리가 작성한 프로그램이 실행되면 프로세스가 됨. 프로그램에서 프로세스로의 전환 더보기 시분할 방식에서 프로그램이 프로세스로 전환될 때, 먼저 OS는 프로그램을 메모리의 적당한 위치로 가져옴. 그 다음 작업지시서 생성, 이 작업지시서가 프로세스제어블록 (Process Control Block : PCB) PCB는 프로세스를 처리하는데 필요한 다양한 정보가 들어있음 PCB가 없으면 프로그램이 프로세스로 전환되지 못함. 프로세스가 된다는 것은 OS.. 2023. 3. 25. Ch02. 컴퓨터의 구조와 성능 향상 _04) 병렬 처리 교재를 참고하였습니다. 병렬 처리의 개념 병렬 처리 (parallel processing) 동시에 여러 개의 명령을 처리하여 작업의 능률을 올리는 방식 볶음밥 조리 예 더보기 CPU의 성능을 향상시키는 가장 좋은 방법은 CPU 클록을 높이거나 캐시의 크기를 늘리는 것. 그러나 CPU 클록을 높이면 발열문제가 발생하므로 현재기술로 약 5GHz 넘는 CPU 개발하기 어려움. 캐시크기를 확장하는 것도 비용문제가 있음. CPU 성능향상을 위해 CPU의 핵심 기능을 가진 코어를 여러 개 만들거나, 동시에 실행 가능한 명령의 개수를 늘리는 방법을 사용함 병렬처리는 동시에 여러 개의 명령을 처리하여 작업능률을 올리는 방법을 말함 최근 컴퓨터용 CPU 사양을 보면 듀얼코어, 쿼드코어라고 표시되어 있는데, 이는 CPU의.. 2023. 3. 25. 이전 1 2 3 4 5 6 7 8 다음 반응형