본문 바로가기

TIL

[TIL]20220610

CS 스터디

챕터38: 여러 작업을 수행하는 애플리케이션

챕터39: 소프트웨어의 계층 구조

동기(synchronous : 동시에 일어나는)

  • 요청과 결과가 한 자리에서 동시에 일어남
  • A노드와 B노드 사이의 작업 처리 단위(transaction)를 동시에 맞추겠다.

비동기(Asynchronous: 동시에 일어나지 않는)

  • 요청한 그 자리에서 결과가 주어지지 않음
  • 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.

동기, 비동식의 장단점

  • 동기방식은 설계 매우 간단하고 직관적이지만 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점
  • 비동기 방식은 동기보다 복잡하지만 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있으므로 자원을 효율적으로 사용할 수있다.

동기방식의 예(A가 B에게 10,000원을 송금)

  1. A의 계좌는 10,000원을 뺄 생각을 하고 있다.
  2. A의 계좌가 B의 계좌에 10,000원을 송금한다.
  3. B의 계좌는 10,000원을 받았다는 걸 인지하고, A의 계좌에 10,000원을 받았다고 전송한다.
  4. A, B 계좌 각 각 차감과 증가가 동시에 발생하였다.

순서를 보면 아시겠지만 A의 계좌와 B의 계좌는 서로 요청과 응답(1 ~ 3과정)을 확인한 후 같은 일을 동시에 진행하였다. (4번 과정) ‘계좌이체’ 같은 작업은 동기방식으로 처리해야 A에서 보냈는데 B는 못받는 상황이 없다.

비동기방식의 예(시험날의 학생과 선생)

  1. 학생은 시험문제를 푼다
  2. 시험문제를 모두 푼 학생은 선생님에게 전송한다.
  3. 선생은 학생의 시험지를 채점한다.
  4. 채점이 다 된 시험지를 학생에게 전송한다.
  5. 학생은 선생이 전송한 시험지를 받아 결과를 확인한다.

학생과 선생은 시험지라는 연결고리가 있지만 시험지에 행하는 행위(목적)은 서로 다르다. 학생은 시험지를 푸는 역할을 하고 선생님은 시험지를 채점하는 역할을 했다. 서로의 행위(목적)가 다르기때문에 둘의 작업 처리 시간은 일치하지 않고, 일치하지 않아도 된다.

소프트웨어의 계층 구조

운영체제 5계층 구조

  • 운영체제의 1 계층, 프로세서 관리에서는 동기화 및 프로세서 스케줄링을 담당한다. 스케줄링이란 처리해야 할 일들의 순서를 정하는 일이다. 중앙처리장치를 사용할 수 있도록 순서를 정한다.
  • 운영체제의 2 계층, 기억장치 관리에서는 메모리의 할당 및 회수 기능을 담당한다. 메모리 할당이란 프로그램이 사용할 메모리 공간을 확보하는 것을 말한다. 메모리 크기는 한정되어 있기 때문에, 이를 관리하는 역할을 한다.
  • 운영체제의 3 계층, 프로세스 관리에서는 프로세스의 생성, 제거, 메시지 전달, 시작과 정지 등의 작업을 담당한다. 실행 중인 프로그램의 프로세스를 생성하여, 각 프로세스별로 관리하고 프로그램을 동시에 작업할 수 있도록 해주며, 프로그램 종료 시 프로세스를 제거한다.
  • 운영체제의 4 계층, 주변장치 관리에서는 주변장치의 상태 파악과 입출력 장치의 스케줄링을 담당한다. 컴퓨터 주변 기기인 키보드, 프린트, 마우스 등 주변 장치와 입출력 장치의 스케줄링을 관리하는 역할을 담당한다.
  • 운영체제의 5 계층, 파일 관리에서는 파일의 생성과 소멸, 파일의 열기와 닫기, 파일의 유저 및 관리를 담당한다.

 

브라우저는 운영체제 일까?

결론부터 말하면 아니다.

왜냐하면 어떤 브라우저든 공유된 자원이나 제어 기능에 간섭하지 않으면서 하나 또는 여러 개가 동시에 실행될 수 있기 때문이다.

 


 

 

'TIL' 카테고리의 다른 글

[TIL]20220612  (0) 2022.06.13
[TIL]20220611  (0) 2022.06.11
[TIL]20220609  (0) 2022.06.09
[TIL]20220608  (0) 2022.06.09
[TIL]20220607  (0) 2022.06.07