본문 바로가기

컴퓨터공학/운영체제&컴퓨터구조3

/proc/cpuinfo linux에서 제공하는 파일 시스템으로서 커널의 관련된 정보들을 다수 포함한다. /proc/cpuinfo 에는 해당 시스템의 cpu 정보를 나타낸다. multicore, hyperthreading 여부에 따라서 sibling의 값이 변한다. cpu(개수)- core(개수) - hyperthreading 여부(1/0) 1-1-0 : 1 2-1-0: 1 1-1-1 : 2 1-2-0 :2 2-2-0 : 2 2-2-1 : 4 이를 통해 cpu 개수를 구하는데 사용할 수 있다. 참고 링크 http://doc.callmematthi.eu/static/webArticles/Understanding%20Linux%20_proc_cpuinfo.pdf 불러오는 중입니다... https://serverfault.com/qu.. 2019. 11. 16.
멀티쓰레드란 쓰레드란 cpu의 실행 단위이자 경량의 프로세스라고 생각하면 편하다. 우선 쓰레드를 사용하는 이유는 프로세스간 switch context overhead가 크고 프로세스간 데이터 통신시에 비용이 큰 것 등 여러가지 성능 이슈와 관련되어 나오게 된 개념이다. 쓰레드는 프로세스 하나를 기준으로 여러 개를 만들 수 있게 된다. 즉, 부모는 프로세스 하나며 자식들이 여러 개의 쓰레드가 된다. 이렇게 되면 부모의 자원들을 여러 쓰레드가 공용으로 사용할 수 있어서 쓰레드간 데이터 통신 비용이 적다. 또한 아래 그림의 F) multicore with hyper-threading tech 를 보면 각 코어 별로 cpu state를 별도로 가지고 있다. 이렇게 되면 동일 코어에서 두 개의 쓰레드가 계속해서 스케줄링 되면.. 2019. 11. 2.
멀티 코어란? 멀티 코어란 cpu의 코어 부분이 두 개 이상 있는 것을 의미한다. 제조사에 아키텍쳐가 다르므로 인텔 기준으로 설명하도록 한다. intel multicore architecture로 검색한 결과이다. 인텔의 어떤 제품의 아키텍쳐 인지는 모르겠지만 큰 그림은 비슷하므로 중요한 부분만 짚어보자. 구글에 검색하면 무슨 코어가 머리고 쓰레드는 팔이느니 하는 이상한 소리가 있지만 무시하면 된다. 사진에서 E) multi core with shared chche 를 보면 중복되는 부분이 있다. 코어가 두개 있는 cpu이다. cpu = 2개의 코어 + chche 인 것이다. 즉, cpu state, interrupt logic, excecution units이 코어를 이루는 요소이다. 따라서 코어가 한 개 씩 추가 .. 2019. 11. 2.