일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- LAN어댑터
- 캐시서버
- cloud
- Spring
- Collection
- 허브
- sonarQube
- Linux
- docker
- jdk
- gradle
- JPA
- ansible
- 소켓
- Jenkins
- IntelliJ
- 라우터
- AOP
- Java
- container
- map
- STREAM
- DevOps
- 액세스회선
- Set
- 방화벽
- Pipeline
- mybatis
- tomcat
- post
- Today
- Total
목록CS 지식/OS (2)
거북이-https://velog.io/@violet_evgadn 이전완료
동기화 문제 ◎ 임계 구역 멀티 스레드에서 발생할 수 있는 동기화 문제에 대해 설명하려면 먼저 임계구역에 대해 공부해야 한다. 임계 구역이란 여러 개의 스레드가 수행되는 멀티 스레드 시스템에서 각 스레드들이 공유하는 데이터를 변경하는 코드 영역을 말한다. 이전에 설명했듯 스레드의 경우 프로세스 내에서 Stack 영역을 제외한 Data, Code, Heap 영역을 공유하고 있다. 이 중 static 변수와 전역 변수는 특정 상황에서 무조건 1개 스레드만 활용한다고 확정할 수 없다. 즉, 스레드끼리 공유하는 Code, Heap 영역의 데이터를 변경하는 코드 영역을 "임계 구역"이라고 하는 것이다. 임계 구역에 대한 문제를 확인할 수 있는 대표적인 코드는 아래와 같다. static int cnt = 0; vo..
리눅스에서의 프로세스 관리법에 대해 알아보기 전 프로세스와 스레드에 대한 개념을 잡고 가는 것이 좋다고 생각했다. 프로세스와 스레드, 그리고 이에 이어지는 멀티스레드와 멀티 프로세스와 임계 지역(Critical Section)과 동기화는 면접에서도 물어볼 만큼 중요한 개념이고 학부생 때도 이에 대해서만 1학기 내내 공부했던 만큼 중요하다고 생각하여 제대로 공부하고 넘어가도록 하겠다. 프로세스 ◎ 프로세스란? 프로세스에 대해 알기 위해선 프로그램에 대해 먼저 알아볼 필요가 있다. "프로그램"이란 "어떤 작업을 위해 실행할 수 있는 파일"이라는 의미이다. 이 말을 조금 더 생각해 보면 실행할 수 있는 파일이라면 그 파일이 어떤 상태이든 모두 프로그램이라고 할 수 있다. 위키피디아에서 설명한 프로세스(Proc..