inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

멀티태스킹과 멀티프로세싱

시분할은 Time Slicing이 아닌가요?

434

Jaesang Yoon

작성한 질문수 59

0

PPT에는 시분할이 Time Sharing이라고 표기되어있는데, '분할'이라는 표현에 'Sharing'이 붙어 뭔가 이상해 검색해보니 Time Slicing이라는 표현이 따로 있는 것 같더라고요. 다른 의도가 있어서 Time Slicing이라고 하신건가요?

java 객체지향 동시성 multithread thread

답변 2

0

dev.rudevico

제가 전공수업 때 배운 내용으로는
Time Sharing System: 여러 사용자가 cpu를 공유해서 사용한다(제 의견: 사용자 = 프로그램으로 생각해도 될 듯합니다).

Time Slice: 각 사용자에게 할당된 cpu 사용 시간(제 의견: 마찬가지로 사용자 = 프로그램)
이었습니다.


또한 Sharing이라는 단어의 의미가 미국에서는 두 가지 의미로 사용됩니다.

  1. (대부분 해당 의미) 함께(동시에) 사용하다, 가지다.

  2. (하지만 해당 의미로도 사용됨) 순차적으로 사용하다. (=> 나눠서, 분할해서 차례대로 사용하다.)

하지만 한국에서의 '공유'는 위 1번 의미로 쓰이는 경우가 절대다수입니다.

때문에 과거에 영어로 된 서적들을 번역할 때 한국 정서에 맞게 '공유'라는 단어 대신 '분할'이라는 단어를 채택한 것 같습니다.

이와 관련해서 챗지피티는 다음과 같이 답변하네요.


영어에서 "Sharing"이 순차적 사용을 포함하는 사례

📌 1. CPU Time Sharing (시분할 시스템)

  • 여러 프로세스가 CPU 시간을 나누어 사용하는 개념

  • 특정 순간에는 한 프로세스만 CPU를 사용하지만, 전체적으로 보면 여러 프로세스가 CPU 시간을 "공유"하는 것처럼 동작

  • 즉, "순차적 사용"인데도 "Time Sharing"이라고 표현

🔹 Why "Sharing"?

  • 개별 프로세스는 한 번에 CPU를 독점하지만, 전체적으로 보면 CPU 시간을 나눠 쓰는 것

  • "공동 사용"의 개념이 아니라 "차례로 나누어 사용"하는 것도 포함되기 때문


📌 2. Ride Sharing (차량 공유)

  • Uber, Lyft 같은 서비스에서 차량을 여러 사람이 나누어 사용하는 개념

  • 어떤 경우에는 동시에 타는 경우도 있지만, 대부분 다른 사람이 사용한 후 다음 사람이 사용하는 방식

🔹 Why "Sharing"?

  • 한 차량을 여러 사람이 연속적으로 나눠서 사용하는 것도 "Sharing"으로 간주

  • 특히 Uber 같은 서비스에서는 차례로 사용하더라도 Sharing의 개념을 포함


📌 3. File Sharing (파일 공유)

  • 클라우드에서 파일을 공유한다고 하면,

    • 어떤 사람은 동시에 파일을 열어볼 수도 있지만,

    • 어떤 사람은 다른 사람이 사용한 후 나중에 열어볼 수도 있음

🔹 Why "Sharing"?

  • 꼭 동시에 쓰지 않더라도 파일 접근 권한을 나눠주고, 차례로 사용해도 Sharing의 개념에 포함

0

OMG

안녕하세요. Jaesang Yoon 님, 공식 서포터즈 OMG입니다.

PPT에는 시분할이 Time Sharing이라고 표기되어있는데, '분할'이라는 표현에 'Sharing'이 붙어 뭔가 이상해 검색해보니 Time Slicing이라는 표현이 따로 있는 것 같더라고요. 다른 의도가 있어서 Time Slicing이라고 하신건가요?

질문에서 PPT에 시분할이 Time Sharing이라고 하였는데, 다른 의도가 있어 Time Slicing이라고 표현한 부분이 잘 이해가 가지 않습니다. 뒤에는 Time Sharing이 맞겠죠?

.

시분할은 Time Sharing이라는 용어로 정의된게 맞습니다.

 

image.png

Time Sharing이 틀린 용어가 아닌 것은 위키 문서를 보니 맞고, 그럼 왜 slicing이 아니라 sharing으로 정의되었는지도 해당 문서를 통해 예상하면, 다음과 같은 설명으로 인해 분할(작게 쪼개는) 개념보다는 쪼개서 공유하는 개념으로 용어 번역이 시분할로 된게 아닐까 싶습니다 😀

image.png

 참고)

위키(한글) https://ko.wikipedia.org/wiki/%EC%8B%9C%EB%B6%84%ED%95%A0_%EC%8B%9C%EC%8A%A4%ED%85%9C

위키(영문) https://en.wikipedia.org/wiki/Time_Sharing_Operating_System

감사합니다.

모니터와 synchronized, ReentrantLock, 원자적연산 CAS관련해서 추가적으로 더 깊게 공부했는데 제가 이해한 것이 맞나요??

0

85

1

Future cancel기능을 사용했지만 interrupt가 발생하지 않을 때 어떻게 처리해야하나요?

0

73

2

2.스레드 생성과 실행 - 17P 그림 문의

0

74

2

자바 동시성 현업에서 사용예시가 궁금합니다

0

136

1

ReentrantLock 동작 원리에 대한 질문입니다.

0

84

1

synchronized 대신 join 을 사용하여 순서를 보장할 경우 해법이 아닌가요?

0

94

2

메모리 가시성 문제 질문

0

72

1

Future4-이유 질문

0

64

1

오타 제보

0

77

2

runnable 질문

0

95

2

자바가 아닌 다른 언어에서도

0

112

1

메모리 가시성 문제가 발생하는 이유

0

125

1

데몬스레드가 어떨 때 사용이 되는지 궁금합니다.

0

78

1

Future.cancel() 취소를 사용하는 예가 궁금합니다.

0

84

1

synchronized 와 인스턴스의 lock

0

91

2

synchronized 키워드만으로 메모리 가시성이 해결되는 이유가 궁급합니다.

0

63

1

[스레드 풀과 Executor 프레임워크1][문제와 풀이] `log("일부 작업이 실패했습니다.");` 실행되는 경우가 있을까요?

0

59

1

원자적 연산이 멀티스레드 상황에서 안전한 이유를 제대로 이해했는지 확인 부탁드립니다

0

67

2

자바 고급 1,2,3편 같이 진행해도 문제없나요

0

77

2

CPU 캐시 때문에도 잔액이 200원이 될 수 있나요?

0

105

2

synchronized 메서드와 join 관련 질문이 있습니다.

0

69

2

섹션 14. 115번 강의 내용 질문

0

83

2

교안에 있는 7페이지 데이터 영역

0

51

1

Executor 스레드 풀 관리 질문

0

108

2