신문

  • '도심 속 폐가' 느는데…지자체는 발만 동동

    농촌보다도 도심 속에 빈집이 더 많다고 한다. 사유재산이라 강제 철거도 불가능하고 뚜렷한 대안이 없는 것도 문제다. 어차피 사유재산인데 꼭 미관 때문에 바꿔야 하나 싶다.
    도심속 재개발?

  • 지난해 '2030 영끌족' 아파트 매매 최대치 찍었다…서울 40% 넘어

    다른 지역은 아파트가 남는다 그러더니 역시 서울은 다시 시작이다. 대출 or 전세를 끼고 주택을 구입한다고 한다. 대출 금리가 가파르게 올랐다. 사람들이 대출을 많이 한다는 의미고 투자 목적이 클 것 같다. 이거 상환은 될까?

  • 역대급 실적 증권사, 자사주 소각·배당 잇따라

    증권사들의 주주친화정책.
    실적은 잘 나왔는데 거래대금 규모가 전년에 비해서는 반틈이라고 한다. 어제 본 메타와 비슷하지 않나 싶다. 그러면 IPO로 실적이 나온 건가

  • "우리사주 사려고 대출 땡겼는데"…주가 하락에 직원들 전전긍긍

    물론 IPO대어의 공모주들은 대출을 받고도 매수를 하는게 좋을 거 같긴하다. 그러나, 조건이 존재하다면 다시 한번 생각해야 하지 않을까 보호예수가 어떤 상황에 걸리는 지는 모르지만 무슨 기간. 무슨 기간 이렇게 계속 붙게 되면 자기의 의도와는 다르게 관리가 될 거 같다.
    전 세계적으로 주춤하는 거일수도 있으니 본인의 판단을 잘 세우고 빠른 손절 혹은 물타기 등으로 대응하는 것이 맞지 않을까.
    자기 회사를 본인이 모르면 누가 판단에 도움을 주겠나



알고리즘

세그먼트 트리 c++로 구현,

  • BOJ 2104 부분배열 고르기

  • 스위핑 : 대부분 boj 2170문제를 예시로 풀어본다.
    기본적으로 정렬되지 않은 문제들에 대해 정렬이 필요한 경우 순차적으로 계산을 하는데 이를 스위핑 이라 부른다고 한다. 대부분 다른 알고리즘들과 합쳐서 출제되므로 난이도가 높다.


프로세스간 통신

운영체제

IPC

프로세스 간의 정보를 교환하는 매커니즘을의미함

  • shared memory
  • message passing
    두 방식 중 하나로 정보를 교환

shared memory

정보의 생산, 소비하는 대상들이 동시에 실행이 되도록 한다.
공유하는 buffered에 정보를 저장, 비우는 방식으로 공유
race condition이 발생할 수 있다.
메모리에 접근하고 정보를 조작하는 코드를 프로그래머가 직접 코딩 해야 한다.

구현된 시스템
POSIX shared Memory : Portable Operating System Interface로 UNIX에서 사용
memory - mapped file에 공유 메모리를 만들어 사용

Message - Passing

OS가 메모리 관리를 함.
통신을 하려는 프로세스 끼리 Communication Link가 존재해야 함.

구현된 시스템
Pipes : UNIX system의 매커니즘

Pipe

단방향, 양방향 (unidirectional, bidirectional)
반이중, 전이중 통신 (half-duplex, full-duplex)[* 반이중 : 한 쪽이 송신하면, 다른 쪽은 수신 | 전이중 : 동시에 각각 독립된 회선으로 통신]
프로세스간의 관계가 필요(자식 - 부모)

종류

  • Ordinary pipes : 프로세스 간의 관계가 필요
    양방향 통신을 위해서는 단방향 파이프 2개를 써라.
  • Named pipes : 프로세스 간의 관계가 필요 없음

Communication Link의 종류

direct, indirect (직접적, 간접적)
synchronous, asynchronous (동기, 비동기)
automatic, explicit buffering (자동, 명시적 메모리 관리)

direct

발신, 수신자의 정보가 명시되어야 함
단 2개의 프로세스를 연결시키며 하나의 link만 존재한다.

indirect

과거엔 mailboxes, 현재는 port라 부르는공간으로 정보를 발신, 수신함.
상호배제를 해결한 방식이라 함. (* 상호배제 ? 공유자원을 여러 프로세스가 "동시"에 사용할 수 없게 하는 기법, 어느 시점에서 단지 한 개의 프로세스만이 사용할 수 있도록 함)
2개 이상의 프로세스가 link될 수 있음.

OS가 하는 일
생성, 발신, 수신, 삭제 mailbox에다가 이러한 일 들을 수행함.

동기적, 비동기적 실행이 가능
Blocking (send, receive) : 현재 코드가 다 실행되기 까지 기다려야 함. 버퍼가 꽉 차서 모든 정보를 보내지 못했으면 대기를 하면서 보냄
Non - Blocking (sebdm receuve) : 걍 이 코드 실행하고 뒤로 넘어감. 내가 짜 놓은 코드 순서와 다르게 움직이게 됨.

client - server 사이의 정보 교환

Socket : IP로 다른 컴퓨터를 찾고, port를 통해 정보를 교환
RPCs : 원격으로 함수를 호출하는 개념 (stub, marshal : 필요한 파라미터들을 정리한 후, 서버의 함수(skeleton)를 실행)

0개의 댓글