본문 바로가기

운영체제4

CPU 스케줄링 CPU 스케줄링기본 개념다중 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행 중인 프로세스를 가지게 하는 데 있다. 다중 프로그래밍에서는 다수의 프로세스를 메모리에 유지하고, 어떤 프로세스가 대기해야 할 경우, 운영체제는 CPU를 그 프로세스로부터 다른 프로세스에 할당한다. 이러한 패턴은 계속된다. 이러한 종류의 스케줄링은 운영체제의 기본적인 기능이다.CPU-I/O 버스트 사이클프로세스들은 CPU 실행과 I/O 대기의 사이클을 반복한다.CPU 스케줄러CPU가 유휴 상태가 될 때마다, 운영체제는 준비 큐에 있는 프로스세 중에서 하나를 선택해 실행해야 한다. 선택 절차는 CPU 스케줄러에 의해 수행된다. 스케줄러는 실행 준비가 되어 있는 메모리 내의 프로세스 중에서 선택하여, 이들 중 하나에게.. 2024. 10. 24.
스레드와 병행성 스레드와 병행성개요스레드는 CPU의 기본 단위이다.스레드는 스레드 ID, 프로그램 카운터(PC), 레지스터 집합, 스택으로 구성된다.스레드는 같은 프로스세스에 속한 다른 스레드와 코드 섹션, 데이터 섹션, 운영체제 자원을 공유한다.동기현대의 컴퓨터와 모바일 기기에서 실행되는 대부분의 소프트웨어 어플리케이션들은 멀티스레드를 이용한다. 어플리케이션은 일반적으로 여러 스레드의 제어와 함께 별도의 프로세스로 구현된다. 스레드의 예시 웹 브라우저는 하나의 스레드가 이미지 또는 텍스트를 표시하고 다른 스레드는 네트워크에서 데이터를 검색하도록 할 수 있다. 웹 서버가 수천명의 클라이언트로부터 자원에 대한 요청을 받을 수 있다. 만약 웹 서버가 단일 스레드 프로세스로 동작한다면 한 번에 하나의 클라이언트만 자원을 응답.. 2024. 10. 4.
프로세스 프로세스의 개념프로세스란 실행 중인 프로그램을 말한다. 프로세스는 현대의 컴퓨팅 시스템에서 작업의 단위이다.프로세스프로세스의 현재 활동의 상태는 프로그램 카운터 값과 프로세서 레지스터의 내용으로 나타낸다. 프로세스의 메모리 배치는 다음과 같다.텍스트 섹션실행 코드데이터 섹션전역 변수힙 섹션프로그램 실행 중에 동적으로 할당되는 메모리스택 섹션함수를 호출할 때 임시 데이터 저장 장소(함수 매개변수, 복귀 주소 및 지역변수 등)텍스트 및 데이터 섹션은 고정되며 프로그램 실행 시간 동안 크기가 변하지 않는다. 스택 및 힙 섹션은 프로그램 실행 중에 동적으로 줄어들거나 커질 수 있다. 프로그램 그 자체는 프로세스가 아니다.프로그램명령어 리스트를 내용으로 가진 디스크에 저장된 파일과 같은 수동적인 존재프로세스다음에.. 2024. 9. 11.
서론 서론운영체제(operating system)컴퓨터 하드웨어를 관리하는 소프트웨어응용 프로그램을 위한 기반을 제공하며 컴퓨터 사용자와 컴퓨터 하드웨어 사이에 중재자 역할을 한다.운영체제가 할 일컴퓨터 시스템의 네 가지 구성 요소하드웨어중앙 처리 장치(CPU), 메모리 및 입출력(I/O) 장치로 구성되어, 기본 계산용 자원 제공운영체제응용 프로그램워드 프로세서, 스프레드시트, 컴파일러, 웹 브라우저 등사용자사용자 관점사용자 관점에서 운영체제는 사용의 용이성을 위해 설계된다.다양한 하드웨어와 소프트웨어 자원이 어떻게 공유되느냐의 자원의 이용에는 전혀 신경을 쓰지 않는다.시스템 관점컴퓨터의 관점에서 운영체제는 하드웨어와 가장 밀접하게 연관된 프로그램이다. 따라서 운영체제를 자원 할당자(resource alloc.. 2024. 7. 21.