목록OS (3)
without haste but without rest
1. 배치처리 시스템 - 프로세스 순차 실행 2. 시분할 시스템 - 어플리케이션이 CPU를 점유하는 시간을 잘개 쪼개어 실행될 수 있도록 하는 시스템 3. 멀티 태스킹 - 단일 CPU에서 여러 응용프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템 멀티 태스킹과 멀티 프로세싱 1. 멀티 태스킹 - 단일CPU 2. 멀티 프로세싱 - 다중 CPU에 하나의 프로그램을 병렬로 실행해서 실행 속도를 극대화함 프로세스 스케쥴링 멀티 프로그래밍 - 최대한 CPU를 많이 활용하도록 하는 시스템 목적 (1). 시간 대비 CPU 활용도를 높이자 (2). 응용 프로그램을 짧으느 시간 안에 실행 완료시킬 수 있다. 멀티 프로그래밍이 굳이 필요한 이유? - 응용 프로그램은 온전히 CPU를 전부 사용하기 보다는 다른 작업을 ..
운영체제는 사용자 인터페이스를 제공한다. -> 쉘 쉘은 CLI, GUI 환경이 있다. 시스템 콜(시스템 호출 인터페이스) (요청서) 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수 API 내부에는 시스템콜을 호출하는 형태로 만들어지는 경우가 대부분이다. 시스템콜의 복잡성을 완화하기 위해 각 언어는 API, Library형태로 시스템콜을 사용할 수 있도록 제공한다. 해당 API, Library를 활용하여 응용 프로그램을 개발한다. 핵심 운영체제 (커널) 운영체제를 만든다면? 1. 운영체제 개발 (kernel) 2. 시스템 콜 개발 3. C API (Library) 4. Shell 프로그램 표준적인 시스템콜을 정의하는 문서가 있다. - POSIX API (유닉스 계열은 해당 ..
운영체제는 시스템 자원을 관리한다. 하드웨어는 스스로 작동할 수 없다. 즉 하드웨어 자원을 관리할 소프트웨어가 필요하다. 해당 역할을 하는 게 운영체제다. 운영체제는 특정 프로그램이 CPU를 얼마나 사용할지 그리고 각 프로그램을 Memory의 어느 주소에 저장할지와 같은 하드웨어 자원의 사용률을 관리한다. 운영체제와 응용프로그램간의 관계 어플리케이션 관리 시스템 자원 관리 사용자와 컴퓨터간의 커뮤니케이션 지원 운영체제의 목표 사용자가 사용하는 프로그램이 효율적으로 적절하게 동작하도록 지원한다. 즉 운영체제는 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고 지원하는 소프트웨어다.