TLS(Thread Local Storage) : 각 스레드 별로 다른 값을 가지는 전역 변수, 기본적으로 일반적인 전역 변수는 모든 스레드가 공유하기 때문에 상호배제를 안 걸면 Race Condition이 발생 가능하기 때문에 사용(물론, 일반 전역 변수에 직접 상호배제를 걸어도 됨) TLS 변수 선언 방법12345// .tbss Section__thread int val1; // .tdata Section__thread int val2 = 0x12345678csELF Format에는 TLS 전역 변수를 저장하기 위해 .data/bss 섹션이외에 별도로 .tdata/tbss 섹션이 추가됨 초기화 이미지 과정ELF Format에 .tdata/tbss 섹션 추가링크 과정에서 PT_TLS 타입의 데이터 세그..
문자 디바이스(Character Device) 요청 처리 방식 문자 디바이스는 블록 디바이스와 다르게 System Buffer를 사용하지 않기 때문에 요청 큐를 가지지 않는다. 블록 디바이스는 인터페이스를 이용해 제어를 하다가 System Buffer에 해당 내용이 비어있어 디바이스 드라이버까지 요청이 들어오면 요청 큐에 요청을 저장하여, request() 함수를 이용해 요청을 하나씩 꺼내어 처리하였다. 하지만 문자 디바이스는 System Buffer와 상관없이 디바이스 드라이버로 요청이 들어오고 문자 디바이스의 인터페이스를 이용해 바로 요청을 처리한다.블록 디바이스 : System Buffer 사용, request()를 이용해 요청 처리, System Buffer에 쓰기·읽기문자 디바이스 : User ..
Device의 종류Block Device : Block 단위로 입출력을 하는 Device, Block은 File System의 섹터를 의미Character Device : Character 단위, 즉 바이트 단위로 입출력을 하는 Device, 데이터 관리 기능을 가진 응용 프로그램Network Device : 네트워크 층과 연결되어 있음(루프백 장치, 랜카드와 같은...) Block Device Character Device 데이터 전송 단위 Block(File System의 섹터) Character(문자, Byte) 전송 버퍼 처리 System Buffer 사용 응용 프로그램의 Buffer 처리 대표 장치 하드디스크플로피디스크등...(디스크 종류) 프린트,단말기 등... 주요 특징 File System..