운영체제 3

[운영체제] DMA(Directly memory access)

일반적으로 우리는 늘 CPU를 통해 메모리의 데이터에 접근해 왔습니다. 그러나 혹시 CPU로부터 메모리까지의 접근 거리가 서울에서 부산 과도 같다는 이야기 들어보셨나요? 그만큼 CPU가 메모리에 접근할 때 걸리는 소요 시간이 꽤 길다는 뜻입니다. 또한, CPU는 하나(우리는 singlecore를 다루므로)이므로 CPU가 하나의 일을 수행할 땐 다른 일들을 못하죠. 따라서 메모리에 접근하는 동안 cpu는 당연하게도 다른 일을 할 수 없게 됩니다. 이러한 문제점을 해결해 주는 하드웨어가 있습니다. 그것이 바로 오늘 다루어 볼 DMA 인데요, direct memory access라는 뜻입니다. cpu 개입 없이도 메모리의 데이터를 가져올 수 있는 장치입니다. 우리의 cpu는 항상 바쁩니다. 그렇지 않아도 항상..

운영체제 2024.04.19

[운영체제] 인터럽트(Interrupt) 란 무엇일까?

☁️ Interrupt 란 ? 인터럽트는 CPU가 프로그램을 실행하고 있을 때, 입/출력 장치 혹은 다른 예외상황이 발생하여 처리가 필요할 경우 CPU에 알려서 처리하는 기술 * 동기식 예외(synchronous exceptions) : 명령어 실행 중에 발생하는 이벤트로 인해 발생하며, CPU 자체가 유발한 것. (소프트웨어 인터럽트 / 내부 인터럽트 ) - CPU에 의해 유발되며, OS(커널)에 의해 처리됨. 1. traps : 의도적으로 발생하는 예외 ex) system call, 특수 명령어 - 다음 명령어로 제어권이 반환된다. 2. faults : 의도하지 않았지만 복구 가능한 예외 ex) 페이지 폴트 - 현재의 명령어를 다시 실행하거나 프로그램 중단 3. aborts : 의도하지 않았고 복구도..

운영체제 2024.04.17

[운영체제] 프로세스 뜻, 프로세스 상태

💡 프로그램과 프로세스의 차이는 무엇일까요? 🤔 프로그램 : 하드 디스크에 저장되어 있는 실행 파일. 프로세스 : 프로그램이 메모리에 로드되어 실행되는 상태 프로그램이 실행되면 운영체제는 프로그램을 메모리에 적재한 후 프로세스를 생성함. 프로세스는 프로그램의 실행 단위임. 🐈 💡 프로세스가 메모리에 로드되면 갖게 되는 메모리 구조 - 코드 영역 : 프로그램의 실행 코드 저장 - 데이터 영역 : 전역변수, 정적 변수 - 힙 영역 : 동적 할당 메모리 저장 - 스택 영역 : 함수 호출 시 사용되는 임시 데이터 저장 . * PCB (프로세스 제어 블록) : 프로세스를 관리하기 위해 운영체제가 사용하는 구조체. 프로세스와 관련된 모든 정보가 저장됨(pid,context,pc…). 운영체제는 PCB를 통해 프로세..

운영체제 2024.04.17