분류 전체보기
-
문맥 교환(Context Switching)운영체제 2022. 1. 28. 23:38
정의 하나의 사용자 프로세스로부터 다른 사용자 프로세스로 CPU 제어권이 이양되는 과정 절차 인터럽트/시스템 콜: 운영체제에서 프로세스 스케줄러에 의해 발생 커널 모드 전환: 프로세스가 실행되는 사용자 모드에서 전환 현재 프로세스 상태 PCB 저장: 기존 실행되던 프로세스 정보 저장 다음 실행 프로세스 로드: PCB에 있는 다음 실행 프로세스 상태 정보 적재 사용자 모드 전환: 커널 모드에서 전환하여 프로세스 실행 발생하는 상황 scheduler dispatch: CPU 할당받아 실행 상태로 전이 timer interrupt: 프로세스에 할당된 시간 종료 = time slice 만료 I/O 요청 시스템 콜: 입출력 요청 후 대기 필요. cpu 사용 못함 즉, 프로세스 상태가 다음과 같이 변경될 때 발생 ..
-
PCB(Process Control Block)운영체제 2022. 1. 28. 22:47
Process MetaData 프로세스가 여러 개 일 때, CPU 스케줄링을 통해 관리를 한다. 이때, 프로세스에 대한 특징과 정보가 있어야 각 프로세스들을 특정하고 관리할 수 있다. 이 '프로세스에 대한 특징'을 가지고 있는 정보가 Process MetaData 다. 종류 OS 관리 정보 프로세스 상태 프로세스 ID 스케줄링 정보, 우선순위 CPU 수행 관련 하드웨어 값 프로그램 카운터(PC) : 다음에 수행할 명령어 위치 CPU 레지스터 : 연산을 위해 현 시점에 가진 정보 메모리 관련 code, data, stack 의 메모리 상 위치 PCB(Process Control Block) 프로세스 메타데이터를 저장하는 곳. 하나의 PCB에는 한 프로세스의 메타데이터만을 저장 운영체제 커널 데이터 영역에 ..
-
CPU 스케줄링운영체제 2022. 1. 19. 04:40
개요 운영체제가 메모리에 적재한 프로세스 중, 다음에 CPU를 할당할 프로세스를 선택하는 것. 왜 필요한 건가? CPU는 한 번에 한 프로세스만 실행할 수 있다. 하지만 프로세스에서는 항상 CPU를 사용하는 것은 아닌데, 입출력 장치를 통해 사용자와의 인터랙션이 진행 중일 때는 프로세스는 CPU를 사용하지 않는다. 하지만 이 때도 프로세스는 CPU를 점유하고 있다. 간단히 말하면 소중한 CPU가 아무것도 하지 않은 채 놀고 있다는 것이다. 이렇게 CPU를 점유하고 사용하지 않는 시간에 다른 프로세스를 실행하면 CPU의 사용률을 높이고 전체 시스템의 성능을 향상시킬 수 있다. 즉, 소중한 자원인 CPU를 최대한 활용하기 위한 기술이 CPU 스케줄링이다. 시스템 종류에 따른 목표 Batch System : ..
-
프로세스와 스레드(Process & Thread)운영체제 2022. 1. 18. 04:14
개념 프로세스 프로그램이 메모리에 적재되고 CPU 자원을 할당 받아 실행되는 상태. 스레드 프로세스 내에서 실행되는 작업의 단위. 쉽게 말하면 프로세스 내에서 실제 작업을 수행하는 주체. 특징 프로세스 각각 독립적인 메모리 영역(Code, Data, Heap, Stack)을 할당받음. 각 프로세스는 별도의 공간에서 실행되기 때문에, 일반적으로 다른 프로세스의 메모리 영역에 접근할 수 없다. 다른 프로세스의 자원에 접근하기 위해서는 IPC(Inter-Process Communication)을 사용해야 한다. 스레드 stack 영역 외에는 부모 프로세스의 공간, 자원을 공유. 즉, 같은 부모 프로세스 내의 다른 스레드와 공간, 자원을 공유한다. 하나의 프로세스는 하나 이상의 스레드를 가진다. 프로세스가 생성..
-
시스템 버스(System Bus)컴퓨터 구조 2022. 1. 13. 05:39
시스템 버스(System Bus) 컴퓨터 구성 요소(CPU, 기억 장치, 입출력 장치)들을 물리적으로 연결해주는 통로다. 'Bus'라는 이름에 어울리게 데이터 및 신호 등을 전달하는 역할을 한다. 요약해보면, 시스템 버스는 컴퓨터 구성 요소 간 데이터, 신호를 전달하는 물리적인 연결 통로다. 구성 시스템 버스는 아래의 버스들로 구성된다. 1. 주소 버스 데이터를 전송하기 위한 기억장치의 물리적 주소를 전달하는 통로 주소를 전달만 하기 때문에 단방향 버스다. 주소 버스의 대역(비트 수)으로 메모리의 양이 결정된다. 8비트 - 28 = 256(메모리 당 1바이트라면 256Byte) 16비트 - 216 = 65,536 2. 제어 버스 제어 신호를 전달하는 통로 각 구성 요소별로 읽기와 쓰기 동작을 제어해야 하..
-
CPU 아키텍처컴퓨터 구조 2022. 1. 12. 03:19
ARM vs x86 ARM Advanced RISC Machine(진보된 RISC 기기) RISC: Reduced Instruction Set Computing(감소된 명령 집합 컴퓨팅) 복잡한 명령 집합 보다는 단순한 명령 집합을 가진 프로세서가 더 효율적이지 않을까 라는 생각에서 탄생한 프로세서 명령 집합 수가 적어 필요 트랜지스터 수가 적고 작은 크기의 CPU 설계를 가능하게 함. 고성능 보다는 저전력/고효율을 목표로 한 기술 스마트폰용 AP 시장을 계기로 SoC 업계에서 주도적인 점유율을 가짐 x86 CISC: Complex Instruction Set Computing(복잡 명령 집한 컴퓨팅) 설계 채택 하위 호환성, 고성능에 중점 M1 칩셋의 장점 Apple Firestorm은 CPU 역사상 ..
-
캐시 메모리(Cache Memory)컴퓨터 구조 2022. 1. 11. 03:26
캐시 메모리가 뭐지? 컴퓨터 성능 향상을 위해 별도로 탑재된 캐시 전용의 메모리를 의미한다. 이 글에서 다루는 캐시 메모리는 CPU 칩 내부나 바로 옆에 탑재되는 메모리를 가리킨다. 캐시 메모리는 어째서 만들어졌지? CPU의 처리 속도가 너무 높아져, 메인 메모리 접근 속도와의 차이가 생겼다. 이로 인해 CPU 처리 속도를 아무리 올려도 메인 메모리에서 데이터를 제공해주지 못해 전체 시스템 성능에 제한이 걸렸다. 그 결과, 캐시 메모리가 만들어지게 되었다. 즉, 시스템 성능 향상을 위해 만들어진 전용 메모리다. 캐시 메모리의 역할과 장단점은? CPU가 주기억장치에서 저장된 데이터를 읽어올 때, 자주 사용하는 데이터를 캐시 메모리에 저장한 뒤, 다음에 이용할 때 주기억장치가 아닌 캐시 메모리에서 먼저 가져..
-
CPU 작동 원리컴퓨터 구조 2022. 1. 8. 03:42
기능 기억 해석 연산 제어 CPU 구성 요소 산술 논리 연산 장치 제어 장치 레지스터 (캐시 메모리) 산술 논리 연산 장치(Arithmetic Logic Unit) 산술 연산(덧셈, 뺄셈, 곱셈, 나눗셈)과 논리 연산(AND, OR, NOT, XOR)을 수행. 연산을 수행하기 위한 명령어를 메모리로부터 불러오고 연산 결과를 다시 메모리로 보내 저장한다. 제어 장치(Control Unit) 명령어를 순서대로 실행할 수 있도록 제어하는 장치. 주기억장치에서 프로그램 명령어를 꺼내 해독 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력장치로 보냄 장치가 보낸 신호를 받아, 다음에 수행할 동작을 결정함 레지스터(Processor Register) 고속 기억 장치. 명령어 주소, 코드..