본문 바로가기

Computer Science

(125)
요구 페이징 기법 프로세스 모든 데이터를 메모리에 적재하지 않고, 실행 중 필요한 시점에서만 메모리로 적재함. (선행 페이징의 반대 개념) 더 이상 필요하지 않은 페이지 프레임은 다시 저장매체에 저장(페이지 교체 알고리즘 필요) 페이지 폴트(Page fault) : 인터럽트 : 어떤 페이지가 실제 물리 메모리에 없을 때 일어나는 인터럽트 (페이지에 대한 valid bit가 i일 때 물리 메모리에 올려주고 v로 바꿔주고 그 작업을 재 실행) 운영체제가 page fault가 일어나면, 해당 페이지를 물리 메모리에 올림
페이징 시스템과 공유 메모리 Process B가 물리 메모리 공간을 읽기만 한다면 계속 사용할 수 있으나, 문제의 주어진 상황처럼 메모리 주소에 대해 쓰기를 수행하였을 때에는, 해당 물리메모리 공간에 동일한 공간을 가리키고 있던 Process B의 페이지 테이블을 복사하여 만들어 다른 공간에 놓고 이후 동작을 수행하여(copy-on-write) 프로세스 B의 물리주소의 Pointer를 바꿔주면 된다.
페이징 시스템(Paging System) 예시 가상주소 / 페이지테이블 / 물리주소
가상메모리 Why? 실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기가 한계가 있다. (코드는 메모리에 반드시 있어야 CPU에서 실행을 한다) ex) 리눅스는 하나의 프로세스가 4GB 통상 메모리는 RAM 8GB, 16GB 정도이므로 CPU가 사용하는 메모리공간은 제한적인 점을 이용하여 지금 쓰는 공간만 메모리에 올려둠, 다끝나고 새로운 공간이 생기면 다시 올려두는 방식을 이용. 즉, 가상메모리는 하나의 프로세스만 실행하는 시스템에서는 필요없다(ex 배치 처리 시스템) 프로그램을 메모리로 load-> 프로세스 실행 -> 프로세스 종료(메모리 해제) 여러 프로세스를 동시에 실행하는 시스템에 가상 메모리가 필요하다 1. 메모리 용량 부족이슈 2. 프로세스 메모리 영역간에 침범이슈 -> 가상메모리 : 실제 ..
사용자-응용프로그램-운영체제-컴퓨터 하드웨어와 관계 운영체제는 사용자 인터페이스 제공 Shell(쉘) 프로그램이 사용자의 요청을 받아서 응용프로그램에 넘겨준다. (쉘도 응용프로그램 종류) 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램 (터미널 환경 : CLI 그래픽 환경 : GUI) + 운영체제는 응용프로그램을 위해서도 인터페이스 제공 API(application programming interface 제공 ) -함수 형태로 (함수들을 묶은 것 library) +응용프로그램은 시스템 콜을 제공한다 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공 핵심 운영체제 기능을 가진 소프트웨어 : kernel System call 개발 -> API(언어별 시스템콜을 사용할 API) -> She..
운영체제의 역할 정리, 폰노이만 구조 1. 시스템 자원(System resource)=Hardware(CPU,메모리 ,I/O devices, 저장매체)을 관리한다 2. 사용자와 컴퓨터간의 커뮤니케이션을 지원한다 (운영체제의 Shell이 번역 기능?을 담당) 3. 응용프로그램을 관리한다. (운영체제의 프로세스관리, 주기억장치 관리, 파일관리, 디스크관리, 입출력관리, 네트워킹,보호 보안 등의 기술로 응용프로그램과 하드웨어를 효율적으로 관리 제어한다) ==> 운영체제의 목표 : 사용자가 사용하는 응용프로그램이 효율적이면서 적절하게 동작하도록 지원 즉, 운영체제는 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고 지원하는 소프트웨어이다. 운영체제는 HDD or SSD에 저장(설치)되어 있다. so, 컴퓨터를 키면 운영체제는 Memory..
운영체제 역할3. 컴퓨터 하드웨어와 프로그램을 제어 프로그램을 소프트웨어라고 부르는데 (명령어들의 집합) 소프트웨어 : 운영체제(시스템 소프트웨어), 응용 프로그램(Application) 응용프로그램은 운영체제가 관리한다 1. 응용 프로그램을 실행시킨다 2. 응용 프로그램간의 권한을 관리 3. 응용 프로그램을 사용하는 사용자도 관리 응용프로그램을 실행시키는 것 운영체제가 한다 - 컴퓨터 하드웨어와 응용프로그램을 효율적으로 제어하기 위해 운영체제 안에 있는 기술들 (프로세스관리, 주기억장치 관리, 파일관리, 디스크관리, 입출력관리, 네트워킹,보호 보안 등...) - Shell : 사용자와 운영체제간 커뮤니케이션을 지원하는 것
운영체제 역할2. 사용자와 컴퓨터간의 커뮤니케이션 지원