[운영체제] Synchronization Tools(공룡책 스터디 정리)
CS/운영체제2024. 1. 16. 21:21[운영체제] Synchronization Tools(공룡책 스터디 정리)

본 포스팅은 인프런 공룡책 강의를 기반으로 한 스터디 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! 1. 프로세스 동기화 동시다발적으로 실행되는 프로세스와 쓰레드들은 서로 협력하면서 영향을 주고받게 되는데 이 과정에서 자원의 일관성을 보장해야 함. 프로세스 동기화란 ? 실행순서 제어 : 프로세스를 올바른 순서대로 실행하기 글 쓰는 프로세스가 먼저 실행된 후 읽는 프로세스가 실행되어야 정상적으로 데이터가 넘어가기 때문. 상호 배제 : 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기 Bank account problem 프린터처럼 한 번에 하나의 프로세스만 접근해야 하는 자원 Producer & Consumer Problem 공유 자원과 임계 구역..

[운영체제] Cpu Scheduling(공룡책 스터디 정리)
CS/운영체제2023. 12. 13. 12:11[운영체제] Cpu Scheduling(공룡책 스터디 정리)

본 포스팅은 인프런 공룡책 강의를 기반으로 한 스터디 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! Concept 멀티 프로그래밍 된 운영체제에서 적용하는 개념 💡 멀티 프로그래밍이란? ⇒ 한 개의 프로세서가 하나의 프로세스를 수행하는 동안 다른 프로세스에 접근할 수 있도록 하는 방법 ⇒ 멀티 프로그래밍을 하려면 CPU의 처리속도가 빠르고 남는 시간이 있는 경우 Context Switching을 통해 다수의 프로세스를 접근할 수 있어야 함. 간단하게 설명해서 Ready Queue에 있는 프로세스들 중에 어떤 것을 Running Queue에 넣어 CPU할당을 시킬 것인지를 CPU Scheduling이라 함. 단순히 FIFO-Queue를 통해 먼저 큐에 들어온 프로..

[운영체제] Thread & Concurrency(공룡책 스터디 정리)
CS/운영체제2023. 12. 13. 10:54[운영체제] Thread & Concurrency(공룡책 스터디 정리)

본 포스팅은 인프런 공룡책 강의를 기반으로 한 스터디 개인 정리를 위한 포스팅입니다. 잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다! Overview 메모리 상에 여러개의 프로세스가 적재되어있고 하나의 CPU가 Context Switch를 통해 작업이 수행되는 멀티 프로그래밍 구조를 배웠음. 하나의 프로세스가 여러개의 threads of control을 가질 수 있음. 프로세스(process)란? 프로세스(process)란 단순히 실행 중인 프로그램(program) 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것. 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성. 스레드(thread)란? 스레드(thread)란 프로세스(..

[운영체제] Processes (공룡책 스터디 정리)
CS/운영체제2023. 12. 9. 22:02[운영체제] Processes (공룡책 스터디 정리)

본 포스팅은 인프런 공룡책 강의를 기반으로 한 스터디 개인 정리를 위한 포스팅입니다.잘못된 부분이 있다면 언제든 지적해주시면 감사하겠습니다!Process 란?프로그램 : 해당 프로그램이 하드디스크에 존재할 때를 의미프로세스 : 해당 프로그램이 실행되어 메인메모리로 올라오게 되면, 그 프로그램을 프로세스라고 부름.Process 메모리 구조Code 영역실행할 프로그램의 코드가 저장됩니다. CPU는 이 영역에서 명령어를 하나씩 가져와 처리하게 됩니다.Data 영역전역변수와 정적변수가 저장됩니다. 이 변수들은 프로그램이 시작될 때 할당되어 프로그램 종료 시 소멸됩니다.Stack 영역지역변수, 매개변수, 리턴값 등 잠시 사용되었다가 사라지는 데이터를 저장하는 영역입니다.Heap 영역동적 데이터 영역입니다. 메모리..

image