운영체제 6

IPC, 사례연구

IPC(interProcess Communication): 프로세스 간 통신을 말한다. 종류 1. 프로세스 "내부" 데이터 통신2. 프로세스 "간" 데이터 통신3. 네트워크를 이용한 "원격" 데이터 통신프로세스 내부 데이터 통신= 프로세스 내부 스레드간 통신을 말한다,전역변수를 이용한 통신방식: from1to2, from2to1선언하고 이를 이용해서 통신한다,  • from1to2와 from2to1은 각각 5와 2로 설정된 전역 변수입니다. • thread1() 함수에서는 from1to2 변수를 참조하여 data1을 계산합니다 (from1to2 + 3). • thread2() 함수에서는 from2to1 변수를 참조하여 data2를 계산합니다 (from2to1 + 5). • 이 두 스레드는 서로 다른 전역..

운영체제 2024.10.12

동기화와 세마포어

앞에서 알아본 상호배제 개념을 구현하는 알고리즘을 알아보자 Algorithm 1메인 프로세스 -> processnumber = 1선언, 그후 프로세스 A, B동시 실행Process A -> processnumber == 2일 때  ; 실행 -> 그 후 임계영역 진입Process B -> processnumber == 1일 때 ; 실행 -> 그 후 임계 영역 진입 과정Process A 먼저 실행 조건이 거짓 이므로 실행 후 임계영역 진입그 후 processnumber = 1로 선언하여 빠져나오면서 B의 진입을 허가B는 조건이 거짓이 되었으므로 While문에서 빠져나와 임계영역에 진입  결론 이 알고리즘은 공유자원인 processnumber을 이용해 임계영역에 진입하는 알고리즘이다.그러나 문제점이 존재한다...

운영체제 2024.10.10

병행 프로세스와 병렬 프로세스

병행성과 병렬성병행실행 :  single code로 이룰어진다. 따라서 번갈아가면서 실행된다.병렬 실행 : 2개 이상의 코어를 이용해서 실행되며 동시에 실행된다.운영체제는 성능 향상을 위해서 병행과 병렬 프로세스를 상황에 맞게 이용한다. 병행성을 통한 성능향상프로세스의 병행성을 이용해 성능을 향상시키는 것을 말한다.암달의 법칙이란..프로세서, 즉 코어의 개수 N과 병행처리 비율 P를 이용한 성능 계산 식이다.예를 들어 병행처리를 60%만큼 가능하고 코어가 1개라면 성능은 1이다.즉 병행처리율을 높여야 성능이 향상된다. 프로세스의 병행성에서...프로세스를 병행으로 처리하는 것은 멀티코어 CPU환경에서의 프로그래밍 환경에서 특히 중요하다.병행 프로그래밍의 최적화로 병행성의 효율을 최대로 끌어올릴 수있다. 이..

운영체제 2024.09.29

비동기 병렬프로세스

상호배제사진을 보면 입력프로세스와 출력프로세스가 같은 장소에서 작업을 처리하는 것을 알 수 있다.즉 공유자원을 사용중인데, 이런 경우 관리가 필요하다,또한 아래를 보면 프로세스2가 a를 사용중이고 a구하는 프로세스도 존재한다,이런 경우 a는 공유 자원이다. 공유자원에 관리가 없이 무단 사용이 된다면 오류가 발생할 수 있다.따라서 이를 관리할 방법이 필요한데 이를 담당하는 코드를 임계영역(Critical section)이라고 한다. 위 사진을 보면 A가 임계영역에 먼저 진입한 것을 알 수있다.T2에서 B도 임계영역에 접근하였지만 막힌것을 볼 수 있다.즉 임게영역에 누군가 먼저 접근하였다면 다른 프로세스를 막는 것을 "상호 배제"라고 한다. 임계영역을 만약 A,B가 공유하여 동시에 사용하면 오동작의 위험이 ..

운영체제 2024.09.29

운영체제 프로세스

1. 프로세스(Process)프로세스란 실행 중인 프로그램을 의미하며, 메모리에 로딩된 형태로 존재합니다. 이는 태스크(Task)와 동의어로 사용됩니다.PCB(Process Control Block): 프로세스에 대한 정보를 담고 있는 데이터 구조로, 프로세스 ID, 프로세스 상태, 프로그램 카운터, 메모리 제한 등 다양한 정보를 포함합니다.2. 멀티프로세스(Multi-Process)멀티프로세스는 여러 프로세스를 동시에 실행하여 성능을 향상시키는 기술입니다.예시: 크롬 웹 브라우저에서 각 탭이 독립된 프로세스로 관리됩니다. 이를 통해 성능 향상과 장애 발생 시 전체 브라우저가 중단되는 문제를 방지할 수 있습니다.크롬에서의 3가지 종류 프로세스 : Browser, Renderer, Plug-in3. 프로세..

운영체제 2024.09.25

운영체제-

운영체제란…운영체제는 3가지 역할을 가지고 있다. 1. 조정자 2. 자원 관리자 3. 입출력장치와 사용자 프로그램 제어 역할 이 3가지 역할을 수행한다.운영체제는 또한 4가지 목적성을 가지고 있다. 1. 편리성 : 사용자 인터페이스 제공 2. 효율성 : 같은 자원으로 최대 성능, 최대 효율을 유지한다. 3. 안정성 : 자원을 보호한다. 4. 확장성 : 하드웨어 인터페이스 제공운영체제는 어떤 유형이 있을까…  1.     Multi Programming System 2.    Time Sharing System 3.    Distributed Processing System 4.    Multi Processor System 5.    Desktop System 6.    Cluster System 7. ..

운영체제 2024.09.24