프로세스, os, 멀티태스킹, 신호처리
2024. 12. 19. 16:45ㆍCS
프로세스
- 별도의 메모리 공간을 할당받아 독립적으로 실행.
- 독립적으로 실행되는 프로그램의 인스턴스
- 쓰레드
- 하나의 프로세스 내에서 실행되는 작은 작업 단위
- 메모리를 공유한다.
- 스레드는 경량 프로세스로 불림, 생성 및 전환 비용이 낮음.
운영체제의 역할
시스템 자원을 관리
- 프로세스 관리
- CPU 자원을 여러 프로그램에 효율적으로 할당하고 스케줄링함.
- 메모리 관리
- 프로그램 실행에 필요한 메모리를 할당하고 관리함.
- 파일 시스템 관리
- 데이터를 저장하고 접근할 수 있는 파일 시스템을 제공
- 입출력 장치 관리
- 키보드, 마우스, 디스크, 네트워크 장치 등 하드웨어와의 인터페이스를 제공,
- 보안 및 권한 관리
- 사용자 인증, 접근 제어 등을 통해 시스템 보안을 관리함.
멀티 태스킹은 무엇이며, 어떻게 동작하나.
멀티태스킹은 운영체제가 여러 작업을 동시에 실행하는 것처럼 보이게 하는 기능이다.
- 작동 방식
- CPU는 시간 분할을 통해 각 작업에 빠르게 CPU 시간을 번갈아 할당한다.
- 이 과정이 매우 빨라서 여러 작업이 마치 동시에 처리되는 것처럼 보이는 것임!
- 종류
- 선점형 멀티태스킹
- 운영체제가 작업을 강제로 중단하고, 다른 작업에 CPU를 할당.
- 작업을 처리하다가 우선순위가 높은 다른 작업이 있다면 우선 순위가 높은 작업을 먼저 실행시키는 것.
- 이때 우선순위가 낮아서 계속 대기하는 현상을 **기아현상**이라고 함.
- 비선점형 멀티태스킹
- 하나의 작업이 자발적으로 CPU를 다른 작업에 양보.
- 선점형 멀티태스킹
인터럽트와 폴링
인터럽트와 폴링은 CPU가 I/O 장치와 통신하는 방법이다.
- 인터럽트
- 장치에서 이벤트 발생 시 CPU에 알림 발생시킴
- CPU는 다른 작업하다가 인터럽트 발생되면 즉시 해당 작업을 처리함.
- 효율적이지만 복잡한 구현이 필요
- 폴링
- CPU가 주기적으로 장치를 확인해 이벤트가 발생했는지 검사하는 방식.
- 구현은 간단, CPU자원을 불필요하게 소모할 수 있다.
신호처리 (FFT, 샘플링, 필터링)
- 샘플링
- 연속적인 아날로그 신호를 이산 신호로 변환하는 과정.
- FFT(Fast Fourier Transform)
- 신호를 주파수 영역으로 변환해 주파수 성분을 분석하는 알고리즘.
- 필터링
- 신호에서 특정 주파수를 제거하거나 강조하는 작업
'CS' 카테고리의 다른 글
| Spring MVC, Django MVT, Rest API (0) | 2025.05.07 |
|---|