운영체제
-
[OS] 운영체제와 메모리운영체제 2020. 10. 22. 17:26
메모리 프로세스 수행 중 명령어를 실행시키려면 최소 1회의 메모리 접근이 필요함 PC 값을 이용하여 메모리로부터 실행해야할 instruction을 불러옴 명령어 해동 후 메모리에서 피연산자를 가져온 뒤 명령어 실행 후 필요 시 메모리에 결과값 저장 Base, Limit 레지스터 Base 레지스터( = Relocation 레지스터) : 프로세스의 시작 메모리 주소 Limit 레지스터 : 프로세스의 메모리 주소공간의 크기 Base 레지스터 값 + Limit 레지스터 값 = 프로세스의 메모리 끝 주소 유효성 검사 : if ( base < address < base + limit) OK else ERROR 이 범위를 벗어나는 메모리에 접근 시 에러를 발생 시킴 운영체제의 영역을 보호하기 위함과 동시에 하나의 메..
-
CPU 스케쥴링운영체제 2020. 10. 19. 23:19
CPU 스케쥴링 CPU 작업의 종류 cpu burst : cpu 가 필요한 작업 i/o burst : i/o 가 필요한 작업 보통 cpu burst 는 8ms 정도면 대부분 끝남 Long term scheduler : 언제 프로세스를 메모리에 올리고 내릴지 결정하는 스케쥴러 Short-term scheduler : CPU 에 올릴 프로세스를 선택하고 해당 프로세스를 CPU에 할당해주는 스케쥴러 CPU 스케쥴링이 일어나는 시점 프로세스가 runing → waiting 상태로 감 ( branch 명령, I/O 처리, 할당 시간 초과 등) 프로세스가 runing → ready 상태로 감 프로세스가 waiting → running 상태로 감 프로세스의 terminate 비선점형(Non-preemptive) 스케..
-
운영체제의 프로세스운영체제 2020. 10. 19. 12:52
프로세스 프로세스는 디스크에 저장되어 있는 실행 파일이 실행되어 메모리에 올라오면 이를 프로세스라 함 프로세스의 메모리 Text : 코드 Stack : 지역변수, 파라미터 Data : 전역변수, static 변수 Heap : 동적할당 프로세스의 상태 new : 프로스세스가 갓 생성됨 running : Instruction(명령어)가 실행 중임 waiting : 대기 중 ready : 프로세서에 할당되기를 기다리는 중 terminated : 프로세스가 실행을 마침 PCB(Process Control Block) OS가 프로세스를 관리하기 위한 자료구조로, 프로세스 1개당 PCB 1개가 할당 PCB를 Task Control block 이라고도 부름 하드웨어와 프로세스의 맵핑을 용이하게 하기 위해 필요함 구성..
-
운영체제 기본지식과 리눅스운영체제 2020. 10. 18. 18:48
OS 구성도 OS User Interface GUI, Shell 등 다양한 형태로 제공 역할 명령어 해석 커널에 명령어 전달 (실행) 결과 출력 시스템 콜 주로 high level language (c, c++)로 작성되며, OS는 이를 사용자에게 제공하기 위해 API(Application Programming Interface)를 제공합니다. 시스템 함수가 호출되면 Software interrupt 가 발생하고, 인터럽트 별로 어떻게 대응할지는 IDT(Interrupt Descriptor Table)에 저장되어 있습니다. system_call()의 경우에는 entry.S에 가서 사용자가 호출한 시스템 함수의 인덱스를 찾습니다. 이후 sys_call_table 이라는 시스템콜을 정리해둔 테이블에 해당 인..