본문 바로가기

운영체제18

뇌를자극하는윈도우즈시스템프로그래밍 레지스터는 몇 비트로 구성할 것인가? Ans : 보통 n비트 시스템이면, 레지스터도 n비트이다. 그렇게해야지 한번에 처리할 수 있는 데이티가 맞춰지기 때문이다. 포인터는 크면 클 수록 좋다. 버스가 한번에 이동할 수 있는 크기내에 클 수록 좋은 것이다. 버스는 32bit를 한번에 이동시킬 수 있는데 포인터는 64면 2번을 이동해야하새 비효율적. 레지스터 용도를 정한다 왜? 명령어가 단순해지고, 목적지 정해져서 속도도 빨라진다. 명령어를 실행하는 단계 fetch -> decode -> execution1)메모리에 있는 명령을 fect해서 2)io버스를 타고 cpu로 들어가는데 3) 레지스터에 들어 가 있다가 컨트롤 유닛이 실행 가능할 때 명령을 가지고 와서 decode한후 4) ALU가 execution을.. 2022. 6. 22.
Multiprocessing vs Threading vs AsyncIO CPU BOUND VS IO BOUND CPU BOUND는 프로세스 진행이 CPU속도에 의해 결정된다 주로 행렬 곱, 고속 연산, 압축 파일등에 사용된다, IO BOUND는 파일쓰기, 네트워크 통신, 시리얼 포트 송수신(카드 단말기에 카드 결제)인데, 작업에 의해서 수행시간이 결정된다. 멀티프로세싱, 멀티스레딩, 비동기 Mutiprcoessing : 고가용성 cpu, 10개의 부엌이 존재한다면 10명의 요리사 10개의 요리가 나온다. 각기 처리 Threading : Fast IO Bound, 1개의 부엌, 10명의 요리사, 10개의 요리 AsyncIO : SLOW IO, 1개의 부엌, 1명의 요리사, 10개의 요리. 2022. 6. 22.
Blocking vs Non-Blocking I / O blockcingIO 시스템 콜 요청 후 커널 IO 작업 완료 시 까지 응답 대기 ex : 카카오톡으로 메시지를 전송했는데 답장이 올 때까지 대기 제어권이 io작업에 있다가, -> 커널 소유 -> 응답(response)까지 대기한다, 응답이 오기전에는 다른작업을 수행 할 수 없다. (카카오톡 답장이 올때까지 다른 작업을 할 수 없다) Non - Blocking IO 시스템 콜 요청시 -> 커널 io 작업 완료 여부 상관없이 즉시 응답... 카카오톡 보내 놓고 답장 오기전에 운동하거나, 아무거나 해도된다. 제어권(io작업) -> 유저프로세스 에 있다가 다른 작업 수행 가면서 주기적으로 시스템 콜을 통해 io작업 완료 여부를 확인하다 ex : 빨래방에 빨래를 맡겼다면, 아주머니에게 빨래 다 되었는지 주기적으.. 2022. 6. 22.
What Is Concurrency(동시성 vs 병렬성) 동시성 cpu 가용성 극대화를 위해 Paralleism의 단점 및 어려움을 소프트웨어 레베에서 해결하는 방법 싱글코어에에서 멀티스레드 패턴으로 작업을 처리.. 동시 작업에 있어서 일정양을 처리한 후 다음 작업으로 넘어가는 방식.. 제어권 주고 받으며 작업 처리 패턴, 병렬적은 아니나 유사한 처리 방식 병렬성 vs 동시성 동시성 : 논리적 동시 실행, 싱글코어 멀티코어에서 실행 가능, 한 개의 작업 공유처리 , 디버깅이 어렵다 병렬성 : 물리적으로 동시 실행, 멀티코어에서 구현 가능, 주로 별개의 작업처리. 2022. 6. 22.