728x90

백준 63

24.02.23 CSAPP, 백준, KEYWORD

CSAPP 10. 시스템 수준 입출력(System - Level I/O) 입출력은 메인메모리와 네트워크, 디스크 같은 외부장치들 간에 데이터를 복사하는 작업이다. 입력연산은 입출력 장치에서 메인메모리로 복사하고, 출력연산은 데이터를 메모리에서 디바이스로 복사한다. 왜 UNIX I/O를 배워야 하는가? UNIX I/O를 이해하면 다른 시스템 개념을 이해하는데 도움이 된다. 때로는 UNIX I/O 이외의 다른 방법이 없을 수도 있다. 10.1 Unix I/O 리눅스에서 파일은 연속된 m개의 바이트다. 네트워크, 디스크, 터미널 같은 모든 I/O 디바이스들은 파일로 모델링되며, 모든 입력과 출력은 해당 파일을 읽거나 쓰는 형식으로 수행된다. Unix I/O를 통해 모든 입력과 출력이 일정하고 통일된 방식으로 ..

24.02.21 CSAPP, TCP/IP, 백준, C++

CSAPP 12.6 병렬성을 위해서 쓰레드 이용하기 모든 프로그램의 집합은 중첩되지 않도록 순차적, 동시성 프로그램으로 나눌 수 있다. 순차 프로그램은 단일 논리흐름으로 작성 할 수 있다. 동시성 프로그램은 다수의 동시성 흐름으로 작성할 수 있다. 병렬 프로그램은 다중 프로세서에서 돌아가는 동시성 프로그램이다. 그래서 병렬 프로그램의 집합은 동시성 프로그램 집합의 부분 집합이다. 서로 다른 쓰레드들에 작업을 할당하는 가장 직접적인 접근방법은 이 배열을 t개의 중첩되지 않은 영역으로 나누고, 그 후에 t개의 서로 다른 쓰레드 각각을 자신의 영역에서 동작하도록 할당한다. 메인 쓰레드는 고유의 쓰레드 ID를 각각 피어쓰레드로 전달한다. 각각의 피어쓰레드는 자신의 쓰레드 ID를 사용해서 자신이 작업해야 할 배열..

728x90