|
(광고) 단통법 시대의 인터넷가입 가이드(ver2.0) (234) |
백메가 |
2015-12 |
1793811 |
25 |
2015-12
1793811
1 백메가
|
|
[필독] 처음 오시는 분을 위한 안내 (737) |
정은준1 |
2014-05 |
5268796 |
0 |
2014-05
5268796
1 정은준1
|
32039 |
ESXi PCI-Pass Through 가능한 NVidia VGA중 저렴한 것 추천 부탁드립니다. |
online9 |
2017-06 |
3106 |
1 |
2017-06
3106
1 online9
|
32038 |
hp 프린트 메인 usb 공유 32에서 서브 64로 문제 발생 합니다. (4) |
전산oa |
2017-07 |
3491 |
1 |
2017-07
3491
1 전산oa
|
32037 |
iexplorer.exe DLL 관련 (C++ Runtime error 오류) 오류에 관한 문의 (1) |
김승권 |
2008-12 |
6946 |
1 |
2008-12
6946
1 김승권
|
32036 |
3.5인치 HDD를 노트북에서 외장하드 처럼 연결하고 싶습니다. (7) |
두cpu |
2017-01 |
25376 |
1 |
2017-01
25376
1 두cpu
|
32035 |
서버 정보도 있어서 이제 지웁니다. |
강한구 |
2017-01 |
3606 |
1 |
2017-01
3606
1 강한구
|
32034 |
(질문)썬더볼트 3 hdmi입ㄹㅕㄱ이 있을까요? (2) |
나너우리 |
2017-04 |
4360 |
1 |
2017-04
4360
1 나너우리
|
32033 |
E5-2670과 E5-1620 둘다 사용해 보신분 계실까요? (16) |
yeondoo |
2016-06 |
5875 |
1 |
2016-06
5875
1 yeondoo
|
32032 |
궁금해요^^ 네트워크 연결 (4) |
백승철 |
2016-06 |
5267 |
1 |
2016-06
5267
1 백승철
|
32031 |
러시아판 윈도우즈7 설치 관련 질문 (4) |
몬스 |
2017-06 |
3507 |
1 |
2017-06
3507
1 몬스
|
32030 |
어깨 통증 질문 (8) |
catstyle |
2016-08 |
4208 |
1 |
2016-08
4208
1 catstyle
|
32029 |
iodrive2 duo 2.4t 구매했는데요 드라이버랑 펌웨어같은거어디서받나요?? (5) |
행복하세 |
2020-02 |
2412 |
1 |
2020-02
2412
1 행복하세
|
32028 |
모바일에서 비추천을 잘못 눌렀는데 복구가 불가능할까요? (5) |
S84j2h |
03-29 |
476 |
1 |
03-29
476
1 S84j2h
|
32027 |
ssd 40기가로 C 윈도우7 설치해서 쓰기 괜찮은지 (12) |
2CPU최주희 |
2017-12 |
5120 |
1 |
2017-12
5120
1 2CPU최주희
|
32026 |
HP / DELL 워크중 조용한순서...? (4) |
페르세우스 |
2018-02 |
4110 |
1 |
2018-02
4110
1 페르세우스
|
32025 |
방법을 찾았습니다..^^ (2) |
냐미냐미 |
2019-07 |
3013 |
1 |
2019-07
3013
1 냐미냐미
|
32024 |
노트북용 ODD에 HDD나 SDD를 사용할 수 있게 해주는 장치? (4) |
퍼싱글 |
2017-04 |
4026 |
1 |
2017-04
4026
1 퍼싱글
|
32023 |
윈도우 10를 서버 목적으로 사용해도 괜찮을까요? (8) |
아름드리소… |
2017-05 |
4813 |
1 |
2017-05
4813
1 아름드리소…
|
32022 |
라이선스 질문입니다. (6) |
일국 |
2017-06 |
3437 |
1 |
2017-06
3437
1 일국
|
32021 |
샌디 i5 2500k + asus p8p67 evo 오버클럭불가문제 문의 (1) |
하벨 |
2017-06 |
4745 |
1 |
2017-06
4745
1 하벨
|
32020 |
윈도우 방화벽 다중코어.. (7) |
컴박 |
2017-07 |
4020 |
1 |
2017-07
4020
1 컴박
|
교과서를 자세히 읽어 보시면 개념이 잘 설명 되어 있을텐데...
쓰레드 / 프로세스 이 개념도 OS 기준으로 조금씩 달라
운영체제론에서 다루는 개념은 보편적이였던것 같네요.
저도 학교 다릴때 운영체제 관련 수업을 참 많이 들었었는데
10년이 넘었네요
http://kjysmu.tistory.com/10?srchid=BR1http%3A%2F%2Fkjysmu.tistory.com%2F10
참고해 보세요.
둘다 같은겁니다
리눅스는 프로세스라고 부르고
윈도우는 쓰레드라고 부릅니다
유닉스 계열은 따로 부르는 용어가 있는데 지금 학교가 아니라 잘 기억나지 않네요
둘다 같은겁니다
프로세스 는 최소 한개의 쓰레드를 가져야 합니다.
멀티 쓰레드 라는 말은, 프로세스 밑에 다수의 쓰레드가 있다는 뜻입니다.
프로세스가 큰 개념
쓰레드는 그 밑에 작은 개념입니다.
컴퓨터공학/OS 부분에서 가장 기본으로 나오는 부분입니다.
하지만 한프로세스가 여러개의 스레드를 가질수도 있지만 여러개의 자식 프로세스를 가질수도 있습니다.
또 자식프로세스들이 멀티스레드일수도 있겠죠
프로세스 : 스레드 구분은 보통 OS 마다 다르고 책마다 다릅니다
프로세스 - 실행중인 프로그램을 뜻하는거고
프로세서 - 처리장치 즉 CPU를 말합니다...
1. 프로세스는 독립적인 수행을 위해 일정이 잡혀있는 프로그램 또는 프로그램 부분의 실체(instance) 이다.
2. 프로세스는 원래 작업(job)으로 불렸는데 초기 컴퓨터 구조에서는 멀티스레딩/멀티태스킹 이런게 없고 순차적 일괄작업만이 있었기 때문에, 프로세스와 프로그램의 구분이 없었다.
3. 하드웨어 인터럽트는 의사병렬성(멀티태스킹, 컨텍스트 스위칭등을 말하는거 같습니다.)이 등장하면서 한개의 프로세스의 상태를 제어하기 위해 필요하다.
4. 여러 프로세스의 존재와 함께 중량급(Heavyweight) 프로세스와 경량급(Lightweight) 프로세스의 구분이 가능한데 중량급은 수행되고 있는 하나의 프로그램 즉 앞서의 프로세스의 개념에 해당한다. - 완전한 독립적 개체 - 경량급은 그것이 유래한 프로그램과 자원을 공유한다. - parent 프로세스로부터 별개로 실행되지만 모든 메모리및 기타자원을 공유한다는점을 제외하고는 독립적일수 없다. 이 경량급 프로세스를 thread 라고도 부르며 운영체제에 의한 생성과 관리면에서 부담이 적으므로 효율적일수 있다. -
이 책에서 계속 이어지는 내용은 SIMD , MIMD 가 뭔지에 대한 내용과 교착 상태에 빠지는걸 피하는 방법 -세마포어 등등- 이 나와 있습니다.
ps. 책에서 대부분을 발췌를 하긴 했는데 저작권 문제땜시 맘에 좀 걸리네요 ^^; 이정도면 공정사용 아닌지..
간단히 말해서 프로세스는.. 프로그램이고. 프로그램의 작은 개념으로 보시면 됩니다.
보통 프로그램은 한번에 한동작을 쭉 처리할수 박에 없죠? 근데 이럼 동시 처리를 못하니까.
프로그램 내부에 프로세스 과정을 처리할수 있는 프로그램 라인을 간이로 만드는게 쓰레드 입니다.
좀 도움이 되셨을런지.
mysql같은경우 컴파일옵션에따라 달라지지만 멀티쓰레드/멀티프로세스 두가지방식으로 모두 컴파일가능합니다.
아래에 멀티프로세스방식으로 서비스되는 Mysql과 멀티쓰레드로 작동중인 서버의 상태를 보여드릴께요.
쓰레드로 작동중인 서버는 프로세스가 한개에서 모든 접속을 처리하죠.
* 멀티쓰레드로 작동중인 DB
[root@db2 ~]# ps -ax | grep mysql | wc -l
250
[root@db2 ~]# ps -ax | grep mysql | head -n 5
32768 ?? IN 1:35.92 /usr/local/libexec/mysqld --defaults-extra-file=/etc/my.cnf --basedir=/usr/local --datadir=/db/data --user=mysql --pid-file=/db/data/db2.test.co.kr.pid --port=3306 --socket=/tmp/mysql.sock
32769 ?? IN 2:36.93 /usr/local/libexec/mysqld --defaults-extra-file=/etc/my.cnf --basedir=/usr/local --datadir=/db/data --user=mysql --pid-file=/db/data/db2.test.co.kr.pid --port=3306 --socket=/tmp/mysql.sock
32770 ?? IN 1:46.88 /usr/local/libexec/mysqld --defaults-extra-file=/etc/my.cnf --basedir=/usr/local --datadir=/db/data --user=mysql --pid-file=/db/data/db2.test.co.kr.pid --port=3306 --socket=/tmp/mysql.sock
32771 ?? IN 2:06.98 /usr/local/libexec/mysqld --defaults-extra-file=/etc/my.cnf --basedir=/usr/local --datadir=/db/data --user=mysql --pid-file=/db/data/db2.test.co.kr.pid --port=3306 --socket=/tmp/mysql.sock
32772 ?? IN 1:35.11 /usr/local/libexec/mysqld --defaults-extra-file=/etc/my.cnf --basedir=/usr/local --datadir=/db/data --user=mysql --pid-file=/db/data/db2.test.co.kr.pid --port=3306 --socket=/tmp/mysql.sock
* 멀티프로세스로 작동중인 DB
[db1 ~ # ] ps -ax | grep mysql
41982 p0- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/etc/my.cnf --user=mysql --datadir=/db/data --pid-file=/db/data/db1.test.co.kr.pid
42014 p0- S 3266:49.25 /usr/local/libexec/mysqld --defaults-extra-file=/etc/my.cnf --basedir=/usr/local --datadir=/db/data --user=mysql --pid-file=/db/data/db1.test.co.kr.pid --port=3306 --socket=/tmp/mysql.sock