갑자기 궁금한게 생겼다.
우리가 프로그램을 여러개를 실행시키면 time sharing이나 vm같은걸로 cpu나 memory를 가상화 하자너
특히 cpu같은 경우엔 time quantum동안 한 프로세스가 점유하고 또 다른 프로세스가 잠깐 점유하고 이런식이라는데
일반적인 프로그램 같은 경우엔 그렇게 동작해도 문제 없을거 같다 생각함
근데 궁금한건 비디오랑 음악임
예컨대 음악만 해도 몇 ms가 잠깐 끊겨도 우리 귀는 바로 알아차릴 거임
근데 우린 디시질하면서 컴파일하면서도 음악듣는데 문제가 없잖아
---
음악은 사운드카드, 비디오는 그래픽카드? 이런애들이 처리해주기 때문에
cpu를 시분할 방식으로 나눠써도 끊기지 않는거냐? 어차피 나중에 os 배울때 배울수 있을거 같은데 지금 그냥 궁금함
버퍼
버퍼용량을 최소한으로 줄여버리면 니말처럼 비디오는 물론이고 음악도 뚝뚝끊김
사운드나 그래픽 카드에 있는 버퍼에 미리 왕창 보내놓고 오디오/동영상 프로그램이 ready나 block 상태일때도 이미 버퍼에 다음꺼가 틀어져있으니까 끊기지 않는다는거임?
오디오 드라이버나 비디오 드라이버가 스케줄 될 때, 데이터를 디바이스에 보내 놓으면, 디바이스가 그걸 재생시키는 거 아닐까?
일리있노]
소프트 리얼타임 검색 ㄱㄱ 버퍼만 가지고는 부족함
ㄳㄳ
예를 들어 10초 분량 버퍼를 설정했는데 9초뒤에 10배속으로 재생하면 의미가 없음 10초 분량을 (최대한) 실시간으로 재생을 해야지
수준이.. 전문가 수준입니다.