Multi Process 멀티 프로세스 ( 멀티 태스킹 ) 하나의 운영체제 안에서 여러 프로세스가 실행되는 것을 의미한다. 2개 이상 다수의 프로세서 CPU가 협력적으로 1개 이상의 작업을 동시에 처리하는 병렬 기법이다. 각 프로세스 간 메모리 구분이 필요하거나, 독립된 주소 공간을 가질 경우 사용 멀티 프로세스 장점 여러 개의 자식 프로세스 중 하...
Program 프로그램 어떤 작업을 위해 실행할 수 있는 파일 파일이 저장 장치에 저장되어 있지만 메모리에는 올라가 있지 않은 정적인 상태 = "그냥 코드 덩어리" 아직 운영체제가 프로그램에게 독립적인 메모리 공간을 할당하지 않음 실행되지 않은 파일 ( .exe / .dmg ) Process 프로세스 과정 프로그램을 실행하면 그 순간...
PCB 프로세스는 프로세서에 의해 수행되는 프로그램 단위로 현재 실행 중이거나, 곧 실행 가능한 PCB을 가진 프로그램이다. PCB 정의 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳 프로세스의 상태 정보를 저장하는 구조체 프로세스 상태 관리와 문맥교환을 위해 필요 PCB는 프로세스 생성 시 만들어지며 주기억장치에 유지됨 프로세스 하나당 ...
우리 눈에는 여러가지 프로그램은 동시에 실행시키는 것으로 보이지만, 사실 여러개의 프로세스를 짧은 시간 번갈아 실행시키면서 동시에 실행하는 것처럼 보이는 것입니다. 이는 CPU는 한번에 하나씩의 일을 처리하기 때문입니다. 따라서, 다른 프로세스를 실행시키기 위해서는 실행 중인 프로세스를 중단하는 인터럽트라는 것이 필요합니다. (인터럽트 설명) 인터럽트가 ...
프로세스 종류 운영체제 내에서 실행되는 프로세스들은 독립적이거나 협력적인 프로세스들로 나눌 수 있습니다. 독립적인 프로세스 시스템에서 실행중인 다른 프로세스들에게 영향을 주거나 받지 않는 프로세스 협력적인 프로세스 시스템에서 실행중인 다른 프로세스들에게 영향을 주거나 받는 프로세스 IPC가 반드시 필요 IPC IPC : inter process...
동기화 독립적인 프로세스 시스템에서 실행중인 다른 프로세스들에게 영향을 주거나 받지 않는 프로세스 협력적인 프로세스 시스템에서 실행중인 다른 프로세스들에게 영향을 주거나 받는 프로세스 배경 협력적인 프로세스는 논리 주소 공간을 직접 공유하거나 파일 또는 메시지에 의해서 공유가 이루어지는데, 이는 스레드를 통해 도달할 수 있습니다. 이러한 경우 데...
Protocol 프로토콜이란, 선언된 프로퍼티, 메소드, 기타 요구사항 등을 직접 구현하지 않고 특정 역할을 수행하고자, 조건만 제시한 규약입니다. Delegate란? Protocol를 이용하여 권한을 위임하고 일을 처리하는 방식의 디자인 패턴입니다. 다시말해 delegate pattern은 클래스나 구조체의 인스턴스에 특정 행위에 대한 책임을 다른...
목표 Delegates와 Notification 방식의 차이점에 대해 설명하시오. KVO(Key Value Observing) 동작 방식에 대해 설명하시오. 3가지 패턴이 나오게 된 배경 어플리케이션의 특성상 객체 간의 소통은 필수적입니다. 하지만, 다른 객체에 종속되어 동작하는 것은 재사용성과 독립적 기능요소 측면에서 볼때는 바람직하지 않습니다. 그...
KVO KVO는 A객체에서 B객체의 키의 값이 변화됨을 감지할 수 있는 패턴입니다. 위의 두 패턴이 주로 Controller와 다른 객체 사이의 관계를 다룬다면, KVO 패턴은 객체와 객체 사이의 관계를 다룰 때 적합합니다. 메소드나 다른 액션에서 나타나는 것이 아니라, 프로퍼티의 상태에서 반응하는 형태 동작방식 모델 객체의 어떤 값이 변경되었을 경...
정의 프로세서 스케쥴링이란, 프로세스가 생성되어 실행할때, 필요한 여러자원을 할당하는 작업입니다. CPU 스케쥴링이란, 어느 작업이 CPU를 사용할 것인지 결정하는 작업입니다. 이때, 생성되어 완료될때까지 프로세스는 여러 종류의 스케줄링 과정 거치게 됩니다. 목적 : CPU나 자원을 효율적으로 사용하기 위해 씁니다. 공정성, 처리율 증가, CP...
메모리 구조 운영체제 메모리 구조는 유저영역, 커널영역 2가지로 나뉩니다. (만약 운영체제가 커널 영역에 올라가 있는데 사용자가 마음대로 접근할 수 있다면 시스템이 안정적으로 운용될 수 없을 것이다. 그렇기 때문에 사용자가 함부로 커널 영역에 접근할 수 없도록 2가지 영역으로 나누어 사용하는 것이다. ) 유저영역 프로그램이 실행되기 위해선, 먼저 프...
캐시 등장 배경 기술의 발전으로 프로세서 속도는 빠르게 증가해온 반면에, 메모리 속도는 이를 따라가지 못했다. 이렇게 되면 프로세서가 아무리 빨라도 메모리의 처리 속도가 느리기 때문에 전체 시스템 속도는 느려지게 된다. 이를 개선하기 위해 등장한 장치가 캐시 이다. 캐시 Cache 정의 프로세서와 메인 메모리간의 처리 속도 차이를 보완하기 위한 고속...