프로그래밍 농장

Operating System Concepts [ 임베디드시스템 설계 ] 본문

Linux

Operating System Concepts [ 임베디드시스템 설계 ]

Tennessee201 2021. 9. 1.
728x90

- Operating System (OS) : 운영체제 

: Software that manages a computer hardware

: 하드웨어를 관리하는 소프트웨어 

 

- Operating system의 목표 

: 하드웨어와 소프트웨어간의 '인터페이스'

: Library ( system calls 포함 )

: Resource manager ( Use the computer hardware in an efficient manner )

 

-> Kernel[커널] : The one Program running at all times on the computer : 항상 수행되는 프로그램 

-> System program : The Program which ships with the operating system : 제공하기위래 미리 만들어놓은 프로그램

-> Middleware : A set of software frameworks that provide addition service to application ( IOS, Android . .) 

 

컴퓨터구조 + 컴파일러 + OS  -> 하나의 영역으로 묶여서 이루어진다 [=Computer Science]

+ Data structure , Programming language . .

 

- OS의 기능 

-> Process management (CPU scheduling) :여러 프로그램이 돌아갈떄 어떤 순서로 어떻게 관리할것인지에 대한 기능 

-> Memory management : 최적화된 메모리사용에 대한 기능

-> File system 

. . . 

 

- Computer system Organization [ 컴퓨터 시스템 구조 ] 

- Bus protocol (버스 프로토콜) : 서로 약속을 하는것 : bus의 몇번쨰 신호는 무슨 의미인지 . .

: One or more CPUs, device controllers connect through common bus providing access to shared memory

: Concurrent execution of CPUs and devices competing for memory cycles

컴퓨터 시스템 : 컴퓨터시스템에 붙어있는 디바이스들이 독립적으로, 동시에 동작하도록 구성 : local buffer가 이를 도움 

Master : 통신을 하기를 원하는사람

Slave : 통신을 받는사람

ex) CPU가 모니터에 데이터를 보내기를 원함 : CPU = Master / 모니터 = Slave

 

- CPU가 특정한 상태가 되었는지 무한으로 확인하는 것 : Polling 

-> 너무 비효율적 -> 'Interrupt' 라는 방식을 사용 

- Interrupt

: 다른일을 수행하다가 원하는 상태가 되면 그때 작업을 실행한다. 

: A method to stop what it is doing and immediately request a pre-defined service

: Has a chance to execute other programs during 

 

 

- Interrupt Implementation 

 

- 하드웨어 : CPU가 시그널을 받을시, 

 -> 현재하고있는 일을 중단 -> 하던일을 저장 -> Interrupt vector table ( Interrupt에 맞는 코드를 수행 ) -> Jump to the interrupt service routine 

728x90