컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층하드웨어 위에 운영체제를 설치해놓으면, 두개가 한몸이 되서 하나의 컴퓨터 시스템이 된다.사용자는 직접 하드웨어로 접근하지 않고도, 운영체제를 이용해서 컴퓨터를 쉽게
좁은 의미의 운영체제를 보통 커널이라고 한다.협의의 운영체제(커널)운영체제의 핵심 부분으로 메모리에 상주하는 부분광의의 운영체제커널 뿐 아니라 각종 주변 시스템 유틸리티를 포함한 개념크게 두가지로 나누어 볼 수 있다운영체제를 기준으로 아랫단(하드웨어)운영체제를 기준으로
I/O device에서 데이터가 컴퓨터 안쪽으로 들어가는 것을 input컴퓨터 안에서 처리하고 내보내는 결과가 output그래서 I/O device간략하게 말하자면 컴퓨터는 CPU 와 memory로 구성되어 있다.좀더 자세히 본다면?메모리는 CPU의 작업 공간이다.CP
CPU가 매 clock cycle마다 메모리에서 기계어를 읽어서 실행CPU는 1clock당 1 인스트럭션을 처리함.register에서 Program Counter라고 하는 레지스터가 있는데, 메모리 주소를 가리키는 레지스터이다.그것이 가리키고 있는 메모리 위치에서 인스
동기식 입출력 (synchronous I/O)I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어감.구현 방법 1I/O가 끝날 때까지 CPU를 낭비시킴매시점 하나의 I/O만 일어날 수 있음구현 방법 2I/O가 완료될 때까지 해당 프로그램에게서 CP
“A thread (or lightweight process) is a basic unit of CPU utilization”Thread의 구성program counterregister setstack spaceThread가 동료 trhead와 공유하는 부분(=task
다중 스레드로 구성된 태스크 구조에서는 하나의 서버 스레드가 blocked (waiting) 상태인 동안에도 동일한 태스크 내의 다른 스레드가 실행 (running)되어 빠른 처리를 할 수 있다.동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율 (throughp
부모 프로세스 (Parent process)가 자식 프로세스 (children process) 생성프로세스의 트리 (계층 구조) 형성프로세스는 자원을 필요로 함운영체제로부터 받는다.부모와 공유한다.자원의 공유부모와 자식이 모든 자원을 공유하는 모델일부를 공유하는 모델전
리눅스 체제에서는 부모 프로세스가 자식 프로세스를 생성했다고 자원을 전부 다 새로 복사해서 생성하지 않음.일단 공유할 수 있는 부분은 최대로 공유함.COW는 write가 발생했을 때 그 때 copy를 하겠다는 얘기.write가 발생한다는 것은 원래 있던 내용을 바꾸는
어떤 프로그램이든 간에 위의 그림같은 path를 실행하면서 진행된다.load store add store 이런것들이 프로그램에서 기계어를 실행하는 인스트럭션이다.이런 인스트럭션들을 실행하다가 read from file 같은 오래 걸리는 I/O 작업 같은 경우 wait(