본문 바로가기
반응형

컴퓨터공학과42

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.
Ch02. 컴퓨터의 구조와 성능 향상 _03) 컴퓨터 성능 향상 기술 교재를 참고하였습니다. 버퍼 버퍼 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 하는 장치 일정량의 데이터를 모아 옮김으로써 속도의 차이를 완화 더보기 버퍼 : 속도차이가 있는 두 장치 사이에서 그 차이를 완충하는 역할. 속도가 느린 입출력장치에서 데이터를 읽을 때마다 하나씩 전송하면 작업량에 비해 실제로 전송되는 데이터의 양이 매우 작지만, 일정량의 데이터를 모아 한 번에 전송하면 적은 노력으로 많은 양의 데이터를 옮길 수 있음 일정량의 데이터를 모아 옮김으로써 속도의 차이를 완화 스풀 CPU와 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼 [예] 스풀러 인쇄할 내용을 순차적으로 출력하는 소프트웨어로 출력 명령을 내린 프로그램과 독립적으로 동작 인쇄물이 완료될 때까지 다.. 2023. 3. 24.
Ch02. 컴퓨터의 구조와 성능 향상 _02) CPU와 메모리 교재를 참고하였습니다. CPU의 구성과 동작 산술논리 연산장치 데이터의 덧셈, 뺄셈, 곱셈, 나눗셈 같은 산술 연산과 AND, OR 같은 논리 연산을 수행 제어장치 CPU에서 작업을 지시 레지스터 CPU 내에 데이터를 임시로 보관 CPU의 명령어 처리 과정 int D2 = 2, D3 = 3, sum; sum = D2 + D3; 위 코드를 어셈블리어로 바꾸면 다음과 같음 01행 : 메모리의 100번지(D2)에 있는 값을 레지스터 2로 가져온다. 02행 : 메모리의 120번지(D3)에 있는 값을 레지스터 3으로 가져온다. 03행 : 레지스터 2와 레지스터 3에 저장된 값을 더한 결과를 레지스터 5에 넣는다. 04행 : 레지스터 5의 값을 메모리의 160번지(sum)로 옮긴다. 'LOAD mem(100), r.. 2023. 3. 23.
반응형