728x90 💾 lecture/운영체제6 [OS] Chapter 6 : Process Synchronization Background 공유 데이터에 대한 동시 접근은 데이터 불일치를 일으킬 수 있다 -> 데이터를 수정하는 과정에서 문제가 된다. 데이터 일관성을 유지하기 위해서는 협력 프로세스(데이터를 공유하고 있는 프로세스)의 순차적 실행을 보장하는 메커니즘이 필요하다. Producer-Consumer 문제를 가정한다. 정수 count는 버퍼 안에 있는 항목의 수를 추적처음에 count는 0으로 설정생산자(Producer)에 의해 증가소비자(Consumer)에 의해 감소 Code for Producer while (true) { /* produce an item and put in nextProduced */while (count == BUFFER_SIZE) ; // do nothingbuffer[in] = n.. 2023. 10. 28. [OS] Chapter 5: CPU Scheduling CPU Scheduling Basic Concepts 프로세스 실행은 다음으로 구성된다CPU 실행( CPU brust)I/O 대기 (I/O brust) Histogram of CPU-burst Times CPU Scheduler 메모리 안에 있는 프로세스에서 실행 시킬 프로세스를 고르고 CPU를 할당한다.CPU 스케줄링은 다음과 같은 경우에 이루어질 수 있다 프로세스:1. 실행 중인 상태에서 대기 상태로 전환 될 때 (I/O Brust)2. 실행 중인 상태에서 준비 상태로 전환 될 때3. 대기 중인 상태에서 준비로 전환될 때 4. 종료 1,2은 반드시 CPU 스케줄러가 호출되어야 하지만 3,4는 호출할 수도 있고 안 할 수도 있다. 1,4는 nonpreemptive이고 나머지는 preempti.. 2023. 10. 18. [OS] Chapter 4: Multithreaded Programming Motivation하나의 응용 프로그램에 여러 작업이 있다고 가정하자Fetch dataUpdate display 만약 각 작업이 별도의 프로세스로 구현된다면 IPC가 필요하다. *IPC는 프로세스 사이의 통신 방법 만약 각 작업이 별도의 스레드로 구현된다면 각 작업은 다중 코어 시스템에서 병렬(parallel)로 실행된다. 대부분의 현대 응용 프로그램은 멀티 스레드로 구성되어 있다. Single and Multithreaded Processe Benefits 반응성 (응답성)대화형 응용 프로그램에서 사용된다 ex) 멀티 스레드 웹 브라우저 멀티스레드를 사용하면 여러 작업을 동시에 처리할 수 있어 사용자의 입력에 빠르게 반응할 수 있다.자원 공유 스레드 기반 프로세스와 협력 프로세스를 비교하면.. 2023. 10. 14. [OS] Chapter 3: Processes Process Concept 프로그램은 디스크와 같은 보조 기억 장치에 저장되어 있다.프로그램은 수동적, 프로세스는 능동적 프로세스 실행 중인 프로그램 Batch system-jobsTime-shared system- task (멀티 테스킹 시스템) 프로그램은 실행 가능한 파일로 저장되어있을 때는 수동적인 상태이며 메인 메모리에 로드되고 cpu에서 실행될 때 프로세스가 된다. 프로세스 구성 요소 텍스트 섹션 : 프로그램 코드 자체를 포함. 실행 가능한 프로그램들의 명령어들을 포함하고 있으며 CPU가 실행하는 명령어들이 저장되어 있다. 스텍/데이터/힙 : 프로세스의 메모리 공간을 관리 프로그램 카운터 (PC) : 현재 실행 중인 명령어의 주소를 나타낸다. CPU는 이 주소에서 다음 실행할 명령어를 찾아 .. 2023. 10. 13. [OS] Chapter 2: Operating-System Structures Operating System Services 📌운영체제 서비스 1. 사용자 인터페이스2. 프로그램 실행3. 입출력 연산 4. 파일 시스템 조작5. 통신6. 오류 탐지7. 자원 할당 8. 회계9. 보호, 보안 통신 (추가적으로) 한 프로세스가 다른 프로세스와 정보를 교환해야할 필요가 있을 때 , 이러한 통신을 실행하기 위해 두 가지 방법을 사용한다1. 동일한 컴퓨터에서 실행되고 있는 프로세스들 사이에서 일어난다2. 컴퓨터 네이트워크에 의해 함께 묶여 있는 서로 다른 컴퓨터시스템 상에서 실행되는 프로세스들 사이에서 일어난다 통신은 공유 메모리를 통해서 구현될 수도 있고 메세지 전달 기법에 의해서 구현될 수도 있다 (메세지 전달 기법의 경우 정보의 패킷들이 운영체제에 의해 프로세스들 사이를 이동한다.. 2023. 10. 9. [OS]chapter 1: Introduction 1장 1. Computer System Structure 컴퓨터는 4개의 종류로 나눠진다 하드웨어 CPU, 메모리, i/o 장치 운영시스템시스템 및 응용프로그램사용자소프트웨어는 운영체제를 통하지 않고는 하드웨어를 제어할 수 없다 소프트웨어들이 메모리에 로드가 된다(메모리 위에 올라와있다)프로그램 안에는 기계어 명령어들과 명령어가 실행되는데 필요한 데이터가 있다 (메모리에 올라가있는 프로그램)-> CPU로 하나씩 명령어들을 가져와서 실행한다 CPU 내부 레지스터: 사이즈가 작은 메모리 속도가 빠름 메모리에서 가져온 명령어나 데이터를 저장한다(실행된 결과도 저장한다) pc(프로그램 카운터): 주소가 저장되어 있다 (다음에 가지고 올 명령어의 주소) 명령어.. 2023. 10. 8. 이전 1 다음 728x90