본문 바로가기
728x90

Computer Science(CS)/OS2

컴파일러(Compiler) vs 인터프리터(Interpreter) 고급 언어(High-level language)로 프로그램을 짠 후 컴퓨터가 알아들을 수 있는 기계어로 번역을 하는 방법으로는 컴파일 방식과 인터프리트 방식이 있습니다. 그리고 이때 기계어로 번역을 하는 역할을 하는 것이 컴파일러와 인터프리터입니다. 컴파일러(Compiler) 프로그램 전체를 스캔하여 한 번에 기계어로 번역 초기 스캔 시간이 오래걸리지만 전체 실행 시간은 인터프리터보다 빠름 인터프리터보다 많은 메모리를 사용한다는 단점이 있음 전체 코드를 먼저 검사하기 때문에 실행 전에 오류 발견 가능 C, C++, JAVA 등 인터프리터(Interpreter) 프로그램 실행 시 한 번에 한 문장씩 기계어로 번역 컴파일러에 비해 느림 메모리 사용은 인터프리터에 비해 효율적 프로그램 실행 중 오류를 만나면 .. 2023. 3. 29.
문맥교환(Context Switching)이란? Context Switching이란? 정의 현재 진행하고 있는 Task(Process, Thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽어 적용하는 과정 하나의 task가 끝날때까지 다음 task는 기다려야하기 때문에 CPU가 task를 빠른속도로 바꿔가면서 실행하는 것 사람의 눈으로는 실시간으로 처리되는 것처럼 보임 Process와 Thread 처리 task의 정보(=context)는 PCB(Process Control/Context Block)로 관리하고 레지스터(register)에 저장함 1. Process: OS에 의해 PCB로 관리됨 2. Thread: Process내의 TCB(Task Control Block)이라는 내부 구조를 통해 관리 일반적으로 멀티 프로세스를 통해 P.. 2023. 3. 23.
728x90
반응형