프로세스는 메모리 상에서 실행 중인 프로그램최소 하나의 스레드를 가짐Code, data, heap(프로세스 실행 중에 동적으로 할당되는 메모리), stack의 구조운영체제로부터 자원을 할당받는 단위CPU로부터 주소 공간, 파일, 메모리 등을 할당받음, 각 프로세스는 고
하나의 프로그램을 여러 개의 프로세스로 나누어 작업 처리장점여러 프로세스 중에 하나에 문제가 생기면 해당 프로세스만 종료됨단점Context Switching 과정에서의 오버헤드 : 캐시 메모리 초기화 등에서의 시간이 오래걸림, 공유 데이터가 없기 때문에 계속해서 캐시에
스케줄링 : 여러 프로세서가 번갈아 사용하는 자원을 어떤 시점에 어떤 프로세스에 할당할지 결정하는 것스케줄러 : 한정적인 메모리를 여러 프로세스가 효율적으로 사용할 수 있도록 다음 실행 시간에 실행할 수 있는 프로세스 중에 하나를 선택하는 것. 스케줄러에 따라 프로세스
특징비선점 스케줄링이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법짧은 작업이 긴 작업을 기다리는 경우가 발생할 수 있음프로세스 응답 시간의 예측이 용이하며, 일괄 처리 방식 (Batch Processing) 에 적합 \-Batch P
Application에서 I/O 작업을 할 수 없어, Kernal(OS) 에게 I/O 작업을 요청해야 한다이때 Block 되어있는 시간동안 CPU가 낭비되기 때문에 이 부분을 개선하기 위해 필요함작업을 요청한 후 결과가 나올 때까지 기다림BlockingI/O가 끝날 때
동일한 자원에 동시에 접근하는 작업 코드 영역 (공유하는 변수, 동일 파일 사용 등)둘 이상의 스레드가 동시에 접근해서는 안되는 명령문, 코드 일부 영역프로세스들이 임계 영역을 함께 사용할 수 있는 프로토콜을 설계해야 함Race Condition이 발생하지 않게 하기
메인 메모리, RAM을 뜻한다. 프로그램 실행 시 필요한 주소, 정보들을 저장하고 가져다 사용할 수 있게 만드는 공간.즉, 작업을 위해 사용되는 공간.멀티 프로그래밍 환경으로 한정된 메모리를 효율적으로 사용해야함, 메모리 관리 방법이 중요해짐각각의 프로세스는 독립된 메
실행되는 모든 코드를 물리 메모리에 로드하고, 프로그램이 메모리 용량보다 크면 실행할 수 없었음 ⇒ 용량 문제, 페이지를 교체하면서 생기는 성능 이슈 발생 페이징, 세그먼트로 메인 메모리에 프로그램이 연속해서 들어갈 필요가 없어짐Locality Principle :
속도가 빠른 장치와 느린 장치 간의 속도차에 따른 병목 현상을 줄이기 위한 범용 메모리CPU와 메모리 간의 접근 속도 차이를 줄이기 위해 사용하는 고속 Buffer 메모리CPU가 어떤 데이터를 원할지 어느 정도 예측해야 함캐시의 적중율 (Hit rate) : CPU가
물체가 놓인 방향을 3차원 공간에서 표현하기 위한 방법(x,y,z) 축에서의 회전 각도로 정의한다각도는 일반적으로 오른손 법칙 에 따라 정의됩니다 . 즉, 축의 양의 방향에서 볼 때 시계 방향으로 나타나는 회전을 나타낼 때 양수 값을 가지며 회전이 반시계 방향으로 나타