일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 렌더링 파이프라인
- 다이나믹 프로그래밍
- 디자인패턴
- 영속성
- 락
- 멀티쓰레드
- 프로그래머스
- 타입 객체
- 동적계획법
- 다이나믹프로그래밍
- 쓰레드
- DirectX 12
- 그리디알고리즘
- 병행성 관련 오류
- 컨디션 변수
- OS
- codility
- Direct12
- 운영체제
- directx
- 병행성
- 멀티프로세서
- 백준
- 알고리즘
- DirectX12
- 그리디 알고리즘
- I/O장치
- 자료구조
- 파일시스템 구현
- 스케줄링
- Today
- Total
목록영속성 (2)
기록공간

먼저 입력/출력 장치의 개념을 소개하고 운영체제가 이 장치들과 상호 작용하는 방법을 알아보도록 하겠다. 당연한 얘기지만, I/O는 컴퓨터 시스템에서 상당히 중요한 부분이다. 컴퓨터 시스템을 유용하게 쓰려면 입력과 출력이 모두 필요할 것이기 때문이다. 그러면 운영체제에서는 I/O를 어떻게 시스템에 통합하는 것일까? 시스템 구조 위는 일반적인 시스템 구조를 그림으로 표현한 것이다. 이 그림에서는 CPU와 주 메모리가 메모리 버스로 연결되어 있다. 몇 가지 장치들이 범용 I/O 버스에 연결이 되어 있는데, 많은 현대의 시스템에서는 PCI(또는 많은 파생 버스들)를 사용하고 있다. 그래픽이나 다른 고성능 I/O 장치들이 여기에 연결될 수 있다. 마지막으로, 그 아래에는 SCSI나 SATA 또는 USB와 같은 주..

RAM 같은 메모리는 휘발성(Volatile)이기 때문에 컴퓨터의 전원이 꺼지면 메모리에 있는 데이터를 모두 잃는다. 즉, 데이터가 영구적이지 않다. 그래서 컴퓨터에는 전원이 꺼지더라도 데이터가 보존되는 영구적인 데이터를 저장할 수 있는 하드웨어와 소프트웨어가 필요하다. 이런 것을 가능하게 해주는 하드웨어는 하드디스크나 SSD 같은 비휘발성 I/O(Input Output) 장치이고, 소프트웨어는 사용자가 생성한 파일들을 관리하는 파일 시스템(File System)이다. 파일 시스템의 모든 작업은 운영체제가 한다. "Hello World!"를 파일에 저장해보자. #include using namespace std; int main() { char mess[] = "Hello World!"; ofstream..