일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sqld
- delete
- 데이터모델링
- 웹 디자인 기능사
- 혼자 공부하는 SQL
- 뷰
- 명령 프롬프트
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- 첫 프로그래밍
- 데이터 모델링
- 리눅스 마스터 2급
- 클러스터형 인덱스와 보조 인덱스
- 인덱스의 개념과 장단점
- oracle
- 컴퓨터 활용 능력
- INSERT
- 혼자 공부하는 네트워크
- Update
- mysql 설치 방법과 정상 작동 확인하기
- 컴퓨터 활용 능력 1급
- gitkraken을 통한 프로젝트 올리기
- github에 새 리포지토리 추가하기
- 컴퓨터 구조
- youtube review
- 친절한 SQL 튜닝
- 운영체제
- 이것이 오라클이다
- 열거형
- 2025-02-13
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- Today
- Total
코딩 브이로그
[운영체제] 프로세스 동기화란? 본문
안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료를 남깁니다.
- 01.들어가며
(이 프로세스들이 동시에 실행해도 괜찮을까?)
(스레드 또한 동기화의 대상이기도 하다.)
(프로세스들의 동기화를 고려해야 한다.)
- 02.동기화의 의미
공동의 목적을 위해서 동시 다발적으로 협력해서 수행되는 프로세스들은 아무렇게나 실행되서는 안 된다.
올바른 수행을 위해 프로세스들을 동기화해주어야 한다.
실행 순서 제어, 상호 배제 이렇게 두 가지 동기화가 있다.
실행의 문맥을 갖는 프로세스 및 스레드는 동기화의 대상이다.
- 03.실행 순서 제어를 위한 동기화
반드시 writer 프로세스가 실행되어야 reader 프로세스가 같은 작업 파일인 book.txt 파일을 읽을 수 있다.
- 04.상호 배제를 위한 동기화
프로세스가 교차해서 처리되면 오류가 발생할 수 있다.
잔액이라고 하는 데이터를 동시에 사용을 했기 때문에 오류가 발생한 것이다.
문맥 교환이 일어나더라도 기다려야 한다.
- 생산자 소비자 예제
모든 프로그램은 동기화를 제공한다.
버퍼 즉 저장 공간에서 데이터를 서로 삽입하거나 뺀다.
총합을 10으로 초기화 해보자.
동시에 접근해서는 안 되는 자원: 총합에 접근했기 때문이다.
이미 진입한 프로세스 외에는 대기를 해야 합니다.
고급언어를 저급언어로 변환하면 한 줄의 코드가 아닙니다. 여러 줄의 코드가 발생합니다.
컴퓨터 내부에서는 한 줄이 아니다.
이 도중에 문맥 교환이 발생을 하면 문제가 발생한다.
반드시 동기화 되어야 한다.
감사합니다.
참고 url - https://www.youtube.com/watch?v=0YDjblJn30k&list=PLYH7OjNUOWLUz15j4Q9M6INxK5J3-59GC&index=36
'혼자 공부하는 컴퓨터 구조 및 운영체제 (복습)' 카테고리의 다른 글
[운영체제] 교착 상태란? (2) | 2024.10.19 |
---|---|
[운영체제] 프로세스 동기화 기법 (2) | 2024.10.19 |
[운영체제] CPU 스케줄링 알고리즘 (2) | 2024.10.18 |
[운영체제] CPU 스케줄링 개요 (2) | 2024.10.18 |
[운영체제] 파이썬 코드로 스레드 확인하기 (1) | 2024.10.18 |