본문 바로가기

CS3

[스레드] 스레드의 개념 및 멀티스레드 스레드의 개념과 예를 다양한 각도로 살펴보자 (1) 스레드의 개념 정의 ex) 안심스테이크를 만드는 과정에서 프로세스는 전체 요리 작업과 같고 스레드는 요리를 완성하기 위해 수행하는 각각의 조리. → 요리를 할 때 한 요리사가 모든 일을 맡아 함 = 1개의 프로세스에 1개의 스레드 → 고기굽기는 A 요리사가 하는 동시에 채소 굽기와 소스뿌리기는 B 요리사가 함 = 1개의 프로세스에 2개의 스레드를 가진 멀티 스레드 [프로세스 생성 과정] 프로세스가 생성 -> CPU 스케줄러가 프로세스가 해야할 일을 CPU에 전달하고 실제 작업은 CPU가 수행 → 이때 CPU 스케줄러가 CPU에 전달하는 일 하나가 스레드. → 즉, 운영체제 입장에서의 작업 단위는 프로세스이고 CPU 입장에서의 작업 단위는 스레드 (= 프.. 2021. 10. 2.
[프로세스] 프로세스 연산 이번에는 프로세스의 생성과 복사에 대해 살펴보자. (1) 프로세스의 구조 프로세스는 정적 할당 영역인 코드 영역, 데이터 영역과 동적 할당 영역인 스택 영역과 힙 영역으로 구성 EX ) 스파게티를 만드는 과정에 비유 [코드 영역] 👉🏻 요리책 (레시피가 적힌 요리책처럼 코드 영역에 프로세스의 본문이 기술) 텍스트 영역이라고도 함. 프로그래머가 작성한 프로그램이 탑재되는 곳으로 탑재된 코드는 읽기전용으로 처리. [데이터 영역] 👉🏻 재료 코드가 실행되면서 사용하는 변수나 파일 등 각종 데이터를 모아놓은 곳으로 변하는 값이기 때문에 읽기와 쓰기가 가능. [스택 영역] 👉🏻 조리 도구 ( 코드를 작동하기 위해 운영체제가 부수적으로 관리하는 데이터 영역. 사용자에게는 스택의 내용이 보이지 않는다) 운영체제가 프.. 2021. 10. 2.
[제 1장] 네트워크 기초 지식 (2) 1. 패킷 교환이란? 회선 교환을 생각해보면, 교환기가 ‘파이프’를 교체해 상대와 접속하는 동안에는 다른 곳으로 전화를 걸 수도 받을 수도 없는 ‘통화중’ 상태임. 즉 접속하는 동안에는 전화기와 교환기, 교환기와 교환기 사이의 회선은 그 통신이 점유, 즉 교환기 사이의 회선수가 많아야만 많은 수의 전화가 동시에 통화할 수 있음 다시 말해서 ‘동시 통화에 필요한 수 만큼 회선이 필요함’. 하지만 다수의 컴퓨터가 자유롭게 정보를 송수신하려면 이 방법으로는 회선의 수가 너무 많아짐 -> 이때 사용하는 것이 패킷 교환이라는 방법 패킷 교환이란, 송신하고 싶은 데이터를 일괄적으로 한번에 보내지 않고 여럿으로 분할해서 송신하는 건데, 이렇게 분할한 데이터를 ‘소포’라는 의미의 패킷(Packet)이라고 부름. 즉, .. 2021. 8. 13.