운영체제
컴퓨터의 사용자와 하드웨어 사이에서 중재자 역할을 하는 프로그램자원(cpu, 메모리, 하드)를 효율적으로 관리, 입출력 제어
유저 - 응용프로그램 - 운영체제 - 하드웨어
일괄 프로그램 처리 시스템
한번에 모어서 실행함 -> idle 상태가 많아짐상호작용 (게임, 잦은 입출력)이 필요없는 큰 단위의 작업에서 수행
다중 프로그램 처리 시스템
cpu가 수행할 작업을 항상 가짐하드나 ssd에서 여러개의 프로그램을 ram에 올리고 차례대로 실행( idle상태일 때 까지)
시분할 시스템
다중 프로그래밍을 확장함, 아주 짧은 주기로 cpu를 각각의 프로그램에 할당함(리눅스에서 여러 사용자가 동시에 프로그램을 실행함)
현재 운영체제는 다중과 시분할이 적절히 사용됨
단어
프로세스 - 실행중인 프로그램idle - cpu가 쉬는 상태
작업 스케줄링 - 보조기억장치(하드, ssd)에 프로그램이 저장되어 있고 일부를 선택해서 메모리에 적재하는 전략
cpu 스케줄링 - 메모리에 올라온 작업들 중에서 무엇을 실행할지 고르는 전략
다중 처리 시스템
cpu가 여러개, cpu끼리 통신대칭적 다중 처리 - 각 cpu가 동등한 위치, 하나가 고장나도 속도가 느려질뿐
비대칭적 다중 처리 - 각 cpu마다 역할이 있고, 메인 cpu가 시스템을 제어
분산 처리 시스템
네트워크를 통해 작업을 처리, 각 cpu는 메모리를 공유하지 않않음, 속도 신뢰 증가(클라이언트 - 서버, p2p시스템)
클러스터 시스템
물리적으로 많은 cpu를 한곳에 모아 특정한 작업을 수행, LAN으로 서로 연결됨대칭적, 비대칭적 특징을 가짐
실시간 시스템
cpu 동작을 즉시 처리할 때 ( 명령을 했을 떄 우선순위에 밀리지 않음)연성 실시간 시스템 - 우선순위를 가지로 빠르게 계산, 절대적으로 시간만을 중요시하지 않음
( 음악을 들을 때 렉이 걸려도 음악은 계속 재생 )
경성 실시간 시스템 - 빠른시간이 절대적으로 요구되는 시스템 ( 무기, 의학 )
컴퓨터 작동 과정
cpu와 각 장치들은 서로 연결되어 메모리를 공유
각각의 장치는 장치제어기가 작업을 도와주며 모든 기계들은 동기화됨
1. 전원이 켜질 떄 ROM에 저장된 초기 프로그램 실행
2. 초기 프로그램은 메모리, cpu 레지스터 등을 초기화
3. 운영체제를 메모리에 적재
4. 운영체제는 첫 번째 프로세스를 실행
5. 인터럽트가 발생하면 cpu가 각종 작업을 처리
인터럽트
입출력 종료, 예외, 서비스를 요구할 때 발생하는 이벤트
인터럽트가 발생하면 cpu는 현재 일을 중단하고 인터럽트를 처리함 -> 서비스 루틴
시스템 스텍에 현재 하던 일을 저장하고 인터럽트를 처리함
( 키보드 입력, 마우스 입력 등등)
인터럽트는 서비스 루틴의 주소를 가리키는 포인터로 구성된 벡터 테이블을 참조함
참조된 포인터가 가리키는 인터럽트 처리 루틴을 호출하여 인터럽트 처리
인터럽트가 실행되고 있을 때 다른 인터럽트가 발생하면 대기 시킴
( 우선순위로 대기하고 있는 인터럽트 순서를 조절)
입출력 시스템
1. cpu가 장치 제어기의 레지스터에 명령을 적재 ( scanf 업무 부여 )2. 장치 제어기는 레지스터 내용을 읽고 수행할 동작 검사 ( scanf 업무 읽음)
3. 레지스터에서 읽기 명령이 내려오면 입력 장치에게 읽기 신호를 보냄( 키보드에 신호)
4. 입력 장치는 데이터를 읽어서 버퍼에 저장 (데이터를 읽고 버퍼에 저장)
5. 제어 부분은 cpu에 인터럽트를 발생시킴 (인터럽트를 발생 시켜 cpu가 버퍼를 읽도록함)
6. cpu가 버퍼에서 데이터를 읽음 (cpu가 데이터를 읽음)
저장장치 구조
주기억장치(RAM)프로세스가 올라가는 공간, cpu가 접근할 수 있는 대량 저장 장치
워드는 cpu가 한번에 처리할 수 있는 단위
(32bit운영 체제는 워드의 단위가 32bit)
cpu는 레지스터와 RAM만 접근이 가능함(저장장치 중)
보조기억장치(하드,ssd)
데이터를 영구히 저장
프로그램을 실행하면 필요한 부분을 RAM에 적재
https://wkdtjsgur100.github.io/os-summary-process/
http://luckyyowu.tistory.com/134?category=751813
http://ournotes.tistory.com/58