티스토리 뷰
1. 다음 중 프로세스에 관련된 설명으로 알맞은 것은? (정답: ①)
① 최초의 프로세스인 init은 PID 번호가 1이다.
② 리눅스 부팅 시에 발생하는 프로세스는 exec 방식이다.
③ 하나의 프로세스가 다른 프로세스를 실행하기 위한 방법에는 inetd와 standalone 방식이 있다.
④ inetd 방식으로 관리되는 서비스들은 항상 메모리에 상주한다.
② 리눅스 부팅 시에 발생하는 프로세스는 Swapper(PID 0번) 방식이다.
③ 하나의 프로세스가 다른 프로세스를 실행하기 위한 방법에는 fork와 exec 방식이 있다.
④ inetd 방식으로 관리되는 서비스들은 서비스 요구가 있을 때만 메모리에 상주한다.
inetd : 다른 데몬들을 제어, 연결하는 역할을 하는 데몬으로, 필요한 경우에만 메모리에 적재되어 실행
standalone : 독립적으로 실행되며, 항상 메모리에 상주하여 서비스 요청이 있을 때 바로 응답
fork : 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식으로, 새로운 메모리 할당 필요
exec : 호출하는 프로세스가 새로운 프로세스로 변경되는 방식으로, 메모리 할당 필요없음
2. 다음에서 설명하는 내용으로 알맞은 것은? (정답: ②)
원래의 프로세스를 새로운 프로세스로 대체하는 형태로 호출한 프로세스의 메모리에 새로운 프로세스의 코드를 덮어씌워 버린다.
① inetd
② exec
③ fork
④ foreground
inetd : 다른 데몬들을 제어, 연결하는 역할을 하는 데몬으로, 필요한 경우에만 메모리에 적재되어 실행
exec : 호출하는 프로세스가 새로운 프로세스로 변경되는 방식으로, 메모리 할당 필요없음
fork : 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식으로, 새로운 메모리 할당 필요
foreground : 화면에서 실행되는 응용프로세스로 사용자와 상호작용함
↔ background : 실행은 되지만 화면에 나타나지 않고 실행되는 것이므로 사용자의 입력에 관계없이 수행이 가능함
3. 다음에 해당하는 내용으로 알맞은 것은? (정답: ②)
[ihd@www ~]$ find / -name -type d 2>/dev/null > dir.txt &
[1]6924
① foreground process
② background process
③ inetd process
④ standalone process
백그라운드 작업 실행시 명령어 뒤에 '&' 붙임
foreground : 화면에서 실행되는 응용프로세스로 사용자와 상호작용함
background : 실행은 되지만 화면에 나타나지 않고 실행되는 것이므로 사용자의 입력에 관계없이 수행이 가능함
inetd : 다른 데몬들을 제어, 연결하는 역할을 하는 데몬으로, 필요한 경우에만 메모리에 적재되어 실행
standalone : 독립적으로 실행되며, 항상 메모리에 상주하여 서비스 요청이 있을 때 바로 응답
4. 다음 중 사용 중인 배시셸의 NI값을 확인할 때 사용하는 ps 옵션으로 알맞은 것은? (정답: ④)
① -N
② -n
③ -L
④ -l
NI: 프로세스 속성값 중 nice 우선순위를 보여줌
-A : 모든 프로세스를 보여줌
-N : -A 옵션과 비슷하나, ps 명령을 위해 실행한 ps 프로세스만 제외하여 보여줌
-n : 결과 변경하는 옵션으로, 지정한 시스템 이름 리스트 파일을 사용
L : 모든 포맷 지시자를 보여줌
-l : 자세한 정보 출력, 프로세스 우선순위 값과 관련된 RIP와 NI 값 확인 가능
5. 다음 그림에 해당하는 명령으로 알맞은 것은? (정답: ④)
① ps
② pstree
③ jobs
④ top
%CPU 내림차순으로 정렬된 프로세스 목록
ps : 현재 실행 중인 프로세스의 상태
pstree : 실행 중인 프로세스를 트리구조로 보여줌
jobs : 작업이 중지된 상태, 백그라운드로 진행 중인 상태, 변경되었지만 보고되지 않은 상태 등 표시
top : 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인
6. 다음 중 프로세스 우선순위 변경에 사용되는 NI 값의 범위로 알맞은 것은? (정답: ①)
① -20~19
② -20~20
③ -19~19
④ -19~20
NI값의 범위는 -20~19
-20 : 가장 높은 우선순위를 가짐, CPU를 많이 사용하도록 스케줄링
19 : 가장 낮은 우선순위를 가짐, CPU를 덜 사용하도록 스케줄링
7. 다음 그림과 같은 상황에서 renice 명령을 실행 시에 적용되는 bash 셸의 NI 값으로 알맞은 것은? (정답: ②)
① -15
② -10
③ 5
④ 10
renice : 기존 NI값에 상관없이 지정한 NI값을 설정
nice : 프로세스의 우선순위 변경, 증가의 경우 nice -10 7847 / 감소의 경우 nice --10 7847
8. 다음에서 설명하는 내용으로 알맞은 것은? (정답: ③)
백그라운드 프로세스의 일종으로 지속적인 서비스 요청을 처리하기 위해 계속 실행되는 프로세스이다. 보통 서버 역할을 수행하는 프로그램들이 이에 해당한다.
① inetd
② xinetd
③ daemon
④ signal
inetd : 슈퍼 데몬으로 여러 가지 다른 서비스들을 제어하고 관리한다. 필요한 경우에만 메모리에 적재되어 실행
xinetd : 리눅스 커널 2.4 버전부터 xinetd가 inetd 역할을 수행한다. 필요한 경우에만 메모리에 적재되어 실행
daemon : standalone 모드로, 항상 메모리에 상주하여 서비스 요청이 있을 때 언제든 바로 응답한다.
signal : 프로세스에게 이벤트 발생을 전달해주는 소프트웨어 인터럽트
9. 다음에서 설명하는 내용으로 알맞은 것은? (정답: ③)
새로운 프로세스를 위해 메모리를 할당받아 복사본 형태의 프로세스를 실행하는 형태로 기존의 프로세스는 그대로 실행되어 있다.
① inetd
② exec
③ fork
④ foreground
inetd : 다른 데몬들을 제어, 연결하는 역할을 하는 데몬으로, 필요한 경우에만 메모리에 적재되어 실행
exec : 호출하는 프로세스가 새로운 프로세스로 변경되는 방식으로, 메모리 할당 필요없음
fork : 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식으로, 새로운 메모리 할당 필요
foreground : 화면에서 실행되는 응용프로세스로 사용자와 상호작용함
10. 다음 중 포어그라운드 프로세스를 백그라운드 프로세스로 전환하기 위해 사용하는 인터럽트 키 조합으로 알맞은 것은? (정답: ④)
① ctrl + \
② crtl + C
③ ctrl + D
④ ctrl + Z
foreground에서 background로 전환 시 먼저 실행 중인 작업을 일시 중지시킨 후(ctrl+Z), bg 명령을 수행한다.
11. 다음에서 설명하는 내용으로 알맞은 것은? (정답: ①)
필요한 서비스이나 자주 사용하지 않는 서비스들을 관리할 때 유용한 방법으로 특히 메모리 관리에 효율적이다.
① inetd
② standalone
③ fork
④ exec
inetd : 다른 데몬들을 제어, 연결하는 역할을 하는 데몬으로, 필요한 경우에만 메모리에 적재되어 실행
standalone : 독립적으로 실행되며, 항상 메모리에 상주하여 서비스 요청이 있을 때 바로 응답
fork : 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식으로, 새로운 메모리 할당 필요
exec : 호출하는 프로세스가 새로운 프로세스로 변경되는 방식으로, 메모리 할당 필요없음
12. 다음 그림에 해당하는 명령으로 알맞은 것은? (정답: ②)
① ps ② pstree ③ jobs ④ top
ps : 현재 실행 중인 프로세스의 상태
pstree : 실행 중인 프로세스를 트리구조로 보여줌
jobs : 작업이 중지된 상태, 백그라운드로 진행 중인 상태, 변경되었지만 보고되지 않은 상태 등 표시
top : 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인
13. 다음 중 백그라운드로 실행 중인 프로세스를 확인하는 명령으로 알맞은 것은? (정답: ④)
① bg
② signal
③ nohup
④ jobs
bg : 현재 실행 중인 프로세스를 백그라운드 작업으로 전환
signal : 프로세스에게 이벤트 발생을 전달해주는 소프트웨어 인터럽트, 특정 프로세스가 다른 프로세스에게 메시지를 보낼 때 사용
nohup : 터미널 창이 닫혀도 실행 중인 프로세스를 백그라운드 프로세스로 실행
jobs : 작업이 중지된 상태, 백그라운드로 진행 중인 상태, 변경되었지만 보고되지 않은 상태 등 표시
14. 다음 그림과 같은 상황에서 nice 명령을 실행시에 적용되는 bash 셸의 NI값으로 알맞은 것은? (정답: ③)
① -15
② -10
③ 5
④ 10
nice : 프로세스의 우선순위 변경
-10 은 증가로 -5 + 10 = 5
15. 다음 중 작업 중인 터미널이 닫혀도 실행 중인 프로세스를 백그라운드 프로세스로 작업될 수 있도록 해주는 명령으로 알맞은 것은? (정답: ②)
① nohup tar cvf source.tar /opt/src
② nohup tar cvf source.tar /opt/src &
③ bg tar cvf source.tar /opt/src
④ bg tar cvf source.tar /opt/src &
nohup : 터미널 창이 닫혀도 실행 중인 프로세스를 백그라운드 프로세스로 실행, 명령어 뒤에 '&' 명시해야 함
bg : 현재 실행 중인 프로세스를 백그라운드 작업으로 전환
16. 실행 중인 작업의 상태가 다음과 같을 때 Suspend(Stopped) 상태인 작업번호 2번인 프로세스를 다시 메모리에 적재하여 실행하는 방법으로 틀린 것은? (정답: ④)
[1]- Stopped tail -f /var/log/dmesg
[2]+ Stopped tail -f /var/log/syslog
① fg
② bg 2
③ fg 2
④ fg 1+1
fg, bg 모두 메모리에 적재시킬 수 있으며, +로 표시된 프로세스는 bg/fg 명령어 수행시 default로 수행될 프로세스를 뜻함
fg : 현재 실행 중인 프로세스를 포그라운드 작업으로 전환
bg : 현재 실행 중인 프로세스를 백그라운드 작업으로 전환
+ : fg나 bg 명령어를 실행할 때 가장 먼저 수행하게 될 프로세스
- : 현재 진행중인 job이 끝나면 바로 다음에 수행될 프로세스
17. 다음 중 프로세스에 관한 설명으로 틀린 것은? (정답: ④)
① init는 PID가 1이다.
② exec는 원래 프로세스의 메모리에 새로운 프로세스의 코드를 덮어씌운다.
③ PPID는 부모 프로세스이다.
④ 하나의 프로세스가 다른 프로세스를 실행하기 위해 fg와 bg를 사용한다.
④ 하나의 프로세스가 다른 프로세스를 실행하기 위해 fork와 exec를 사용한다.
fg : 현재 실행 중인 프로세스를 포그라운드 작업으로 전환
bg : 현재 실행 중인 프로세스를 백그라운드 작업으로 전환
fork : 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식
exec : 호출하는 프로세스가 새로운 프로세스로 변경되는 방식
18. 실행 중인 프로세스의 정보를 트리 구조로 출력해 주며, 각 프로세스 ID 값을 출력하는 명령어로 알맞은 것은? (정답: ④)
① pstree -a
② ps -tree -h
③ ps -tree -n
④ pstree -p
ps : 현재 실행 중인 프로세스의 상태
pstree : 실행 중인 프로세스를 트리구조로 보여줌
pstree -a : 명령행 인자를 포함한 정보를 트리구조에 표시
pstree -p : 프로세스 ID 표시
19. 다음 중 프로세스의 우선순위와 가장 관련이 없는 명령어는? (정답: ②)
① ps
② pstree
③ top
④ nice
ps : 현재 실행 중인 프로세스의 상태
pstree : 실행 중인 프로세스를 트리구조로 보여줌
top : 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인
nice : 프로세스의 우선순위 변경
20. 다음 중 nohup 명령어에 대한 설명으로 틀린 것은? (정답: ②)
① 사용자가 로그아웃하거나 작업 중인 터미널 창이 닫혀도 실행 중인 프로세스를 백그라운드 프로세스로 작업될 수 있도록 해주는 명령이다.
② 실행한 명령을 자동으로 백그라운드로 보내지 않고, 사용자가 명령행 뒤에 '&&'를 명시해야 한다.
③ 실행 중인 프로세스의 표준 출력과 에러는 'nohup.out'이라는 파일을 생성하여 기록한다.
④ 작업 디렉터리에 쓰기가 불가능할 경우 '$HOME/nohup.out' 파일을 자동으로 생성하여 기록한다.
② 실행한 명령을 자동으로 백그라운드로 보내지 않고, 사용자가 명령행 뒤에 '&'를 명시해야 한다.
21. 다음 ( ) 안에 들어갈 내용으로 알맞은 것은? (정답: ③)
프로세스는 크게 두 가지로 나눌 수 있는데, 사용자의 입력에 관계없이 실행되는 (ⓐ) 프로세스와 명령 입력 후 수행종료까지 기다려야 하는 (ⓑ) 프로세스가 있다.
① ⓐ Background ⓑ Frontground
② ⓐ Frontground ⓑ Background
③ ⓐ Background ⓑ Foreground
④ ⓐ Foreground ⓑ Background
foreground : 화면에서 실행되는 응용프로세스로 사용자와 상호작용함
background : 실행은 되지만 화면에 나타나지 않고 실행되는 것이므로 사용자의 입력에 관계없이 수행이 가능함
22. 다음 중 tail 명령어를 백그라운드 프로세스로 실행하여 멀티태스킹을 수행할 때 사용된 예로 알맞은 것은? (정답: ②)
① tail -f /var/log/syslog >>./a.log && tail -f /var/log/dmesg >>./b.log &&
② tail -f /var/log/syslog >./a.log & tail -f /var/log/dmesg >>./b.log &
③ tail -f /var/log/syslog >./a.log && tail -f /var/log/dmesg >>./b.log &&
④ tail -f /var/log/syslog &&./a.log | tail -f /var/log/dmesg &&./b.log |
백그라운드 실행시 명령어 끝에 & 추가해야 함
23. 다음 중 메모리에 탑재되어 작업 중인 프로세스를 일시적으로 중지시키는 것을 의미하는 것으로 알맞은 것은? (정답: ④)
① Halt
② Hold
③ Boot
④ Suspend
Halt : 시스템 종료 명령어
Suspend : 메모리에 탑재되어 작업 중인 프로세스를 일시적으로 중지시키는 명령어
24. 다음 중 fg 명령을 실행했을 경우 다시 실행되는 작업으로 알맞은 것은? (정답: ②)
[1] Stopped tail -f /var/log/dmesg
[2]+ Stopped tail -f /var/log/syslog
[3]- Stopped tail -f /var/log/kern.log
① tail -f /var/log/dmesg
② tail -f /var/log/syslog
③ tail -f /var/log/kern.log
④ Stopped tail -f /var/log/dmesg
fg : 현재 백그라운드로 실행 중인 프로세스를 포그라운드로 전환
+ : fg나 bg 명령어를 실행할 때 가장 먼저 수행하게 될 프로세스, 가장 최근에 수행한 작업을 의미함
- : 현재 진행중인 job이 끝나면 바로 다음에 수행될 프로세스
25. 다음 ( ) 안에 들어갈 내용으로 알맞은 것은?
Standalone 방식과 init 방식이 있으며, 주기적이고 지속적인 서비스 요청을 처리하기 위해 계속 실행되는 프로세스로써 백그라운드로 실행되는 것을 ( )(이)라고 한다. 리눅스에서는 서버 역할을 하는 프로그램들이 이에 해당된다.
① Supervisor
② Controller
③ Daemon
④ Processor
Supervisor : 프로세스를 모니터링하고 제어할 수 있게 하는 클라이언트/서버 시스템
잘못된 내용이 있다면 댓글로 남겨주시면 감사하겠습니다:)
'프로그래밍' 카테고리의 다른 글
[LINUX] tar 관련 리눅스마스터 기출문제 풀이 (2) | 2021.06.11 |
---|---|
프로비저닝(Provisioning)의 개념과 종류 (0) | 2020.09.03 |
[DB] DBCP란? (사용이유 및 고려사항) (0) | 2020.08.26 |