분류 전체보기

운영체제

CPU Switch From Process to Process

CPU Switch From Process to Process PCB가 사용되는 한 가지 중요 point는 CPU가 switch될 때... process를 수행하기 위해서 필요한 일들, 실제로 process를 수행해서 output이 나오는 것은 아니다. 그렇기 때문에 context switch는 overhead이다. (짧을수록 좋다.)

운영체제

Process Control Block(PCB)

Process Control Block(PCB) PCB는 각 process에 대한 모든 정보를 포함하는 memory 구조체이다. process가 생성되게 되면 PCB가 main memory 안에 만들어지게 된다. 이 process가 종료되면 PCB가 free되게 만든다. 예를 들어 A process와 B process가 있다고 하자. CPU의 할당이 A -> B로 switch 된다면 A의 상태를 저장해야 할 것이다. (return address, 현재 program counter의 address를 저장해야 다시 process A로 돌아올 때 어디로 돌아올 것인지(어디서 시작할 것인지)를 알 수 있다.) A의 return address를 가지고 있는 PCB의 내용들, process의 state, CPU r..

운영체제

Process(프로세스)

Process 실행중인 프로그램을 의미한다. -> memory에 올라와 실행되고 있는 program의 인스턴스이다(독립적 개체) -> OS로부터 system 자원을 할당받는 작업의 단위 -> CPU time, 주소 공간(memory 공간) 기본적으로 최소 1개의 thread를 갖는다. 각 process는 별도 주소 공간에서 실행되며 다른 process의 변수나 자료구조에 접근할 수 없고 그렇기 때문에 다른 process의 resource에 접근하기 위해서는 IPC를 사용해야 한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 같은 의미로 쓰인다. 여러 개의 프로세서를 사용하는 것을 멀티 프로세싱(multi processing)이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을..

운영체제

컴파일(Compile)

컴파일(Compile) 컴파일은 주어진 language로 작성된 컴퓨터 program을 다른 language의 동등한 program으로 변환하는 process이다. compiler는 이 작업을 실행하는 software이다. 이 작업은 assembling 또는 build라고도 한다. 보통 complile과 같은 것(예를 들어 binary 형식으로 패키지를 만드는 일) 이상의 작업을 수행한다. 일반적으로 complier는 C 또는 Java와 같은 고급 언어를 CPU가 이해할 수 있는, 즉 어셈블리어와 같은 기계 언어로 변환한다. 유사한 수준의 언어 사이에서 번역하는 일부 complier를 트랜스파일러 또는 크로스 컴파일러라고 한다. 예를 들어 TypeScript에서 JavaScript로 컴파일. 대부분 co..

bmsk_kun
'분류 전체보기' 카테고리의 글 목록 (6 Page)