현재 컴퓨터에서 실행중은 프로그램을 프로세스라 칭한다.메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적인 개체)운영체제로부터 시스템 자원을 할당받는 작업의 단위즉, 동적인 개념으로는 실행된 프로그램을 의미함CPU 시간메모리 공간 (RAM)Code, Data,
사용자에게 편리한 인터페이스 환경을 제공하고 시스템의 자원을 효율적으로 관리하는 소프트웨어우리는 컴퓨터로 여러가지 작업을 하게 되는데 이 때 네트워크 카드, 마우스, 키보드, 모니터 등과 같이 컴퓨터 리소스를 사용하게 된다.이를 효율적으로 여러 프로그램에게 나눠주고 적
스케줄러란? 한정적인 메모리를 프로세스가 효율적으로 사용 할 수있도록 작업을 할당시켜주는 역할을 한다.
하나의 프로세스를 다수의 실행 단위로 구분하고 자원 공유, 자원의 생성 및 관리의 중복성을 최소화 하여 수행 능력을 향상 시키는 것이 멀티쓰레드의 정의이다.정리하자면 하나의 프로그램에서 동시에 여러개의 일을 처리할 수 있도록 실행흐름을 만드는 것 (일종의 경량화 된 프
프로세스가 실행되면 OS는 메모리 공간을 할당해주게 된다.할당된 메모리는 다음과 같다.해당 메모리는 읽기전용(Read-Only) 메모리이며실행할 프로그램의 코드(Text)가 담겨있는 영역이다.코드는 실행파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문,
Process Control Block(이하 PCB)는 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조이다.즉 PCB는 OS가 프로세스를 표현한 것이라고 할 수 있다.OS가 프로새스 스케줄링을 위해 프로세스에 관한 모든 정보를 가지고 있는
프로세스 안에서 실행되는 흐름의 단위 프로그램당 최소 1개의 쓰레드(메인 쓰레드)를 가지고 있으며 프로그래머가 만들 수 있다.스택만 따로 할당받고 Code, Data, Heap영역은 공유한다.쓰레드는 한 프로세스 안에서 동작되는 여러 실행의 흐름으로, 프로세스 내의 주
Nagle 알고리즘은 네트워크를 통해 보내야 하는 패킷 수를 줄여 네트크 부하를 줄여주는 수단입니다TCP 패킷의 헤더는 40바이트(TCP 헤더 20바이트, IPv4헤더 20바이트)를 가지고있습니다.만약 작은 크기의 데이터를 계속 보내게 된다면 네트워크 부하가 발생하게