-
1.4 Operating System OperationsTIL(today i learned)/운영체제 2023. 3. 11. 13:04
Bootstrap program (초기 프로그램)
펌웨어에 저장된다.
컴퓨터가 부팅할 때 시스템을 초기화해준다.
자세한 거 여기에:https://velog.io/@gerrymandering/%EB% B6%80% ED% 8A% B8% EC% 8A% A4% ED% 8A% B8% EB% 9E% A9-%ED%94%84% EB% A1% 9C% EA% B7% B8% EB% 9E% A8
운영체제 적재 및 해당시스템 실행법
적재하는 법:부트스트랩 프로그램이 운영체제 커널을 찾아 메모리에 적제 해야 함.
실행하는 법:커널이 로드되고 실행되면 시스템과 사용자에게 서비스 제공을 시작할 수 있다.
만약 아무런 이벤트가 없는 경우 OS는 조용히 기다린다.
이벤트는 대부분 인텁트를발생시켜 신호를보냄 앞서 이야기하였듯 인텀럽트는 두가지 종류가 있는데 하나는 하드웨어적인 maskable요청, 나머지하나는 사용자 프로그램의 요청으로 발생하는 소프트웨어적인 특성 Trap(0으로 나누기 또는 유효하지 않은 주소 접근 등등)또는 Exception(예외)이러한 특정요청은 시스템콜이라는 특수연산을 실행하여 요청되고 운영체제가 제공하느서비스가 수행될것을 요구한다.
Multiprogramming and Multitasking
process:실행중인 프로그램
멀티프로그래밍:위에 보이는것처럼 여러프로세스를 동시에 메모리에 유지한다.또한 CPU사용률을 극대화하여 사용자의 만족을 높힌다.
만약 CPU가 놀고있으면 머리채잡고 따른일(프로세스)를 시킨다.
항상 한개이상을 일을하도록 착취? 한다고 생각하면 편하다.
Multitasking
멀티프로그래밍의 논리적 확장이다.CPU는 빈번하게 프로세스를 왔다갔다 하지만 그만큼 전환이 많이발생하여 사용자에게 빠른 응답시간을 제공함.또한 여러가지의 프로세스가 싱행될 준비가되어있다면 시스템은 다음에 실행할 프로세스를 선택해야한는데 이경절을 내리는것이 CPU스케줄링이다.
다중태스킹 시스템은 적절한 속도를 사용자에게 제공해야하는데 일반적으로 사용되는 기술이 가상메모리 (Virtual memory)인데 이기법은 프로그램이 실제 메모리보다 큰것을 허용시켜준다.(프로세스의 실행을 메모리저장의 한계로부터 해방시켜줌)
os는 잘못된 프로그램(혹은 악의적인)으로인해 다른프로그램이나 운영체제가 잘못 실행되지 않도록 해야된다.
이를 위해서 대부분의 컴퓨터 시스템은 운영체제 코드실행과 사용자지정 코드 실행을 구분할수 있는 하드웨어 자원을 공유한다.
Dual-mode – user mode and kernel mode
커널모드=수퍼바이저모드=시스템모드=특권모드:os 코드 run
사용자모드:사용자지정코드 run
모드비트를 사용함으로서 사용자와os간의 작업을 구분할수있다.
그러나 사용자모드에서 os로부터 서비스를 요청하면 (시스템콜 같은) 이때는 잠시 커널모드로바꾼다.
이러한 이중모드는 악영향을 끼칠수있는 특별한 명령어를 특권명령으로 지정함으로써 보호를 한다.
하드웨어는 이러한 특권명령이 커널모드에서만 실행되도록한다.
커널모드로 전환하는 명령어는 특권명령의 하나의 예시이며 I/O제어,타이머관리, 및 인터럽트 관리가 있다.
가상화를 지원하는 CPU는 종종virtual machine manager (VMM)이 시스템을 제어하는 시점을 표시하기위한 별도의 모드르가진다. 이모드에서는 사용자모드보다는 많지만 커널보다는 적은 권한을 가진다.가상머신을 생성,및관리 하려면 그만한 권한 레벨이 필요하고 CPU상태를 변경하여 해당작업을 수행할수있다.
운영체제가 CPU를 제어할수있도록 보장해야한다. 이때 사용자가 무한루프에 빠지거나 시스템서비스호출에 실패하여,제어가 운영체제로 복귀못하는경우를 막기위해 타이머를 사용할수있다.계수기가 0이되면 인터럽트가발생한다.
'TIL(today i learned) > 운영체제' 카테고리의 다른 글
1.6 Security and Protection (0) 2023.03.13 1.5 Resource Management (0) 2023.03.11 1.3 Computer-System Architecture (0) 2023.03.10 [1.2.2] Storage Structure (0) 2023.03.08 Interrupts (0) 2023.03.08