개인공부에 해당하는 글 2

CPU 코어와 쓰레드

개인공부|2020. 4. 6. 23:41

*개념이해*


CPU : 중앙 처리 장치(中央處理裝置) 또는 CPU(영어: central processing unit)는 컴퓨터 시스템을 통제하고 프로그램의 연산을 실행하고 처리하는 가장 핵심적인 컴퓨터의 제어 장치, 혹은 그 기능을 내장한 칩을 말한다.


CPU에 있어서 코어(core)의 의미는 물리적인 CPU프로세서이다.

즉 프로그램을 실행시켰을때 실제로 일하는 역할을 맡고있다.

원래 코어는 한번에 한가지 작업만 할수 있었다.


그런데 2000년대 초반 하이퍼스레딩 기술이 도입되면서 단일 프로세서 코어가 두개의 작업을 동시에 실행할수 있게 되었다.

여기서 쓰레드에 의미를 설명할수 있다. 위에서 설명한 두개의 작업이 쓰레드의 의미이다.


쓰레드는 논리적인 작업이다.


예를들어 물리적으로 4코어를 가진 프로세서가 있다면(하이퍼스레딩 기술이 적용되었을 경우) 논리적으로 일할수 있는 프로세서는 8이다.









쉽게 이야기하면 코어는 일할수 있는 사람이라 생각하고 스레드는 양팔이라 생각하면된다.(동시에 작업가능)


그래서 위에 그림에서 실제로 컴퓨터는 논리적으로 동시에 일할수 있는 작업이 8개이다.



*CPU 코어 및 프로세서 확인 법*


그럼 CPU와 코어 확인을 할수 있는 방법에 대해 알아보자.



Windows의 경우

1. 작업관리자 -> 성능 탭에서 확인

2. CMD 명령어 창에 "wmic cpu get NumberOfCores, NumberOfLogicalProcessors" 입력



3. 장치관리자에서 프로세서 확인





Linux의 경우

1. lscpu 또는 cat /proc/cpuinfo (동일한 결과)


참고 : lscpu 명령어는 cpu 정보 출력하는 명령어로 /proc/cpuinfo 에서 정보를 출력한다.







*이해하기 쉽게 설명되어 있는 영상 추천*



(출처 : https://youtu.be/_dhLLWJNhwY)



*출처*



참고 페이지


https://donghoson.tistory.com/14
http://egloos.zum.com/recipes/v/5249877
https://namu.wiki/w/CPU
http://www.enuri.com/knowcom/detail.jsp?kbno=255459
https://wikidocs.net/63816
https://ko.computersm.com/7-ways-tell-how-many-cores-your-processor-has
https://ko.wikipedia.org/wiki/%EC%A4%91%EC%95%99_%EC%B2%98%EB%A6%AC_%EC%9E%A5%EC%B9%98
https://qastack.kr/unix/88283/so-what-are-logical-cpu-cores-as-opposed-to-physical-cpu-cores
https://m.blog.naver.com/PostView.nhn?blogId=kkjjss4737&logNo=221523240622&proxyReferer=https%3A%2F%2Fwww.google.com%2F

https://ko.wikipedia.org/wiki/%EC%A4%91%EC%95%99_%EC%B2%98%EB%A6%AC_%EC%9E%A5%EC%B9%98

'개인공부' 카테고리의 다른 글

Access Token  (0) 2019.05.29

댓글()

Access Token

개인공부|2019. 5. 29. 12:47

Window System에서는 NTFS 파일에서 파일이나 폴더에 접근을 관리한다.

예를 들어 특정 User가 특정 파일/폴더에 접근하려면 NTFS에서는 다음과 같은 절차를 걸친 후 사용자에게 권한을 부여해준다.

1.     SID 값 일치여부 확인

2.     해당 사용자의 Access Token과 파일서버에 저장되어 있는 Access Token값과 비교 후 접근 권한 부여

 

SID값은 객체가 생성될 때마다 자동으로 부여되는 고유한 값이다. 모든 보안 주체들은 고유한 SID 값을 가지고 있다. SID는 사용주체가 만들어질 때마다 고유번호를 생성하여 부여되기 때문에 같은 user name을 가져도 SID가 다르다. 해당 값은 Entity가 삭제될 때 손실되기 때문에 추후 사용 가능성이 있다면 비활성화를 권고하고 있다.

SID값으로만 사용자의 접근 신원을 파악하기 어렵다. 악의적인 목적을 가진 사용자가 타 사용자의 SID를 가장할 수 있기 때문이다.  따라서 NTFS에서는 Access Token을 이용하여 사용자에게 액세스 권한이 부여되었는지 여부를 파악한 후 권한을 부여한다. Access Token은 디지털 서명과 같은 기술로 Entity에 대한 보안을 포함하고 있다. Access Token에는 SID, Permissions, Group membership의 내용이 있다.

<출처 : itfreetraining : https://youtu.be/Ed_2BKn3QR8>

NTFS에서는 Access Token을 이용하는 방식은 다음과 같다.

예를 들어 홍길동이라는 사용자가 특정 파일에 접근한다고 가정하자.

-1. 시스템에 이미 해당 사용자 개체가 존재할 때 Domain Controller는 해당 사용자에게 비밀번호 등으로 올바른 사용자인지 파악한다.

-2. Domain Controller는 해당 사용자에 대한 Access Token(사용자 SID, 해당 사용자가 포함된 모든 그룹에 대한 SID)을 생성 후 사용자에게 전송한다.

-3. 사용자가 파일 접근 시 파일 서버에 사용자의 SIDS값을 전달한다.

-4. 파일 서버는 등록되어있는 ACL 값과 사용자의 SIDS값을 비교 후 접근 허가를 한다.

'개인공부' 카테고리의 다른 글

CPU 코어와 쓰레드  (0) 2020.04.06

댓글()