조준화의 오류정정

조준화의 오류정정

  • 분류 전체보기
    • TIL
    • 프로그래밍 언어
      • Java
      • C++\C
      • HTML\CSS
    • 알고리즘
      • 문제풀이
      • 알고리즘 지식
    • CS
      • Computer Architecture
      • Operating System
      • Computer Network
      • 백엔드
      • Information Retrieval
      • Database System
      • ServerProgramming
    • AI
      • CS231n
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

조준화의 오류정정

컨텐츠 검색

태그

우선순위 큐 C++ 정렬 백트래킹 백준 BOJ 시뮬레이션 OS 자료구조 문자열 til java BFS 알고리즘 html 자바 DP 재귀 dfs 문제풀이

최근글

댓글

공지사항

아카이브

synchronization(3)

  • [OS] 세마포어와 모니터를 통해 동기화 문제를 해결해보자! - 데드락, Starvation

    spinlock의 문제점 [OS] 동기화 문제를 해결해보자! - Locks, Perterson’s AlgorithmLocks lock은 말 그대로 자물쇠 역할이다. 크리티컬 섹션에는 한 명만 들어가야 하는데, 들어갈 때 lock 하고, 나올 때 unlock 하는 방식으로 동기화 문제를 방지한다. acquire() : lock이 풀릴 때 까지 기다jun-n.tistory.com위의 글에서 동기화 문제 해결 방법으로 Locks을 공부했다. 그런데 사실 위에서 배운 Lock은 해결법 중 하나인 spinlock이다. spinlock 외에도 많은 Locks가 있는데, spinlock에 어떤 문제가 있어서 새로운 Lock이 등장하게 되었을까?spinlock은 CPU를 너무 낭비한다. (wasteful)spinloc..

    2024.04.29
  • [OS] Synchronization & Critical sections & Synchronization Problem

    Synchronization 멀티쓰레드로 만들어진 프로그램들이 서로 잘 돌아가게 해야 한다. 여러 자원을 공유하는 멀티 쓰레드 프로그램들이 서로 잘 협력해야 한다. 멀티 쓰레드들이 실행되면서 문제를 일으킬 수 있는데, 그걸 Synchronization 문제라 한다. 이 협력을 통제해야만 문제가 생기지 않는다. 두 개의 쓰레드가 있는 프로세스를 생각해 보자. 쓰레드들의 스케줄링은 OS 내부의 스케줄러가 결정한다. 그런데 가끔, 쓰레드들의 실행 순서에 따라서 문제가 생기거나 결과가 바뀔 수 있다. 운영체제의 스케줄링을 프로그래머가 결정할 수 없다. 그런데 프로그래머는 스케줄링을 컨틀로 해야 할 때가 있다. 여러 쓰레드의 실행 순서, 프로세스들 간의 스케줄링을 컨트롤해야 할 때가 분명히 있다. 예시로 보자. ..

    2024.04.13
  • [OS] I/O에서 데이터 전송 방식과 Timers, Protected Instruction

    DMA I/O 컨트롤러 내부에 조그마한 버퍼 메모리가 있다. 그 버퍼 메모리에서 메인 메모리쪽으로 복사사키는걸 input, 반대를 output이라 한다. 이러한 과정, I/O에서 데이터를 전송하는 방식은 Programmed I/O와 DMA 방식이 있다. Programmed I/O 데이터를 옮기는 작업을 CPU가 관여한다. 특별한 I/O instruction(protected instruction) 방법이 있고 memory-mapped 방법도 있다. I/O 작업때문에 CPU가 묶여있기에 비효율적일 수 있다. Programmed I/O 방식은 전송 데이터 양이 적을때 사용한다. 키보드에서 1byte만 옮기는 상황이라면 CPU가 빨리 복사해서 옮기는게 더 낫다. DMA I/O 장치가 직접 옮긴다. DMA란 D..

    2024.04.01
이전
1
다음
티스토리 github notion
© 2018 TISTORY. All rights reserved.

티스토리툴바