Blog for Code

고정 헤더 영역

글 제목

메뉴 레이어

Blog for Code

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (26)
    • Operating System (4)
    • Algorithm (8)
    • 실전 프로젝트 (9)
    • 리트코드 (0)
    • Spring (4)
      • SpringBoot (1)
      • 보안 (0)
      • Spring (3)
      • 관련 에러 (0)
    • Git (0)

검색 레이어

Blog for Code

검색 영역

컨텐츠 검색

Operating System

  • 6. Process Synchronization_2

    2020.05.05 by seoia

  • 6. Process Synchronization _ 1 , Peterson's Solution

    2020.04.22 by seoia

  • 3. Process - RPC / Pipes

    2020.04.22 by seoia

  • 3. Process - Socket

    2020.04.22 by seoia

6. Process Synchronization_2

H/W Support for Synchronization Memory model : 메모리가 실질적으로 어떻게 동작하고 어떤 내용을 보장해주는지 알려준다. - Strongly ordered : 한 프로세스에서 바꾸면 모든 프로세스에 즉시 알린다. => performance가 손해볼 수 있다. - Weakly ordered : 한 프로세스가 메모리의 내용을 바꿨는데, 즉시 다른 프로세스에 바로 반영이 되지 않는 경우 (현대의 운영체제에서 사용한다 -> performance 때문) ! 하지만 weakly ordered를 사용하면 synchronization 문제가 발생할 수 있다 => race condition 생길 수 있음! Memory Barriers (memory fences) 제대로 동작하지 않는다 ..

Operating System 2020. 5. 5. 02:07

6. Process Synchronization _ 1 , Peterson's Solution

Backgorund 프로세스 통신 방법 - Message passing - Shared memory -> 충돌이 일어날 수 있다. ex) producer-consumer problem 두 프로세스가 동시에 작동하여 일어날 수 있는 문제들 : Producer-consumer problem Concurrent Access of Shared Data modification operation 중에 switching 이 일어날 수 있다. => Synchronization 문제가 발생한다. (아래 표 같은 상황이 일어날 수 있다.) - Race Condition (문제점) 매우 안 좋은 현상이다. 동일한 코드여도 실행되는 순서에 따라 다른 값을 낼 수 있다. -> 버그로 이어진다 (concurrent 한 상황에서 ..

Operating System 2020. 4. 22. 20:57

3. Process - RPC / Pipes

Remote Procedure Calls (RPC) RPC는 프로세스와 프로세스가 네트워크로 이어져있을 때 발생하는 호출이다. (client와 server간의 함수 호출) network로 request를 주고 받는다. 원격 function call을 하게 해주는 program module이다. RPC는 stubs라는 조그만 프로그램을 통해 제공된다. Stubs는 원격에서 더 큰 프로그램 또는 remote side의 서비스에 인터페이스를 제공하는 작은 프로그램으로, - Client stub / server stub => 양쪽에서 각각의 임무를 수행한다. - Locate port on server => 서버의 포트를 찾아낸다. - Marshal / Unmarshal 파라미터 => operation을 수행한다..

Operating System 2020. 4. 22. 20:18

3. Process - Socket

Socket은 Client - Server system의 communication 방식 중 하나이다. Socket은 Data communication을 한다. 쏘켓은 : 로 identify한다. Ip주소와 포트 정보가 있으면 클라이언트는 네트워크를 통해 서버 프로세스에 접근 가능하다. 포트는 컴퓨터에 네트워크로 연결하는 것으로, 컴퓨터는 multiple 포트를 가지고 있어야 한다. 서버는 특정한 포트를 열어놓고 클라이언트가 접속하는지 확인한다. 포트는 65536개가 있는데 1024 아래에 포트는 특정 서비스에 사용되고 있다. 쏘켓을 사용할 때, 클라이언트는 포트를 선택하여 자신의 id 주소와 결합해서 포트를 하나 만는다. Java Socket 자바 쏘켓에서는 두개의 클래스를 지원하고 있다..

Operating System 2020. 4. 22. 19:50

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
Blog for Code © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바