Blocking, Non-Blocking I/O
·
OS
오늘은 Quarkus Reactive에 대해 알아보다 Non-blocking I/O에 대한 개념을 모르고 있다는 느낌이 들어 간단하게 I/O에 대해 공부하고 정리해 봤다. I/O란? 데이터의 입력(Input)과 출력(Output)을 함께 일컫는 말로 컴퓨터에서 데이터를 주고받는 과정을 말한다. 여기서 말하는 데이터는 사용자로부터의 입력, 네트워크 통신을 통해 전송되는 데이터, 파일에 쓰는 데이터 등 다양한 형태를 가질 수 있다. Blocking I/O I/O 작업이 진행되는 동안 프로세스는 자신의 작업을 중단한 채 완료될때 까지 대기하는 방식이다. Blocking I/O는 작업이 완료될 때까지 프로그램이 중단되기 때문에 자원을 비효율적으로 사용한다는 단점이 존재한다. Non-Blocking I/O I/O..
CPU 스케줄링과 알고리즘
·
OS
저번에 PCB에 CPU 스케줄링 정보가 저장된다고 했는데 CPU 스케줄링이 뭔지 CPU 스케줄링에 대해서 알아보자. https://seungjjun.tistory.com/226 프로세스란? (PCB, Context Switching) 프로세스(Process) 프로세스를 간단히 표현하면 실행중인 프로그램이라고 표현할 수 있다. 구체적으로 메모리 상에서 실행 중인 프로그램으로 운영체제로부터 자원(주소 공간, 파일, 메모리)을 할 seungjjun.tistory.com CPU 스케줄링이란? 우선 저번 포스팅에서 모든 프로세스는 실행을 위해 CPU가 필요하기 때문에 운영체제로 부터 CPU 자원을 할당받아야 한다고 배웠었다. 모든 프로세스들은 자신이 먼저 자원을 할당받아 먼저 실행되기를 원할텐데 어떻게 각각 프로..
프로세스란? (PCB, Context Switching)
·
OS
프로세스(Process) 프로세스를 간단히 표현하면 실행중인 프로그램이라고 표현할 수 있다. 구체적으로 메모리 상에서 실행 중인 프로그램으로 운영체제로부터 자원(주소 공간, 파일, 메모리)을 할당 받을 수 있는 것을 말한다. 모든 프로세스는 실행을 위해서 CPU를 필요로 하는데, CPU의 자원은 한정되어 있기 때문에 프로세스가 CPU를 동시에 사용할 수 없다. 즉, 프로세스들은 실행을 위해 각자 자신의 차례를 기다리며 할당받은 시간만큼만 CPU를 이용한다. OS는 이렇게 프로세스의 실행을 관리하기 위해 프로세스 제어 블록(PCB)이란것을 이용한다. 프로세스 제어 블록(Process Control Block, PCB) 프로세스 제어 블록(PCB)이란 프로세스에 대한 중요한 정보들을 저장하고 있는 자료구조이..