1. 단일 스레드와 멀티 스레드 * Thread: CPU 활용의 기본 단위 - 프로세스 내에서 프로그램 명령을 실행하는 기본 단위 - 스레드ID, 프로그램 카운터, 레지스터 집합, 스택으로 구성 - 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, open files 등의 운영체제 자원 공유 * 단일 스레드(Single Thread) - 장점: 자원을 공용화 하지 않으므로 공용 자원 접근 통제 불필요, Context Switch 작업 불필요 - 단점: 다수개의 CPU 활용이 불가 * 멀티 스레드(Multi Thread) 개념: 프로그램을 다수의 실행 단위로 나누어 실행, 각각의 스레드가 고유의 레지스터와 스택으로 표현 - 장점 - 대응적 측면: 일부가 차단되거나 장시간 작업 수행시에도 계속해서 실..
1. 프로세스 - 실행중인 프로그렘 - 디스크에 저장된 실행 파일이 메모리에 적재될 때 비로소 프로세스가 된다. - 텍스트 세션: 실행 코드 - 데이터 세션: 전역변수 - 힙 세션: 프로그램 실행 시 동적으로 할당되는 메모리 - 스택 세션: 함수 호출 시 임시 데이터 저장 프로세스 상태 별 설명 New: 프로세스 생성 중 Running: 명령어들이 실행 중 Waiting: 프로세스가 어떤 사건이 일어나기를 기다림 Ready: 프로세스가 처리기에 할당 되기를 기다림 Terminated: 프로세스 실행이 종료 각 프로세스는 운영체제에서 프로세스 제어 블록 PCB에 의해 표현됨 프로그램 카운터: 프로세스가 다음에 실행할 명령어의 주소 CPU 레지스터 메모리 관리 정보 CPU 스케줄링 정보 2. 프로세스 스케줄..
1. 컴퓨터 시스템의 기본 구성 하드웨어(CPU, 메모리, I/O) 운영체제: 하드웨어와 응용 프로그램의 사용을 제어, 조정하는 역할 응용 프로그램 사용자 2. 운영체제의 정의와 하는 일 정의 커널은 컴퓨터에서 항상 실행되는 하나의 프로그램 시스템 프로그램으로서 모든 프로그램을 포함하고 시스템 운영과 관련 있는 응용 프로그램 하는 일 리소스 할당의 주체: 모든 리소스를 관리하고 자원에 대해 충돌되는 요청 사이에서 효율적이고 공정하게 사용, 리소스 분배 제어 프로그램: 프로그램 실행을 제어, 오류 및 부적절한 사용 방지 하나 이상의 CPU, 장치 컨트롤러는 공유된 메모리에 대한 접근을 제공하는 공용 버스를 통해 연결되고, 메모리를 두고 경쟁하는 CPU와 디바이스의 동시 실행 3. 컴퓨터 시스템의 작동 * ..