(참고 강의 : http://www.kocw.net/home/search/kemView.do?kemId=1046323)메모리(RAM)에 주소가 있는 것은 모두 알 것이다.우리가 흔히 이야기 하는 주소는 Physical Address 일 것이다.실제 메모리 어디
메모리 관리 (참고 강의 : http://www.kocw.net/home/search/kemView.do?kemId=1046323) Noncontiguous allocation Paging 프로세스의 virtual memory를 동일 사이즈의 page 단위로 나눔
(참고 강의 : http://www.kocw.net/home/search/kemView.do?kemId=1046323)Address space 더 커지면 다단계 페이지 테이블 필요각 단계의 페이지 테이블이 메모리에 존재하므로 여러 번 메모리 접근해야TLB로 메
메모리 관리 4(참고 강의 : http://www.kocw.net/home/search/kemView.do?kemId=1046323)(메모리 할당 방법 중 페이징 기법을 쓰고 있다고 가정한다. 그리고 요즘 대부분 시스템이 페이징을 쓴다고 한다.)실제로 필요할
가상 메모리 1 내용과 이어집니다(참고 강의 : http://www.kocw.net/home/search/kemView.do?kemId=1046323)한정되고 빠른 공간(=캐시)에 요청된 데이터를 저장해두었다가 후속 요청시 캐시로부터 직접 서비스 하는 방식Pa
파일시스템 1(참고 강의 : http://www.kocw.net/home/search/kemView.do?kemId=1046323)A named collection of related information (특정 정보를 모아놓은 '이름')일반적으로 비휘발성의
파일시스템 2(참고 강의 : http://www.kocw.net/home/search/kemView.do?kemId=1046323)그럼 각각의 파일 데이터들을 디스크에 어떻게 할당을 할까?Contiguous AllocationLinked AllocationIn
Virtual memory의 paging system에서 사용하는 page frame을 caching에 관점에서 설명하는 용어Memory-Mapped I/O를 쓰는 경우 file I/O에서도 page cache 사용File 일부를 virtual memory에 mappi
컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층좁은 의미 (커널) : 운영체제의 핵심 부분으로 메모리에 상주하는 부분넓은 의미 : 커널 + 각종 시스템 유틸리티를 포함한 개념위처럼 운영체제는 하드웨어와 소프트웨어
사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 장치하드웨어적으로 두 가지 모드 operation 지원0 (커널 모드) : OS 코드 수행1 (사용자 모드) : 사용자 프로그램 수행보안을 해칠 수 있는 중요 명령어는 커널 모
I/O 요청 후 입출력 작업이 완료된 뒤에야 제어가 사용자 프로그램에 넘어감구현 방법 1 : I/O 끝날 때 까지 CPU 기다림, 매 시점 하나의 I/O만 일어날 수 있음구현 방법 2 : I/O 완료될 때 까지 해당 프로그램에게서 CPU 빼앗음, I/O 처리 기다리는
CPU의 수행 상태를 나타내는 하드웨어 문맥 \- Program Counter \-각종 register프로세스의 주소 공간 \- Code, Data, Stack프로세스 관련 커널 자료 구조 \- PCB \-Kernel stack 프로그램이 생성되어서 종료되
멀티 스레드로 구성된 테스크 구조에서는 하나의 서버 스레드가 blocked 상태인 동안에도 동일한 태스크 내 다른 스레드가 실행되어 빠른 처리가 가능하다.동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율과 성능 향상을 얻을 수 있다.스레드를 사용하면 병렬성을 높
참고강의 : kocw 반효경 교수 http://www.kocw.net/home/search/kemView.do?kemId=1046323\--항상 부모 프로세스가 자식 프로세스를 생성프로세스의 트리(계층 구조) 형성프로세스는 자원이 필요하다. \- 운영체제로
본 포스팅은http://www.kocw.net/home/search/kemView.do?kemId=1046323을 참고했습니다.CPU burst는 CPU가 명령어를 수행 중인 것을 말하고,I/O burst는 I/O 작업 수행 동안 CPU가 기다리는 것을 말한다
본 포스팅은https://core.ewha.ac.kr/publicview/C0101020140401134252676046?vmode=f 강의를 참고하여 정리했습니다.(반드시 이전 포스팅을 학습하고 읽어주세요)이제 ready queue를 어떻게 설계할지 알아본다
본 포스팅은https://core.ewha.ac.kr/publicview/C0101020140401134252676046?vmode=f 강의를 참고하여 정리했습니다.(반드시 이전 포스팅을 학습하고 읽어주세요)컴퓨터에서 데이터를 접근하려면, 저장소에서 가져온다.
본 포스팅은https://core.ewha.ac.kr/publicview/C0101020140404144354492628?vmode=f 강의를 참고하여 정리했습니다.(반드시 이전 포스팅을 학습하고 읽어주세요)프로그램을 작성할 때, 개발자 입장에서 임계 구역 코
본 포스팅은 https://core.ewha.ac.kr/publicview/C0101020140408134626290222?vmode=f을 정리했습니다. 고전적으로 Synchronization과 관련된 3개의 문제가 있다. 하나씩 살펴보자.원형인 자료구조에,
모니터는 프로그래밍 언어 차원에서 제공된다.공유 데이터와 operation이 모니터 내부에 있기 때문에, 세마포어처럼 P,V를 따로 걸어줄 필요가 없다.모니터 내부에 들어간다면 미리 정해진 operation만 보고 따라하면 되는 것이다.이처럼 개발자 입장에서 자연스럽고
일련의 프로세스들이 서로가 가진 자원을 기다리면 block된 상태하드웨어, 소프트웨어 자원을 포함하는 개념예 ) I/O device, CPU cycle, memory space, semaphore프로세스가 자원 사용하는 절차 \- Request => Allocate
테이블을 만들어 "최악의 상황"을 고려하여 자원을 줄지 말지를 결정하는 것이다.현재 할당 중인 Allocation프로세스가 최대로 요청할 Max현재 할당 가능한 여유 자원인 Avaliable프로세스가 앞으로 최대 얼마나 요청할 수 있는지 Need자원 할당을 결정할 때