Free Lines Arrow
본문 바로가기
728x90

Development30

[OS] Process Synchronization(프로세스 동기화) Process Synchronization(프로세스 동기화) 앞서 멀티 쓰레드와 멀티프로세스를 공부하였습니다. 그럼 멀티쓰레드와 멀티프로세스에서 동기화란 무엇인지 살펴 보겠습니다. 프로세스 동기화 란? 프로세스 사이에서 실행 순서를 지켜 자원의 일관성을 보장하는 것이다. 여러개의 프로세스가 동시적으로 자원에 접근하면 공유 자원을 신뢰 할 수 없다. 공유자원: 공동으로 쓸수 있는 자원을 말한다. Race Condition: 여러 프로세스가 동시에 공유 자원에 접근하여 읽거나 쓰는 상황 Critical Section: 여러 프로세스가 동시에 접근 해서 안되는 공유자원 일부를 말한다. public synchronized void test(){ // 전체가 임계구역이 된다. } public synchronize.. 2021. 8. 18.
[OS] Synchronous(동기), Asynchronous(비동기) OS 에서의 Synchronous, Asynchronous 을 알아보자 Synchronous(동기) 동시 발생[존재]하는 뜻이다. 요청을 했을 경우 결과를 받을때 까지 기다린다. A작업과 B작업이 있을 경우 트랜잭션을 맞춘다는 의미다. 함수가 끝나는 시간과 다음에 수행할 함수의 시간이 같다. 장점 설계가 단순하다. 단점 결과가 올때까지 다른 작업을 할 수 없다. 예제 양복점에서 상의와 하의를 맞춘다고 한다. 상의를 공장에 주문하고 상의를 받을 때까지 기다린다. 상의를 받고나서 하의를 주문한다. 상의를 맞추는데 3일이 걸리고 하의를 맞추는데 1일이 걸린다고 하자. 그럼 상의를 맞추는데 3일 하의를 맞추는데 1일 총 4일이 걸린다. Asynchronous(비동기) 동시에 존재[발생]하지 않는 요청을 했을경우.. 2021. 8. 18.
[OS] 프로세스와 쓰레드 그리고 차이점 프로세스 프로그램의 실행 단위를 말한다. 프로그램의 인스턴스 라고 해도 된다. 프로세스의 구조 Code: 코드 및 상수가 기계어로 저장되는 영역이다. Data: 전역변수, Static 변수가 저장 되는 영역이다. Stack: 지역변수, 매개변수, 리턴값, 함수호출을 기록하는 영역이다. Heap: 동적메모리 할당 공간이다. 장점 메모리 침범문제를 OS 에서 해결한다. 하나의 프로세스가 이상이 생겨도 다른 프로세스에 영향이 없다. 단점 독립된 메모리 공간을 가지기 떄문에 작업량이 많을 경우 오버헤드가 발생한다. IPC 복잡한 통신이 필요하다. Context Switching 위 프로세스의 구조를 보면 2개의 프로세스가 있다. CPU 는 한번에 하나의 명령밖에 실행 못한다. 이런 이유때문에 빠르게 Proces.. 2021. 8. 18.
[Network] OSI 7 Layer 및 통신흐름 OSI 7 Layer OSI 7 계층에 대해 간단하게 요점만 알아 봅니다. 통신이 일어나는 과정을 7 단계로 나눈 것이다. 계층을 왜 나눴을까? 모듈화 및 과정을 단계 별로 파악 할 수 있다. 문제를 쉽게 파악 할 수 있다. 모듈화가 되어 있어서 쉽게 고칠수 있다. OSI 7 Layer의 구조 암기할때 물데네전세표응 으로 외웠었다. 7Layer Application Layer 사용자 인터페이스를 제공한다. 인터넷 메일 접속등. 6Layer Presentation Layer 응용계층에서 받은 데이터를 인코딩 디코딩한다. 시스템마다 표현방식이 다를수 있기 때문이다. 5Layer Session Layer 데이터 통신을 위한 논리적 연결을 담당한다. 네트워크상 양쪽을 연결하고 연결을 지속해 준다. 복구기능이 있.. 2021. 8. 17.
728x90
반응형