본문 바로가기
컴퓨터 지식

(운영체제,OS) 프로세스 관리

by LiveData 2018. 12. 7.
반응형

  • 커널 고장=충돌 오류정보가 충돌 덤프에crash dump에 저장된다.

운영체제는 프로그램을 사용자에게 실행하는 것을 제공합니다.


1.  User interface

2.  프로그램실행

3.  I/O 연산 

4.  파일 시스템 조작 :읽고쓰고, 만들고 지우고 찾고

5.  통신 : 정보교환

6.  에러감지

7.  자원할당 : 여러 프로세스들에게

8.  회계 

9.  보호 보안




명령어 해석 - >쉘같은


system call : API로 접근

system call 보다 API로 하는 이유는 :  

  1. 프로그램의 호환성
  2. 시스템콜의 동작을 알필요 없고 운영체제가 무엇을 해줄 것인가만 이해.


 시스템콜은 실제 프로그램 호출은 좀 더 자세한 명세가 필요하고 프로그램상에서 작업하기가 Api보다 어렵다.

 system call interface 는 숫자로 인덱스 테이블을 만들어 유지한다.





매개변수 전달방법 

  • 매개변수를 레지스터 내에 전달
  • 변수가 많을경우 메모리내의 블록이나 테이블에저장
  • 스택에 넣어질수 있고 운영체제에 꺼내짐






시스템 호출의 5가지 유형

  • Process Control  프로세스 제어
  • File Manipulation 파일조작
  • Device Management 장치 관리
  • Information Maintenance 정보 유지
  • Communication 통신



공유되는 데이터의 일관성을 보장하기위해 운영체제는 프로세스가 공유데이터를

잠궈 다른프로세스의 접근을 막을 수 있다.



멀티 태스킹 -fork로 프로세스 생성







시스템 프로그램

  • 파일관리
  • 상태정보
  • 파일변경
  • 프로그램밍 언어지원
  • 프로그램 적재와 실행
  • 통신






MS DOS

  • 계층이 나누어지지 않음
  • UNIX 하드웨어의 기능을 제한


kernel mode or user mode

  • 계층적 방식으로 층을 나누었다. 
  • 장점 : 구현과 디버깅의 간단함.
  • 단점 : 여러 층을 적절히 정의 해야한다. 효율성이 낮음






마이크로시스템(Microkernels) 구조

  • 클라이언트 프로그램을 사용자공간에서 통신설비제공
  • 클라이언트 프로그램이 파일서버와 상호작용하여 접근
  • 장점: 운영체제의 확장이 용이, 하드웨어 이식이 쉽다. 보안성와 신뢰성 제공
  • 단점 : 가중된 시스템 동작 오버헤드 때문에 성능감소




Modules

  • 각각의 부분은 분리되어 있다.
  • 커널의 각부분에 인터페이스를 제공 
  • 모듈은 핵심 기능만, 모듈의 적재방법과 어떻게 통신하는지 메시지 전달X




안드로이드 : 수정된 리눅스 커널 모델






디버그 

  • 오류를 발견하고 고치는 일, 성능 조정도 포함 
  • 오류 정보를 로그파일에 기록, 메모리를 캡쳐한 코어덤프(core dump)
  • 코어덤프는 차후 분석을 위해 파일로 저장
  • 병목현상을 잘 알아야함. 추적은 동작의 오류를 발견하는데 도움을줌.







Firmware ROM 

  • boot code를 초기화에 사용된다.

  • 작은 크기의 코드가 커널을 찾아주어 주메모리에 적재하고 커널을 실행

  • 레지스터는 미리 지정된 메모리 위치를 가르키게 되고 실행, bootstrap 프로그램 존재

  • RAM은 시작시 상태를 ROM안에 저장

  • 자주변경 될때 bootstrap은 펌웨어 안, 운영체제는 디시크 안(boot disk)

  • bootstrap loader.







반응형