운영체제3 [운영체제] 프로세스와 쓰레드 프로세스 명령어의 집합체. 즉, 작업이라고 이해하면 됨 최소 1개의 Thread 존재 PCB OS에서 프로세스 상태 관리 - pid (process id) - 실행중인 코드 (기계어) 명령어의 메모리 주소를 담고 있음 cpu core 8가 있다고 가정해보자. process는 100개 있고 process내 쓰레드는 3000개가 있다고 했을 경우, 3000개가 cpu를 쓰겠다고 할경우 병목현상이 날 수 있으니 줄을 새우고, 시분할 사용한다. 너무나 빠른 속도로 전환하니 마치 동시에 작업되는것 처럼 느껴진다. 쓰레드 Virtual Memory에서 Process 내에서만 명령어의 실행 흐름 쓰레드 마다 각자 Thread Local Storage를 고유하고 있음 멀티 쓰레딩 동시성과 동기화 이슈가 항상 생김 he.. 2023. 10. 29. [운영체제] DMA (Direct Memory Access) 개요 인터럽트를 통해 I/O를 제어하기엔 소량의 데이터를 최적화 되어있기에 대량을 데이터를 한번에 보낼 때 높은 오버헤드를 유발 할 수 있다. 그래서 나온 기술을 DMA 이다. 개념 CPU의 직접적인 개입 없이 주변 장치(디스크 드라이브, 네트워크 인터페이스 또는 그래픽 카드 등)가 시스템 메모리와 직접 데이터를 블록 단위로 전송할 수 있도록 하는 기능 1btye 씩 전송되는 인터럽트와 다르게 데이터 블록 전송이 완료될 때마다 인터럽트가 발생한다. 디바이스가 전송작업을 하는 동안 CPU는 다른 작업이 가능하다. 2023. 10. 28. [운영체제] 인터럽트 운영체제의 인터럽트는 컴퓨터 시스템에서 발생하는 이벤트나 예외 상황을 처리하기 위한 중요한 메커니즘 개념 인터럽트는 CPU의 실행 흐름을 일시적으로 멈추고 다른 작업을 처리하기 위해 사용되는 신호 또는 이벤트 인터럽트는 외부 디바이스의 요청, 예외 상황, 소프트웨어 요청 등으로 발생할 수 있습니다. 인터럽트의 종류 외부 인터럽트 전원 이상 인터럽트, 기계 착오 인터럽트, 하드웨어 인터럽트 등 하드웨어 인터럽트 주로 하드웨어 디바이스가 CPU에 요청할 때 발생하며, 예를 들어 타이머 인터럽트, 입출력 인터럽트, 인터럽트 요청 (IRQ) 등이 있습니다. 입출력 인터럽트 입출력 장치가 데이터 전송을 요구하거나 전송이 끝나 다음 동작이 수행되어야 할 경우 소프트웨어 인터럽트 프로그램 내에서 명시적으로 호출되는 .. 2023. 10. 28. 이전 1 다음