Computer Science/Operating System 36 Process, PCB(Process Control Block) Process Process는 실행 중인 프로그램이다. Process는 다음과 같이 구성되어 있다. 이들을 process의 실행상태를 표현하기 위해서 사용된다. address space memory의 상태를 의미한다. 메모리 상에서 process가 차지하고 있는 영역 = code + data + stack code : instruction data : global variable stack : 함수의 인자, return address, local variable(temporary variable) current activity CPU의 상태를 의미한다. program counter(PC) processor의 register(범용 레지스터) Program vs. Process program 개발자가 작성한.. 2021. 6. 16. User Mode, Kernel Mode Privilege Mode Processor는 다른 privilege mode를 제공한다. Intel architecture : 4개의 privilege mode 제공 ARM architecture : 8개의 privilege mode 제공 Execution Mode Privilege mode는 크게 2개로 구분할 수 있다. user mode 응용프로그램의 code가 동작한다. non-privileged instruction이나 register만 사용한다. system call이나 interrupt에 의해 kernel mode로 전환된다. kernel mode kernel code가 동작한다. privileged instruction이나 register만 사용한다. User Mode → Kernel Mo.. 2021. 6. 16. Interrupt, I/O Device Interrupt and Exception 본 노이만 구조는 instruction들을 순차적으로, 동기적으로 실행한다. 그러나 실제 상황에서는 비동기적으로 발생하는, 즉 주기적으로 발생하지 않는 이벤트들을 처리해야한다. 이러한 이벤트들을 interrupt라고 한다. Synchronous, Asynchronous Synchronous 프로그램이 작성됬을 때 부터 예정된 일 예층가능하고, deterministic이다. 포인터의 잘못된 주소 참조 등 Asynchronous 미리 예정되어있지 않아서 예측 불가능한 것이다. 네트워크 에러 등 Interrupt, Exception Interrupt나 exception은 순차적으로 실행되는 instruction들의 흐름을 깨고 실행되는 asynchronous 이벤트들.. 2021. 4. 5. 컴퓨터 구조와 프로그램 실행 Computer System Elements 컴퓨터는 다음과 같이 구성되어 있다. Processor(CPU) system operation을 control한다. Main memory 휘발성 저장소로, real memory, primary memory라고도 한다. data와 program을 저장한다. I/O module computer와 external environment 사이에 데이터를 옮긴다. 하드디스크, 디스플레이, 키모드, 마우스 등이 있다. System bus 프로세서, 메인 메모리, I/O module 사이에 통신을 가능하게 한다. Von Neumann Model 컴퓨터의 발전 초기의 컴퓨터는 프로그램이 메모리 안에 내장되어있지 않았다. ENIAC 최초의 general electronic co.. 2021. 4. 3. Fundamental Concepts of OS OS의 Key Concepts Operating System이 제공하는 핵심적인 기능은 다음과 같다. Abstraction Protection Illusion Coordination and Optimization Abstraction 일반적인 의미에서의 abstraction은 "복잡성을 줄이기 위해 주요한 특징을 간추려 제공하는 것"으로, 어떠한 복잡한 것을 간단하게 제공하는 것이다. OS는 하드웨어의 복잡성을 숨기고, 프로그래머에게 clean, uniform, and standard interface을 제공한다. OS에서의 abstraction이란 프로그래머가 하드웨어를 쉽게 제어할 수 있도록 인터페이스(API)을 제공하는 것이다. 예를 들어 POSIX APIs가 있다. Big Library OS는 b.. 2021. 3. 24. 이전 1 ··· 4 5 6 7 8 다음